8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
One of the biggest problems with traditional development is technical debt. As the project continues, new development slows as problems and bug fixes crop up. Near the end of the timeline, teams are spending more time fixing things and less time developing new code. As such, the pace for new features is drastically lower than near the beginning of the project.
Agile avoids this by having all new features developed and debugged within each sprint. At the end of a sprint, new features are fully developed, tested, and shipped to customers. Problems and bugs aren’t postponed until later in the process, they are handled immediately. This gives a pace that a Scrum team can sustain indefinitely. The release of new features stays mostly consistent for the entire life of the project. For developers, this means developing and debugging almost concurrently. Instead of writing new code and coming back to it months later once the code has reached testing, they fix problems within days or weeks. As soon as the developers pass developed features to be tested, other roles on the Scrum team begin looking at the features and testing them. This reduces the total amount of research developers must do to remember what code does and how it works.
9. Continuous attention to technical excellence and good design enhances agility.
The mindset of waterfall development is to plan out everything at the beginning of a project and then execute. Once the design is set, that is how the entire future of the product will work. Problems come up with this framework when developers discover that the planned design will not work as well as other options. However, they have committed to the original design and cannot easily deviate. Changes are very difficult to implement, and research time has been wasted.
To combat that risk, Agile development regularly revisits the design. Instead of committing to a plan at the beginning, the Scrum team takes a project piece by piece. What seems best, in the beginning, may not actually work well for all features of a product. For developers, this means less time planning for a certain architecture or design. If plans change, they can adapt quickly and go in a different direction. This wastes much less time shifting designs to a better option.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course:
Course Contents
Section 1: Agile Project Management
Section 2: Using the Agile Manifesto to Deliver Change
Section 3: The 12 Agile Principles
Section 4: The Agile Fundamentals
Section 5: The Declaration of Interdependence
Section 6: Agile Development Frameworks
Section 7: Introduction to Scrum
Section 8: Scrum Projects
Section 9: Scrum Project Roles
Section 10: Meet the Scrum Team
Section 11: Building the Scrum Team
Section 12: Scrum in Projects, Programs & Portfolios
Section 13: How to Manage an Agile Project
Section 14: Leadership Styles
Section 15: The Agile Project Life-cycle
Section 16: Business Justification with Agile
Section 17: Calculating the Benefits With Agile
Section 18: Quality in Agile
Section 19: Acceptance Criteria and the Prioritised Product Backlog
Section 20: Quality Management in Scrum
Section 21: Change in Scrum
Section 22: Integrating Change in Scrum
Section 23: Managing Change in Scrum
Section 24: Risk in Scrum
Section 25: Risk Assessment Techniques
Section 26: Initiating an Agile Project
Section 27: Forming the Scrum Team
Section 28: Epics and Personas
Section 29: Creating the Prioritised Product Backlog
Section 30: Conduct Release Planning
Section 31: The Project Business Case
Section 32: Planning in Scrum
Section 33: Scrum Boards
Section 34: Sprint Planning
Section 35: User Stories
Section 36: User Stories and Tasks
Section 37: The Sprint Backlog
Section 38: Implementation of Scrum
Section 39: The Daily Scrum
Section 40: The Product Backlog
Section 41: Scrum Charts
Section 42: Review and Retrospective
Section 43: Scrum of Scrums
Section 44: Validating a Sprint
Section 45: Retrospective Sprint
Section 46: Releasing the Product
Section 47: Project Retrospective
Section 48: The Communication Plan
Section 49: Formal Business Sign-off
Section 50: Scaling Scrum
Section 51: Stakeholders
Section 52: Programs and Portfolios