Extreme Programming Installed, Chapters 1 - 3
by Ron Jeffries, Ann Anderson, and Chet Hendrickson
In the first three chapters of Extreme Programming Installed, three different personas in the programming process are introduced. They are the Customer, the Programmer, and the Manager. Each of these people have a specific job and duty, but the core idea of Extreme Programming is communication. The Customer is in charge of communicating specifications for the software and being always available to everyone. The Programmer is in charge of implementing the specifications that the Customer provides and going to the Customer to get clarification on requirements. Lastly, the Manager is in charge of doing anything possibly to make the Customer and Programmer's jobs easier and faster, and to foster communication between different members on the team. Everyone in this team is equal and is working towards the same goal.
The Extreme Programming paradigm emphasizes easy communication. The customer is not an abstract person that the product is being developed for but instead a physical person that is on-site (preferably) and is heavily involved in the development process. As in the diagram below, the Customer writes stories about features that are needed, and the Programmer implements those stories. Open communication will allow obstacles that come up to be overcome quickly because the programmer can quickly get feedback from the Customer - which is made a lot easier if the Customer is already on-site.
I felt that a lot of the ideas in the first 3 chapters of Extreme Programming Installed were very valid. This past summer I interned at a major software company, and we used a variation of Extreme Programming. What made collaboration, programming, and communication so easy was the feeling of equality. Everyone was equal, whether they were the software manager, project manager, programmer, intern, or customer representative. That way, when there was any ambiguity or questions, that person could easily get an answer instead of guessing at the code, as they describe in Chapter 3. And the emphasis on physical and oral communication instead of email or phone calls is also correct; when it's not possible to walk to the person's office and ask a question, most the time that communication will not happen, leading to problems in the development process.

No comments:
Post a Comment