When selecting a development approach, various factors must be considered, categorized into product, project, and organizational aspects.
Product, Service, or Result:
- Degree of Innovation: Predictive approaches suit well-understood and previously handled deliverables, whereas adaptive methods are better for high-innovation or unfamiliar projects.
- Requirements Certainty: Predictive methods work best with well-defined requirements. Adaptive approaches are preferred when requirements are uncertain or expected to evolve.
- Scope Stability: Predictive approaches fit stable scopes. Adaptive approaches are suitable for projects with anticipated scope changes.
- Ease of Change: Predictive methods are ideal for projects with difficult-to-manage changes, while adaptive approaches suit deliverables that accommodate changes easily.
- Delivery Options: Incremental, iterative, or adaptive approaches are aligned with projects that can be delivered in parts. Predictive methods may still be used for large projects with deliverables that can be incrementally developed.
- Risk: High-risk projects may require rigorous upfront planning and processes. Modular development and adaptive methods can also mitigate risk by incorporating changes based on ongoing learning.
- Safety Requirements: Rigorous safety requirements often necessitate a predictive approach to ensure comprehensive planning and integration of safety measures.
- Regulations: Projects in heavily regulated environments generally benefit from a predictive approach to meet documentation and compliance needs.
Project:
- Stakeholders: Adaptive methods require significant stakeholder involvement, particularly those playing key roles in prioritizing work.
- Schedule Constraints: Iterative or adaptive approaches are advantageous when early delivery of partial results is needed.
- Funding Availability: Adaptive approaches are beneficial in uncertain funding scenarios, allowing for minimal investment and iterative product development based on market response.
Organization:
- Organizational Structure: Rigid, hierarchical structures often align with predictive approaches, whereas flat structures support adaptive methods with self-organizing teams.
- Culture: A predictive approach fits organizations with a culture of detailed planning and progress measurement, while adaptive methods suit cultures that emphasize team self-management.
- Organizational Capability: Transitioning to adaptive methods requires a shift in organizational mindset, policies, and practices, aligning all levels to support agile approaches.
- Team Size and Location: Adaptive methods work well with smaller, co-located teams. Larger or dispersed teams may benefit from approaches closer to the predictive spectrum, though scalable adaptive methods are available.
Life Cycle and Phase Definitions: Project life cycles vary based on delivery cadence and development approach, and typically include phases such as:
- Feasibility: Validates the business case and organizational capability for delivering the intended outcome.
- Design: Involves planning and analysis leading to the project’s deliverable design.
- Build: Encompasses the construction of the deliverable with integrated quality assurance.
- Test: Conducts final quality review and inspections before project transition or acceptance.
- Deploy: Involves the implementation of deliverables, including transition activities and organizational change management.
- Close: Concludes the project by archiving knowledge, releasing team members, and closing contracts.
Phase gate reviews, or stage gates, are often used to ensure that phase outcomes or exit criteria are met before proceeding to the next phase, with criteria linked to acceptance, contractual obligations, or performance targets.
Sequential Life Cycle in Predictive Development
Image 1 depicts a sequential life cycle where each phase concludes before the next begins, fitting well with a predictive development approach. This model ensures systematic execution with a focus on specific tasks. However, factors like scope changes, evolving requirements, or market shifts may necessitate revisiting earlier phases, underscoring the need for flexibility within the life cycle.
Incremental Development Life Cycle
Image 2 illustrates a life cycle employing an incremental development approach, featuring three iterations of planning, design, and building. In this model, each iteration enhances the initial build by adding additional functionality, allowing for continuous improvement and refinement throughout the project. This approach supports gradual development and adaptation to evolving requirements.
Adaptive Development Life Cycle
Image 3 depicts a life cycle based on an adaptive development approach. In this model, each iteration, or sprint, concludes with a review of a functional deliverable by the customer. Key stakeholders provide feedback during this review, which is then used to update the project backlog. This updated backlog prioritizes features and functions for the next iteration, allowing for ongoing refinement and responsiveness to stakeholder needs.