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