Principles
Agile principles are concretization of agile values. Agile manifesto lists 12 principles. These
principles are iterated in the form of assertive statements.
Software development and maintenance is a learning
experience where every participant contributes and learn something new. In
customers’ perspective these new leanings result in new features and changes in
existing ones. From devTeam’s perspective these learnings result in new insight
in software development and maintenance.
We already know that we live dynamic environment whether it
is business or technical aspect. Change is the only constant.
The first principle talks about keeping customer happy, so
how to keep him happy in such a dynamic environment?
Help your customer to maintain or acquire competitive edge
by keeping changes flow in software development and maintenance cycle even late
in game. How to do it?
Keep size of increment small in each delivery cycle. Of
course, make deliveries frequently.
But never confuse, welcoming changes with chaos. Maintain a
strict limit on WIP. Welcoming changes does not mean lack of vision or
coherence but helping customer to focus on limited number of changes at a given
point of time.
In scrum,
kanban, and devOps frameworks, this principle is reflected in following
practices:
- Small sprint duration
- Continuous flow
- Customer is always present for the devTeam
- Daily standup
- Demo in the end of sprint
- Keeping WIP small
- Ambassador user
- Vertical slicing of user stories
- Enough architecture
- Continuous product backlog grooming/refinement
efforts