Continuous attention to technical excellence and good design enhances agility.
A non-word in agility is technical debt. Technical debt refers to the implied cost of future reworking required due to prioritizing speedy delivery over better solutions. In other words, technical debt occurs when businesses do not solve a problem that will affect them in the future. Needless to say, technical debt slowly but surely erodes product quality and threatens the compatibility of different parts of the product/ solution.
Thanks to the iterative & incremental approach in agile ways of working, such technical debts are spotted quickly. Subsequently, technical debt can be improved upon swiftly, for example by incorporating mitigation in the next iteration. Thanks to the focus on the frequent delivery of functional increments of value (Principle 1), attention to quality is built-in in the process, for example by having a Definition of Done. In waterfall project management, sticking to the plan often becomes and end in itself, losing sight of the value that is being created for the customer. By prioritising the plan over the value, technical debt can creep in quickly. To make things worse, technical debt is subsequently passed on to the next phase in the sequential waterfall approach. This is how the negative effects of technical debt on quality may quite rapidly exponentiate through the different handoffs.
On that note, a focus on quality is not to be confused with a focus on perfection. Principle 10 elaborates how Agility is not about perfection.
Introduction to the Agile Manifesto & Part 1 – The Agile Team: Skills & Culture
Principle 1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable solutions*.
Principle 2: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Principle 3: Deliver working solution* frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Principle 4: Business people and team* must work together daily throughout the project.
Principle 5: Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Principle 6: The most efficient and effective method of conveying information to and within an agile team is real-time conversation.
Principle 7: Working solution* is the primary measure of progress.
Principle 8: Agile processes promote sustainable development. The sponsors, team*, and users should be able to maintain a constant pace indefinitely.
Principle 9: Continuous attention to technical excellence and good design enhances agility.
Principle 10: Simplicity – the art of maximizing the amount of work not done – is essential.
Principle 11: The best architectures, requirements, and designs emerge from self-organizing teams.
Principle 12: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Value 1: We value individuals and interactions over processes and tools.
Value 2: We value working solution* over comprehensive documentation.
Value 3: We value customer collaboration over contract negotiation.
Value 4: We value responding to change over following a plan.
*LEGEND:
Business Value: Business Value encompasses any deliverable, feature, or enhancement that directly contributes to customer satisfaction, employee well-being, or overall organizational success. It can encompass not only customer-facing elements but also internal enablers that improve efficiency and effectiveness within the organization.
Developers: has been exchanged by team to recognize that Agile Teams can encompass a diverse range of roles and functions beyond just software development
Iteration: An Iteration refers to a distinct phase or cycle within a development process, where a set of tasks or activities are completed in a defined timeframe. In Scrum methodology, an Iteration is known as a Sprint, typically lasting 2-4 weeks, during which a set of prioritized work items are completed.
Lead Time: Lead Time refers to the duration it takes for a task or project to move from the initial request or conception stage to its completion, including all necessary processes and steps.
MVP (Minimum Viable Product): The MVP is a basic, functional version of a product or service that includes essential features, allowing it to be deployed or released to gather early feedback from users or customers.
Software: has been replaced by solutions to account for the fact that Agility does not only apply to software development, but to any kind of value that a business offers to the customer.