Scrum and Agile Principles for Large-Scale Product Development
When planning to employ over two hundred developers on a new, critical product, it is crucial to establish an overall architecture and cohesive design that aligns with Scrum and Agile principles. Here’s an analysis of different approaches and the best choice among them.
Exam Question
Management has planned for over two hundred developers to work on a new, critical product. Prior to the developers being formed into teams and beginning to develop the software, an overall architecture and cohesive design is needed. Which of the following approaches employs Scrum and Agile principles most effectively?
(choose the best answer)
A. Form a cross-cutting team of architects and designers. This team will serve as consultants to the other Scrum Teams as integration questions arise during development.
B. Form one or two teams of developers to create a foundation that represents the non-functional requirements and also several high-value functions. Then increase the number of teams using a shared architecture.
C. Design and instantiate an appropriate Service Oriented Architecture (SOA) before beginning feature development. Train the Developers on how to consume the shared SOA in their feature development. Then begin feature development Sprints.
D. Have the designers and developers create an appropriate design and architecture. Include design models that the developers will use as a reference for their development work.
Correct Answer
B. Form one or two teams of developers to create a foundation that represents the non-functional requirements and also several high-value functions. Then increase the number of teams using a shared architecture.
Explanation
Correct Answer
B. Form one or two teams of developers to create a foundation that represents the non-functional requirements and also several high-value functions. Then increase the number of teams using a shared architecture:
This approach aligns with Agile principles by starting small and iterating. Initial teams create a strong foundation and set patterns that subsequent teams can follow. It allows for learning and adaptation early on, reducing the risk of large-scale rework. This incremental approach also promotes early delivery of valuable features and integrates feedback quickly.
Why the Other Options Are Less Effective
A. Form a cross-cutting team of architects and designers. This team will serve as consultants to the other Scrum Teams as integration questions arise during development:
While having a consulting team can provide guidance, it can lead to a disconnect between the architecture/design team and the development teams. This approach might not fully embrace the iterative and incremental nature of Agile, where feedback loops and direct involvement of developers are crucial.
C. Design and instantiate an appropriate Service Oriented Architecture (SOA) before beginning feature development. Train the Developers on how to consume the shared SOA in their feature development. Then begin feature development Sprints:
Pre-defining an SOA and training developers before starting feature development can lead to a waterfall-like approach. Agile promotes evolving design and architecture as part of the development process, enabling continuous improvement and adaptation based on real-time feedback and discoveries.
D. Have the designers and developers create an appropriate design and architecture. Include design models that the developers will use as a reference for their development work:
While including developers in the design process is beneficial, this approach can become too rigid if it over-emphasizes upfront design. Agile encourages adaptive planning and iterative progress, where design evolves based on ongoing learning and changes.
Benefits of the Chosen Approach
- Incremental and Iterative Development: Start small and scale up based on validated learning and established patterns.
- Early Value Delivery: Deliver high-value functions early and often, providing opportunities for feedback and improvement.
- Shared Understanding: Initial teams create a shared architecture that others can build upon, promoting consistency and coherence in the overall product.
Relevance to the SPS Exam
Understanding how to effectively scale Scrum and Agile principles in large-scale product development is essential for the SPS exam. It demonstrates the ability to apply theoretical knowledge to practical scenarios involving multiple teams and complex dependencies.
Key Takeaways
- Start with a small number of teams to establish a strong foundation.
- Incrementally increase the number of teams using shared architecture.
- Focus on delivering high-value functions early to gather feedback and improve.
Conclusion
Employing Scrum and Agile principles effectively in large-scale product development involves starting small, iterating, and scaling based on validated learning. For more information on preparing for the SPS exam, visit our Scaled Professional Scrum SPSâ„¢ Exam Prep.