We sometimes talk (or write) as if agile software development and waterfall software development are two completely separate and different ways of building software. Yet, in reality they have much in common and it can be hard to slap a label on the process followed by any particular team.
With that in mind, here are seven key criteria that are often different among software development teams. Score your team in these areas and see where you end up. It will help determine if the process you’re using is more agile-like or waterfall-like.
The score for each criteria runs from one to ten where one is waterfall and ten is agile. Most answers will likely be in-between the end points. That’s okay. No team is likely to be a perfect 7 or a perfect 70. Be honest.
At the end you’ll find a range of scores to help you determine how your team stacks up.
1. Requirements and Scope Definition
1 – Requirements and scope are well-defined and stable. Stakeholders and end users communicate them clearly and in writing.
10 – Requirements are poorly defined, uncertain and/or subject to change at any time.
2. Stakeholder and End User Involvement
1 – Stakeholder and end user involvement are intermittent.
10 – Stakeholders and end users are available when needed.
3. Team and Process Experience
1 – Team, technology and business process are mature. Project methodology is established and documented.
10 – Team likes new challenges and embraces change. The technology or business process is new and unproven.
4. Team Communication
1 – Information exchange is formal and in writing.
10 – Information exchange is informal, open, and usually face-to-face.
5. Team Structure
1 – Departmental hierarchies are important and management is top-down.
10 – Teams are cross-functional and self-organizing.
6. Planning Approach
1 – Project planning is front-end loaded and detailed.
10 – Project planning is spread throughout the project and adjusted as needed.