Short time to market and agile methodology (Scrum + Agile) having the trending framework for software development projects. In this article we define the decision-making model for software or product development using the agile and waterfall. Every project is inclusive of the “Project Management Triangle” with (Scope, Cost, Time) and other some categories.
Agile method can be applied when the following properties apply-
- Lack of decomposability of the overall result into separate deliverables.
- One-shot game: Frequent changes or a step-by-step, iterative approach to the solution are not possible from a legal or technical point of view or are associate with unreasonable costs.
- Example: Construction of a house (adding a cellar in an ongoing project after the first two floors have already built) or the geographical location of a production facility.
- Criticality of the project: Operational risks prevent an iterative, agile approach.
- Example: Solutions in the field of process control or real-time applications and safety critical systems.
The focus is mainly on implementing and executing the initial plan according to the goal-and-plan oriented manner as precisely as possible.
- Fixed roles and processes with clear responsibilities
- Stable, systematic, and documented planning
- Predictive capacities of the team members
- Measurability of the project progress via milestones
- Content Dependencies can be considered from the start.
- Reliable estimation of time and budget
- Option to achieve high efficiency by planning.
- In-correct planning due to abstract specification
- Difficulty to formulate all requirements in detail at the beginning of the project.
- Correction of errors is often cost-intensive due to complex plans.
- High planning and documentation effort at the beginning
- No ongoing feedback from customers or users
- Less flexibility due to the rigid sequence of project phases
Scrum is a iterative based product development which focuses on improving and adapting the process to be more effective. It requires a intense coordination and communication between the development and product or project team. One of the main reasons for adopting this method because of the general requirements from the user or customer in the early project phases.
- Fast recognition of changed requirements.
- Fast identification of errors due to shorter development cycles
- Ability to react flexible and quick to changing requirements.
- Lower risk of faster developments
- The continuous optimization of the project processes
- High motivation of team through personal responsibility
- No limitation in the process of finding a solution.
- An iterative approach does not fit the corporate culture.
- Success is strongly dependent on the team’s self-organization.
- Team members should work full time on the project.
- Limited communication of large and distributed teams
- Iterative development may require more time and budget.
- High-capacity requirements of the users for testing
However, for capturing the benefits of both the methods. Hybrid model (Waterfall + Agile) which includes waterfall in the initial phases and sub-modules include agile methods.
Decision Model: –
Top 5 criteria considered for a appropriate approach to a project.
- Project Scope
- Organizational context
- Characteristics of the project team
- Time Requirements
- Budget Requirements
Highest score best fit for a waterfall approach, low score indicated agile approach. (The scoring system can be designed by the development organization)
|Scope, Quality, and risks||Low dynamic and low uncertainty of customer requirements||Scope and quality requirements are complete, detailed, Stable, and provided at the early stage of the project. Novelty level/ level of innovation is low. The project does not require very creative work, necessitating frequent changes in scope. Level of customer involvement/engagement needed is low. Level of complexity is fully understood by the project team. Risks are fully captured at the early stage of the project.|
|High visibility of customer requirements||Customer and user requirements are in a written form and signed at early stage. Requirements can be clearly prioritized by customers, e.g. in categories “must have”, “Could have” and “will not have”. There is no highly demonstrable user interface available. Documentation of approach and results is important.|
|Large size and high complexity of the product||High Complexity of the end product, especially with regards to interconnections between sub-projects/parts of the overall solution. Interdependencies of deliverables: Against the background of the project content, each phase can be started only once the preceding phase has been completed. Solution cannot be implemented by incremented by increments due to nature of the project. Solution is aimed at delivering re-usable components. Approved documentation is required.|
|Time||Critical time-to-market||Timescale is fixed: Planned end date must be strictly adhered to|
|Reliable and detailed prediction||Prediction of the project duration is required.|
|Long duration project||Length of release cycle is relatively long|
|Budget||Detailed and reliable estimation||Fixed cost and effort estimate is demanded by the customer (Cost cap).|
|Outsourcing of project activities||Fixed price-based outsourcing is planned to reduce the risk of miscalculation|
|Easy estimation of efforts/costs||Potential future changes of scope do not result in high costs.|
|Organization||Organization type and culture||Characterized by hierarchical, central control (in contrast to a collaborative matrix organization/ no central control). Team is not empowered by the product owner to make decisions.|
|Level of stakeholder involvement||Low level of stakeholder engagement as it contrasts with the culture of the organization. Low level of customer collaboration, commitment, and domain knowledge: A quick feedback cycle from stake holders cannot be guaranteed on a constant basis. There is no clear ownership of projects outcome. Senior users are not committed to providing end user involvement. Organization cannot accommodate the frequent delivery of increments.|
|Cultural values of the organization||Focus on monetary success. Structure and order are given a high value of their own. Adherence to milestones and gate reviews are assigned a high significance. High necessity of documentation of deliverables. People feel comfortable and empowered by having their roles defined by clear policies and procedures. Subordinate values include communication, Collaboration, self-organization / many degrees of freedom, feedback and courage for innovative solutions.|
|Project Team||Personality Characteristics||Low flexibility towards scope (ability, willingness). Team is not capable of self-organization. Low level of collaboration, communication, adaption, testing and learning. Not willing to validate their work to the best of their ability and improve their processes. Focus is on communication via documents in contrast to direct communication via meetings, working in one room.|
|Knowledge and experience||Low average technical/ functional/ domain skill and experience level with regards to project scope. Team members’ tenure on the project is short. Low skill level regarding the agile methods. Non-acceptance and low motivation to apply/learn agile methods.|
|Size and geographic distribution||Size of team is large (>10), and team members work in geographically dispersed locations (across offices, sites, countries, and cultures), thereby resulting in many interfaces and high coordination effort. Team-internal personal relationships are weakly developed. Effectiveness of communication is low.|