Thursday, March 10, 2011

Agile Principle 1: Satisfy the Customer

Let's take a look at the first underlying principle of the agile manifesto:
"Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."
What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

  • "Our" - who is us? At least a bunch of people forming some kind of team. We can't define this in more detail, so let's skip the answer for now and analyze some more first.
    Values: Communication
    Principles: Diversity, Accepted Responsibility, Empower the Team
    Practices: Whole Team
  • "highest priority" - the team should not be distracted and keep its focus on the most important things. To help the team not to be distracted, it should be guarded in a secure environment so that no external influences are able to grab its attention.
    Values: Commitment, Focus
    Principles: Limit work in progress, Economics
    Practices: Product Backlog
  • "satisfy" - how can the team know if its results are satisfying? A definition of "done" and passing acceptance tests of every requirement of the software are necessary for the team.
    Values: Commitment, FocusPrinciples: Active User Involvement, Business Value, Quality, Failure
    Practices: Definition of Done, Real Customer Involvement, Acceptance Tests, Sprint Review
  • "the customer" - who is this? In an ideal world this customer is all different kinds of users of the resulting software. As it is not always possible to have all these personas on board, the customer could also be represented by a Product Owner.
    Values: Communication, Respect
    Principles: Active User Involvement
    Practices: Real Customer Involvement
  • "early delivery" - the first results of the wanted software have to be given to the users as soon as possible so that they can give their feedback and generate more insights about what they really need and want.
    Values: Feedback
    Principles: Frequent Delivery, Incremental
    Practices: Incremental Deployment, Small Releases
  • "continuous delivery" - it is not enough to show the first result of the software but it is necessary to show intermediate results on a short regular basis.
    Values: Commitment, Feedback
    Principles: Flow, Iterative
    Practices: Product Demonstration, Iteration
  • "valuable software" - who can define the value of the software? It is the "customer" again who is able to prioritize requirements by their business value.
    Values: Commitment, Focus
    Principles: Economics, Business Value
    Practices: Product Backlog

Now let's get back to the first part of this principle: who is the team? The team contains all people required to create working software out of requirements, to test the software, to prioritize the requirements and to define their values, and to concentrate on focus and commitment. If these people all work together, the first principle can be realized.

If we summarize all roles and practices this first principle reveals, we find a fully functional team working with an incremental-iterative approach on the most important things for the user. Sounds like heaven.

To say it in three words, the first principle is about Satisfy the Customer.


Also read in this blog post series:

1 comment:

Note: Only a member of this blog may post a comment.