agile

Conference Presentations

Agile Productivity Metrics

Enough of the stories ... Where is the quantitative proof that Agile methods like Extreme Programming (XP) deliver higher productivity and quality? Such data has been missing for years, perhaps because agile practitioners and metrics experts have never fully cooperated to crack this difficult problem. Whatever the reason, the wait is now over. Metrics expert Michael Mah will discuss how he successfully applied productivity benchmarking techniques on numerous real-world XP projects and how a company's development approach was transformed using agile methods. He'll give an overview of the projects, explain an approach to gathering "Agile Productivity Metrics," review how the data was interpreted, and show what was revealed in the time-to-market and quality numbers. Michael concludes with a glimpse of the kind of agile management and measurement that is possible-when you collect the right information.

Michael Mah, QSM Associates, Inc.
Test Then Code with Agile Inspections

It is well known that the earlier in the development lifecycle a fault is found, the less costly it is to resolve. Whether you use traditional or agile development practices, you have an opportunity to implement Agile Inspections for finding faults before the code is even written. An Agile Inspection is a lightweight process that brings the skills and outlook of professional testers into the design of software. A good precursor to formal test planning, an Agile Inspection is a way to inform developers-in a way that makes sense to them-of how you are going to test. It offers the best chance to increase the testability of software at the lowest cost. Find out from Richard Durham the prerequisites for adopting Agile Inspections, what to look for in an inspection, how to communicate findings, and approaches to encourage buy-in from management and developers.

Richard Durham, Citrix Systems Ltd
Agile Software Development: What's in it for Testers?

Agile software development methods change the ways teams work together to build software systems. Testers often are wary of what these changes will mean to them. However, experience shows that testers stand to benefit significantly from agile practices. In fact, testers who are willing to embrace agility with the rest of their project team can expect greater influence, productivity, confidence, and career growth potential. Looking at the technical, management, and social aspects of agile development, Alan Ridlehoover describes how agile methods differ from traditional software development practices. He describes what changes and what stays the same for the testing and test management roles within a project. Discover how testers can benefit when their organizations adopt agile processes and the common pitfalls many testers encounter in making the transition.

  • How agile development and traditional methods differ
Alan Ridlehoover, Microsoft
Testing Windows Registry Entries

Warning: Registry keys may be hazardous to your program's health! Registry key entries in Windows applications-visible or hidden-are often neglected by testers. A registry key entry is a program feature just like any other application function and as such needs to be validated. Michael Stahl describes why registry keys should be accorded special attention during testing and proposes a strategy for mitigating risks posed by incorrect registry key entries. He suggests a test strategy, as well as coding standards for input value and type validation, default values, regeneration, and naming rules. Michael demonstrates the use of correct and incorrect registry keys in common commercial applications.

Michael Stahl, Intel Corporation
Agile Testing of Embedded, Real-Time Systems

Until now, Agile development and testing concepts have been aimed largely at Web sites, interactive applications, and software packages where short production cycles are a must. With care, many of these same testing practices can work on embedded systems, in which long development cycles, no user interface, and regulatory requirements are the norm. Jon Hagar examines Agile testing practices you can implement within both hardware and software product domains. Learn to define the "user" for an embedded application, determine how much documentation is enough, and identify ways to perform early testing while the hardware remains in flux. Find out how to move from a more traditional embedded testing structure to embrace Agile concepts in your test practices.

Jon Hagar, Lockheed Martin
Test Driven Development - It's Not Just for Unit Testing

Test-driven development (TDD) is a new approach for software construction in which developers write automated unit tests before writing the code. These automated tests are always rerun after any codes changes. Proponents assert that TDD delivers software that is easier to maintain and of higher quality than using traditional development approaches. Based on experiences gained from real-world projects employing TDD, Peter Zimmerer shares his view of TDD's advantages and disadvantages and how the TDD concept can be extended to all levels of testing. Learn how to use TDD practices that support preventive testing throughout development and result in new levels of cooperation between developers and testers. Take away practical approaches and hints for introducing and practicing test-driven development in your organization.

Peter Zimmerer, Siemens
Let's End the Defect Report-Fix-Check-Rework-Cycle

Find out how teams transitioning to Agile practices must re-think their workflows and project metrics originally designed to handle many hundreds of defect reports that occur in typical testlast development cycles. Richard Leavitt discusses how a real-world implementation of key practices like early testing and continual integration-though not without bumps and bruises-lowered the number of open defect reports by an order of magnitude. These practices also can improve how the team communicates, reduce delays, and provide more direct measures of project status, feature progress, and release readiness.

Richard Leavitt, Rally Software Development
The Next Stop in Test Automation: Test Environment Setup

To achieve the most effective test automation, you need to go beyond automated test case creation and implement automated environment setup. In tracking the testing time spent over several projects, the Clustering group Amit Mathur worked with found that more staff time was being spent on setup than on actual testing. He discusses and demonstrates the Environment Configuration System (ECS) his group developed to automatically set up test environments and trigger automated test execution. Find out how ECS has dramatically improved the ability to automate many more manual tests. ECS employs a scripting language (Perl) and libraries for environment setup and test cases. Based on interface specifications and dependency rules, ECS bundles environment setups and test cases for complex test scenarios. Learn how you can adapt the ECS approach for your applications and environment.

Amit Mathur, VERITAS Software Corporation
Choosing the Best of the Plan-Driven and Agile Development Methods

We seem to be under a curse in our profession. Although not cast by a witch or a wizard, the curse affects us just the same. It is the curse of "either/or"-the curse that we must choose either "this" or "that" but we cannot choose parts of both. Nowhere is this more evident than in today's struggle between the adherents of the traditional "plan-driven" and newer "Agile" approaches to software development. What most overlook is that both groups want to achieve exactly the same goal: quality software that meets customer needs within the constraints of time, budget, staff, and technology. They differ only on the strategies to achieve this goal. For example, both groups agree that system requirements must be understood; their differences lie in questions of "how much of what to do and when to do it." Lee Copeland offers insights and suggestions on the methods and approaches that will be most valued on your project-control vs.

Lee Copeland, Software Quality Engineering
Transitioning to Agile Development

The Agile development movement has started to transform the software landscape. Since February 2001 when the Agile Manifesto was published, Agile development has gone past the early adopter phase and now is regularly in use by such mainstream organizations as CapitalOne, the Federal Reserve Bank, Microsoft, Sun Microsystems, and major development departments in other organizations. For Agile practices to take hold-and more importantly to be sustained-all of the dysfunctional behaviors that organizations have acquired over the past twenty years or more must be discarded-and that is not easy or fun. However, the overwhelming benefits and value of Agile development are there, and for organizations in which software is their lifeblood, the effort will be made.

Jean Tabaka, Rally Software Development

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.