Agile and Lean Performance

[article]
Summary:
Agile's focus on iterative development is undeniably effective, but that's not the whole story on why agile works. Learn why agile results in better performance and how you can use this information to achieve success in your own technology efforts.

Scrum, as evangelized by Ken Schwaber, has emerged as one of the most popular light weight frameworks intended to help guide teams in the effective implementation of agile practices. The ScrumMaster plays a leadership role in managing the performance of the development team. Part coach and part manager, the ScrumMaster sees that barriers to performance are eliminated on a daily basis. The product owner focuses on managing the product backlog (containing the requirements for the system being developed). The performance of the team can be measured in the number of items completed from the backlog. There is a lot more to consider in evaluating the performance of the team. 

My own career has focused on process improvement including implementation of configuration management (CM) best practices. The key focus in agile CM is to provide a fast and repeatable way to build, package, and automatically deploy releases. Continuous integration provides a structure for continuously building and deploying releases that make rapid iterative development fast and effective. Most Scrum teams rely upon these practices to help manage iterative development. These practices significantly help teams develop better software with fewer defects.

Agile focuses on taking a minimal approach to tracking requirements largely in response to the experience of many technology professionals who participated in fruitless efforts to track requirements that effectively changed before the development work could be completed. Agile focuses on working software over comprehensive documentation (as specified in the Agile Manifesto).

Obviously, there are times when requirements tracking is not optional, and test-driven development (TDD) can sometimes help to document the same information. TDD puts the right focus on using verification and validation to improve performance and deliver quality applications. Test cases can also be used to document requirements in a practical and reasonable way. Agile also puts the right focus on integrating testing into the automated build process. From automated unit testing in the continuous integration stream to automated functional and regression testing, TDD helps improve the effectiveness of the development team.

Dean Leffingwell describes the "agile release train" in his book Agile Software Requirements. In this book, Leffingwell discusses releasing as a continuous flow of releasing value to the users in small, frequent increments—a continuous build of value added to the marketplace. This means that you can release code often, with little fanfare.

Tags: 

About the author

Bob  Aiello's picture Bob Aiello

Technical Editor of CM Crossroads and author of Configuration Management Best Practices: Practical Methods that Work in the Real World, Bob Aiello is a consultant and software engineer specializing in software process improvement, including software configuration and release management. He has more than twenty-five years of experience as a technical manager at top New York City financial services firms, where he held company-wide responsibility for configuration management. He is vice chair of the IEEE 828 Standards Working Group on CM Planning and a member of the IEEE Software and Systems Engineering Standards Committee (S2ESC) Management Board. Contact Bob at Bob.Aiello@ieee.org, via Linkedin linkedin.com/in/BobAiello, or visit cmbestpractices.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Oct 12
Oct 15
Nov 09
Nov 09