Friday, January 31, 2014

Article Summary

Robert Young
English 250
Section PN
This study is about the effect that Agile Development Practices have on communication between a development team and other people, like the consumer or management. Basically Agile Development Practices were designed so that a team of Software Engineers can work more efficiently. There are several different methods to do this, and the ones they focus on in this particular study are the XP (eXtreme Programming) and SCRUM (I couldn’t find what this acronym stood for, sorry). In Extreme Programming, the development team develops their program incrementally, with periodic “releases” that add features, and over time, all of these features add up to be an entire program. In SCRUM, the development team gets a set of requirements from the product owner to fulfil over the next month or less. The product owners then go over what all the development team has done, and sets new requirements that build off of the present program. I only gave the basic rundown, no specifics yet.
Communication is important in Software Engineering because it helps coordinate specific tasks that can be combined into one big thing. The balance is having enough time to communicate between your team, enough time to communicate with your customer, and enough time to actually code and work on the project. This study examines the effects of increased communication on the team level on the communication with the customers. There are two variables: internal communication, which focuses on communication between members of the development team; and external communication, which focuses on communication with people other than the development team.
The data they used for their analyses was obtained in a variety of ways: interviews, documentation, and direct observations. The documentation was typical of other software development projects. There were six interviews and several face-to-face discussions with project leaders. There were also visits to the space in which they worked.
The data was analyzed on an “in-case” basis. That means they took specific cases to analyze, instead of the entire population as a whole. This is because there is so much variety in software development teams and environments that it would be unacceptable to compare results with each other.
The Results in terms of Internal Communication:
In an open office space, there was less need for documentation and everybody knew what was going on. Daily meetings were a good way to keep the developers, project leaders, and sometimes the customers aware of where the project was in development. The task board allowed everyone to see what needed to be done very quickly. Planning meetings helped define the goals for the development cycles. Development cycle reviews helped make sure they were on track. Programming in groups of 2 (pair programming) is an efficient way to review code, but not good for days on end.
However, in project 1, some of the documents weren’t properly organized, which made figuring out which features were already implemented difficult, and the development cycle planning meetings were too short to fully cover all of the features and requirements. Some of the developers felt that the requirements weren’t descriptive enough. The focus of the project as a whole wasn’t really there. Some features got implemented that weren’t really needed. Some of the developers really liked the open office space, others really didn’t, and that affected the concentration of everybody. Project 2 actually disbanded the open office space, then went back to it because their User Interface needed better collaboration.
The results in terms of External Communication:
Iteration reviews and status reports helped increase the visibility of short term goals and requirements, and development cycle planning helped with short-term focus.
However, the developers felt that the development cycle meetings with the customers were not long enough to discuss the requirements, especially when the software became more complex.

Overall, Agile development practices mostly benefit communication. Cycle Development planning meetings and incremental development helped the development team to not take off more than they could chew in one cycle. Daily meetings kept everybody up-to-date, along with the task board. The open office space made it easier to collaborate. Unfortunately, there were some drawbacks. Some viewed the open office space as distracting, incremental development made the developers lose sight of the grand plan, and the development cycle planning meetings weren’t really long enough to go in-depth about the requirements with the customers.



Abrahamsson, Pekka, et al. “The impact of agile practices on communication in software development.” Empircal Software Engineering, an international journal. 13.3 (2008): 303-337. Web. 13 Jan. 2014. http://link.springer.com.proxy.lib.iastate.edu/article/10.1007/s10664-008-9065-9/fulltext.html 

No comments:

Post a Comment