Agile Sponsors
Featured Whitepapers
- Learn Ways to Keep Schedules and Costs in Line With Requirements Change Management
- Java Deployments in an Enterprise Environment
- Challenges & Characteristics of Enterprise Continuous Integration
- Build Release Plans That Deliver Customer Value!
- Improving Traceability and Auditability Across the Development Lifecycle
|
| As more and more people move towards adoption of Agile practices, they are looking to the Agile community for guidance and advice on how to adopt Agile successfully. Unfortunately many of the questions they have such as "Where do I start?" "What specific practices should I adopt?" "How can I adopt incrementally?" and "Where can I expect pitfalls?" are not adequately answered despite the fact that many of us know the answers to these questions. There are currently three types of answers to these questions: 1) read so-and-so's methodology book that refers to an entire process (usually a cohesive set of practices); 2) read articles A, B, and C which are ‘war stories' of companies who have successfully adopted; or 3) a very honest "Well it really depends on your team's specific circumstances, you might want to hire some consultants to help you out (usually this is said by a consultant)." We can do better than that as a community! In this article I present one way to share our knowledge that is more specific than full methodologies and processes, more general than war stories, and will help new Agile adopters get beyond "It Depends!"
Figure 1: Relating Agile practices to Business Value
What we see in this table is a set of business values and the corresponding clusters of practices and individual practices that help improve that set. Doesn't this seem useful to a team adopting Agile methods?
And here are some other smells that are not directly related to business value but can be easily mapped to the values important to the company:
If the above mentioned smells are mapped to Agile practices, couldn't they be used to decide which practices should be adopted and why? Couldn't they also be used to figure out whether a practice is effective? For example, the team has decided to adopt Automated Developer Tests to address the smell of ‘Quality delivered to customer is unacceptable.' After a release they should verify that the quality being delivered to the customer has improved. If the quality has not improved, then the team should either modify the practice or drop it because it did not have its intended effect. Practices should only be adopted for the business value they bring.
All of the above questions matter. All of the above questions should be asked when a team decides to adopt a development practice. Some of the answers to these questions are far from obvious - that's where consultants like me make their living. However, most of these questions can be succinctly answered when a practice is well documented in pattern format - or so I claim.
Adoption should be iterative and always goal-oriented. The objective is to alleviate the Smells currently present by adopting and adapting the applicable Agile practices. The patterns are starting points. Use them with a modicum of disrespect. As you gain experience, adapt the practices to fit your needs. About the Author Amr Elssamadisy is currently a Principal Consultant at Valtech (www.valtech.com). He considers himself a developer but has also worked for consulting companies since 1999, so maybe an outgoing, people-oriented, developer is a better description. He has been working professionally as a software developer, architect, manager, consultant, etc... for over 12 years helping build software systems in C++, J2EE, and .NET. His first agile development project was a large project XP effort in 1999 where he had a chance to work and learn from some of the best in the field. Since then he has lead, participated, and guided teams in several large and small agile development projects in both the .NET and J2EE worlds. {mos_sb_discuss:10}
Set as favorite
Bookmark
Email this
Hits: 7164 Comments (0)
|
| < Prev | Next > |
|---|
Agile Marketplace - Announcements and Special Offers
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now


