Distributed software development is an increasingly important development approach for software companies. With so many benefits it also have few challenges associated with it. DSD is already burdened with many challenges and adding Agile Method to it make things more complex. Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross functional teams.
Recommendations by Layman to create communication rich environment:-
a) Define a person to play the role of the customer up front.This individual must be able to make conclusive decisions on project functionality and scope, must be readily accessible,and must have a vested interest in the project.
b) When the project management and development teams are separated, create a role within the XP team whose purpose is to work closely with both development and project management teams on a daily basis, preferably someone who speaks all the languages involved.
c)When face-to-face, synchronous communication is not feasible, use an email listserv to increase the chance of a response and encourage prompt, useful, and conclusive responses to emails.
d) Use globally-available project management tools to record and monitor the project status on a daily basis.
Few case studies were conducted to verify the theory given by Layman. Based on the empirical data it seems that having a well-defined customer (recommendation 1) is the key to successful distributed agile development. Without proper customer collaboration, the other two investigated recommendations become redundant. Thus the customer relationship should be given extra effort in planning,managing and executing distributed agile projects. This relationship should also be maintained throughout the project. This case study was mainly conducted from developer's point of view. To get a generalised result customer's view point should also be considered.
No comments:
Post a Comment