Image obtained from: Sharp, J., Ryan, S. (2011) Global Agile Team Configuration. Journal of Strategic Innovation and Sustainability vol. 7 (1)
A key feature of agile, are the short iterations built into the structure of all of the different agile methodologies. Rather than releasing a large completed project at the end and over whelming the customer, under the different agile methodologies, development teams incrementally release working features to the customer. This allows the customer to provide useful feedback and allow the development team to adjust accordingly. With regards to customer feedback, the agile manifesto values closely working with the customer the entire process, and highly values communication.
Communication and Close Customer involvement
The Agile manifesto values face-to-face communication when communicating among a team. Many of the agile methodologies have expanded valuing face-to-face communication when conveying information to and from a customer. According to Agilemodeling.com, Alistair Cockburn, one of the writers of the Agile Manifesto, argued that based on the Media Richness Theory, that face-to-face conversations have the highest communication effectiveness and highest communication richness, when compared to other communication methods.[i] The main reason why face-to-face communication is so effective is because non-verbal communication is easier to exchange between parties.
Close customer involvement is most important during planning and testing phases of an iteration. It allows the customer to convey what they require and verify that the requirement has been met. As mentioned earlier, providing client with working pieces is important to the verification and feedback process. With the short iterations and close continuous customer communication, the cost of changing requirements is drastically reduced.[ii]
Under the traditional methodology, requirements are gathered up front, which becomes very expensive to change during the late stages of the project because most of the completed work performed in earlier stages was based off the unchanged requirements gathered in the beginning stages.[iii] [iv] The short iterations of agile reduces or mitigates the cost of allowing late changes to the requirements because requirements are continually revisited after only completing a small portions of the project. Furthermore, the continuous communication from the customer allows the developer to find out about changes earlier which reduces change cost even more. Being able to change the requirements late in the development life cycle allows for a product that is better adapted to the evolving business environment. [v]
Teams are important to successfully implementing agile within a corporation. Agile encourages utilizing self-managing teams that are co-located.[vi] The need for quick adaptability requires empowered individuals / teams to be able to make important decisions without having to go through rigid vertical organizational structures. [vii] Furthermore, as mentioned earlier, face-to face communication is important, that is why it is important to have a co-located team. In today’s global organizations, co-located teams are difficult to attain.
[i] Ambysoft Inc. (2013). Communication on Agile Software Projects. Retrieved from http://www.agilemodeling.com/essays/communication.htm
[ii] Ambysoft Inc. (2013). Examining the Agile Cost of Change Curve. Retrieved from http://www.agilemodeling.com/essays/costOfChange.htm
[iii] Helmy, W., Kamel, A., Hegazy, O. (2012) Requirements Engineering Methodology in Agile Environment. IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 5, No 3
[iv] Ambysoft Inc. (2013). Examining the Agile Cost of Change Curve. Retrieved from http://www.agilemodeling.com/essays/costOfChange.htm
[vi] Dingsoeyr, Torgeir, et al. "A Decade of Agile Methodologies: Towards Explaining Agile Software Development." Journal of Systems and Software 85.6 (2012): 1213-21.
[vii] Devi, V. (2013) Traditional and Agile Methods: An Interpretation. Retrieved from http://www.scrumalliance.org/community/articles/2013/january/traditional-and-agile-methods-an-interpretation