The 12 principles of agile methodology guide teams to implement agile projects. These principles focus on delivering continuously the right product to the customer, with highly collaborative teams.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Satisfying the customer means delivering working software in a timely manner that adds value. The empowered team focuses on delivering working software sooner to get faster feedback. Faster feedback helps customers as well as Scrum Team to understand what to build next.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
From an Agile perspective, you embrace change to increase the chance of delivering value to the customer. It shows a positive attitude towards change. It doesn’t mean all changes are accepted but are discussed and prioritized along with current requirements.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
It refers to the capability and flexibility of delivering products frequently to the customer and helps in shortening the distance between planning and delivery. The only way to deliver value is by releasing working software else value can just be forecasted but can’t be validated.
Business people and developers must work together daily throughout the project.
Business and IT should work in close coordination and should understand each other. It helps the two sides better understand each other and leads to more productive work. There is nothing like business agility and technical agility because agility can’t be achieved without collaboration between business and IT.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
In short no micromanagement, Self-directed and self-reliant teams are promoted in an agile structure. It doesn’t mean that work is not monitored; it is still monitored with a trust factor among the team members
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Walking up to the team’s desk and getting an answer to your question is appreciated rather than sending emails and waiting for a reply to something that needs immediate attention. It helps in creating a collaborative environment.
Working software is the primary measure of progress.
Is the software working correctly? Progress for a team is not measured by moving tasks to “Done”, but by the success of software that is to be delivered as part of the project.
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Short sprints help in achieving value in a shorter duration and keep teams motivated. A project with indefinite/long duration leads to burnout. Hence focus on choosing the right pace for the team, members.
Continuous attention to technical excellence and good design enhances agility.
Along with development, the focus should also be to reduce technical debts and to reduce any redundant code. The development team shouldn’t wait to clean the code but do it continuously.
Simplicity–the art of maximizing the amount of work not done–is essential.
Keeping things as simple as possible and avoiding unnecessary complexity, helps to streamline the process. Focus on what is essential to create value. The team should focus on building high valued items and not everything. Saying YES to everything including low-value items may complicate the system.
The best architectures, requirements, and designs emerge from self-organizing teams.
The team decides the architecture and design system rather than doing someone outside the team. The design should emerge over the period so better to avoid having big design up-front.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Inspect and Adapt: A self-organized team reflects on how to become more effective, tunes and adjusts its behavior accordingly. Retrospective meeting in scrum framework helps in collating the lessons learned during the project and actions are taken thereon
Agile principles help in aligning agile development with business needs, these principles are customer-focused while keeping a holistic picture of a team in view. Keep a tab on these principles o monitor the health of your agile team.
Find Our Upcoming Trainings
Naveen is a Lean-Agile Coach, Professional Scrum Trainer (PST) and Internationally acclaimed Speaker in many Conferences and Agile events. He has over 22 years of experience in multiple domains and he is a Certified LeSS Practitioner (Large-Scale Scrum) and one of the early adopters of DevOps practices and teaches DevOps culture around the Globe.