Unlinked+The+Role+of+Customers+in+Agile+Teams

=The role of the customer in Agile teams = toc

History
Traditionally, the customer has been distanced from the project development process with involvement limited to the requirements specification and acceptance testing stages, however, the Agile approach is focussed on customer collaboration throughout the process. As can be seen within the Agile manifestowhich defines the values upon which Agile techniques are based, three of the twelve principles refer to customer interaction indicating the importance of the customer role within the Agile environment.

Customer
The customer within an Agile environment is defined as the client paying for the work as well as the users of the system or project deliverable, the end users. In many instances, and specifically from an Agile team perspective, the end user is generally considered the customer as it is the end user who generally determines the fitness for purpose of a deliverable Koch (2005). Highsmith (2010) defines customers as participants who create value.

Customers can be internal (part of the Agile team's organisation) or external (part of an organisation outside of the Agile team's organisation).

Agile teams
Agile teams are small cross-functional teams who adhere to a number of Agile practices, values, principles and processes in order to achieve a project deliverable (Schwaber, 2007).

Requirements of the customer
Within the agile environment and team, the customer role is a far more interactive role. This is identified within theory (Koch, 2005; Beck & Andres 2004; Cohn, 2009), the [|Agile Manifesto's]value "We have come to value customer collaboration over contract negotiation", and was also evidenced within the XP planning game exercise conducted within a recent Agile lecture/seminar.

Koch (2005) defines the responsibilities/expectations of the customer role within Agile which have been aligned with the customer role observed and scripted in the XP Planning Game:
 * **Establish requirements**: producing user stories (requirements) on feature cards to drive the agile team forward. The customer was responsible in providing complete information to the developers.
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Project and increment planning**: supporting the developers in determining estimated times, selecting the specific requirements for the iteration build.
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Evaluation of interim deliverables**: confirming whether or not a deliverable meets customer requirements.
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Frequent feedback and requirement changes**: working closely with the developers to communicate any changes and any feedback required for development e.g. "We don't want the machine to look like this but like this".
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Evaluation and prioritisation of changes**: continual liaison required with the developers to work the changes into the iterations and decide what is important e.g. "We really want to hold 200 cups but also want the machine to be compact, however, the number of cups is more important".
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Ensuring quality of deliverables**: early checking of the deliverables (iteration by iteration) to ensure what is delivered meets customer requirements.
 * <span style="font-family: Arial,Helvetica,sans-serif;">**Responsibility of scope creep**: the customer was ultimately responsible for any final decisions on the expansion of the project scope.

<span style="font-family: Arial,Helvetica,sans-serif;">Within the exercise, the customer and developer appeared to be working as a team, although some division was observed ('them and us') when decision making was required.

<span style="font-family: Arial,Helvetica,sans-serif;">Agile Methods and the Customer Role
<span style="font-family: Arial,Helvetica,sans-serif;">Each agile method appears to address the customer role in different ways and to different levels as summarised below (Kock, 2005).



<span style="font-family: Arial,Helvetica,sans-serif;">**Agile Method** ||

<span style="font-family: Arial,Helvetica,sans-serif;">**Customer Role** ||

<span style="font-family: Arial,Helvetica,sans-serif;">Dynamic Systems Development Method (DSDM) ||


 * <span style="font-family: Arial,Helvetica,sans-serif;">end user is critical participant
 * <span style="font-family: Arial,Helvetica,sans-serif;">involved at each step of the way
 * <span style="font-family: Arial,Helvetica,sans-serif;">users direct progression of project ||
 * <span style="font-family: Arial,Helvetica,sans-serif;">Extreme Programming (XP) || * <span style="font-family: Arial,Helvetica,sans-serif;">physically present onsite
 * <span style="font-family: Arial,Helvetica,sans-serif;">throughout the projects entirety
 * <span style="font-family: Arial,Helvetica,sans-serif;">continuously available and integrated within the team ||
 * <span style="font-family: Arial,Helvetica,sans-serif;">Scrum || * <span style="font-family: Arial,Helvetica,sans-serif;">ownership of the project backlog (user stories to be completed)
 * <span style="font-family: Arial,Helvetica,sans-serif;">main judge on prioritisation, selection and acceptability ||
 * <span style="font-family: Arial,Helvetica,sans-serif;">Lean Software Development (LD) || * <span style="font-family: Arial,Helvetica,sans-serif;">judgement and confirmation of integrity of deliverable(s) ||

Advantages
<span style="font-family: Arial,Helvetica,sans-serif;">Stober and Hansmann (2010) suggest that good relationships are the basis for success. A key benefit of proactive customer integration within the agile project team is an increased likelihood of a successful project outcome. The active and collaborative role of the customer within the agile process means that the customer has more input and control of the development process leading to greater customer satisfaction Koch (2005). Working closely with the customer enables a more collaborative process rather than the hostile environment that can ensue through contract negotiation (Beck & Andres, 2004). <span style="font-family: Arial,Helvetica,sans-serif;">.

<span style="font-family: Arial,Helvetica,sans-serif;">Customer availability allows the team to view change as an opportunity to improve and enables them to work collaboratively to define the deliverables and to ensure that what is delivered is of use and desired. This leads to a satisfied customer and Agile team.

<span style="font-family: Arial,Helvetica,sans-serif;">Close cooperation and collaboration with the customer enhances project success. The customer needs will change over the project process, requirements will become obsolete and others will replace them so being able to ask the customer directly what their current needs are allows the project to always add value by always moving towards the current needs of the client (Cohn, 2009)<span style="font-family: Arial,Helvetica,sans-serif;">. The deliverable will consist of features that only add value, as features that were less important or added less value would always be put at the back of the queue for development leading to better products.

**Disadvantages**
<span style="font-family: Arial,Helvetica,sans-serif;">A challenge to customers, as identified by Koch (2005) is the level of effort expected by the customer within the agile environment. Often customers expect the supplier to input the highest level of effort however this is not the case and could therefore pose a challenge to customer organisations. Cohn (2009) suggests that contract negotiation can put customer and contract team at odds from the start of the process which is counter productive to any enterprise. A cooperative attitude where each party looks for a win win solution will build better working relations and may deliver a better product.

<span style="font-family: Arial,Helvetica,sans-serif;">Poppendiek and Poppendiek (2006) refer to the standard practice of asking customers for their requirements at the start of the process - freezing them and requiring a long winded change process to allow edits - as a waste. The challenge to the customer is to trust the project team and work with them to develop the requirements.

<span style="font-family: Arial,Helvetica,sans-serif;">The [|XP planning game]shows how requirements change as the development process evolves.This is largely due to the customer's individual visions of what is required differing. The customer is expected to define the deliverable by using a series of [|user stories]such as, 'The deliverable must have a visible on switch place in the top right hand corner''. It is difficult for inexperienced users to define the stories in a useful way, for example stating the things they do not require rather than what they require. The customer's challenge is to produce descriptive, comprehensive and unambiguous user stories.

<span style="font-family: Arial,Helvetica,sans-serif;">In Agile software development the customer must have a particular mindset to enhance collaboration. Beck (2004) suggests that a customer with an adversarial attitude who has learned to distrust IT will stop agile techniques such as XP from working. The customer must learn how to work with the project team and the project team must assist them. For activities such as writing user stories the customer must learn to write them properly over the process as they cooperate with the team to identify the most desired properties of the deliverables.

<span style="font-family: Arial,Helvetica,sans-serif; font-size: 1.3em;">References
[1] Koch, A.S. (2005) //Agile Software Development: Evaluating the Methods for your Organization.// Norwood: Artech House, Inc. <span style="font-family: Arial,Helvetica,sans-serif;">[2] Highsmith, J. (2010) Agile Project management. 2nd edition. Boston: Pearson Education Inc [3] Schwaber, C. (2007) The Truth About Agile Processes: Frank Answers to Frequently Asked Questions. //Forrester Research// [4] Beck, K. and Andres, C. (2004) //Extreme Programming Explained: Embracing Change//. 2nd edition. Boston: Addison-Wesley [5] Cohn, M. (2009) //Agile Estimating and Planning//. Stoughton: Pearson Education Inc <span style="font-family: Arial,Helvetica,sans-serif;">[6] Poppendiek, M. and Poppendiek, T. (2006) //Implementing Lean Software Development From Concept to Cash//. Boston: Addison-Wesley <span style="font-family: Arial,Helvetica,sans-serif;">[7] Stober, T. and Hannsmann, U. (2010) //Agile Software Development: Best Practices for Large Software Development Projects//. Verlag Berlin Heidelberg: Springer.

<span style="font-family: Arial,Helvetica,sans-serif;">include component="comments" page=",DanaInfo=7bsp1018.wikispaces.com ,DanaInfo=7bsp1018.wikispaces.com The Role of Customers in Agile Teams" limit="10"