Programming Software Development Is A Term Paper

PAGES
3
WORDS
891
Cite

The Extreme Programming process divides software development into about 12 iterations of one to three weeks each. Iteration plans are useful in measuring progress, and keeping planning simple (Wells). The next step in the Extreme Programming process is acceptance tests. These are created from user stories used in iteration planning, and are automated. Quality assurance is a part of this process.

After the required series of iteration and acceptance tests, the next step in Extreme Programming is small releases. This experimental stage is designed to get feedback in time to impact the development of the project (Beck and Andres, 2004).

Extreme Programming can also be incorporated into existing projects, although the process differs somewhat from that in a new project. Wells notes, "Usually projects come looking for a new methodology like XP only after the project is in trouble." In this case, the process of Extreme Programming can begin with reviewing problems with the existing software methodology. This can include looking at requirements specifications, changing requirements, and the number of bugs in production (Wells). As in a new project, the Extreme Programming process in existing projects focuses on improvement and experimentation

One important caveat on the process of Extreme Programming is that it cannot be used successfully in large groups of programmers. Although projects with about 30 programmers have shown success with Extreme Programming, this is unusual. Extreme Programming is instead best...

...

The software being programmed must be amenable to automated unit and functional testing (Wells).
The process of Extreme Programming also depends upon an extended development team. This includes customers, managers, and developers (Wells). As such, Extreme Programming will likely not be successful implemented in a project that cannot have such an extended team (Beck and Andres, 2004).

In conclusion, the process of Extreme Programming is one of experimentation and improvement that aim to adhere to the values of simplicity and efficiency. Similarly, the process of creating user stories, spike solutions, a release plan, iteration and acceptance tests, and developing small releases fits within Extreme Programming's aim to improve a software product through continuing experimentation and testing. Write Auer and Miller (2001) Extreme Programming "represents the single biggest opportunity this decade has to bring radical innovation to the process of software development" (p. 3).

Sources Used in Documents:

References

Auer, Ken and Miller, Roy. 2001. Extreme Programming Applied: Playing to Win. Addison- Wesley Professional.

Beck, Kent and Andres, Cynthia. 2004. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional.

Wells, Don. Extreme Programming: A gentle introduction. Accessed March 15, 2005. http://www.extremeprogramming.org


Cite this Document:

"Programming Software Development Is A" (2005, March 16) Retrieved April 27, 2024, from
https://www.paperdue.com/essay/programming-software-development-is-a-63349

"Programming Software Development Is A" 16 March 2005. Web.27 April. 2024. <
https://www.paperdue.com/essay/programming-software-development-is-a-63349>

"Programming Software Development Is A", 16 March 2005, Accessed.27 April. 2024,
https://www.paperdue.com/essay/programming-software-development-is-a-63349

Related Documents

Professional Software Development Experiences Engaging in the creation of software provides an individual worker, programmer, or developer with a kind of unique sense of satisfaction that can only be derived after devising a solution to a potential office problem or challenge. Unlike some creative projects, creating software is immediately remunerative and problem-specific. However, unlike many technical projects, it also requires one to think outside the box and address specific workplaces issues

Software Development Life Cycle Agile Software Development Agile software development is a popular software development process or methodology that has gained a lot of popularity in the recent years due to its effectiveness and ease of use. Firstly, it encourages collaboration and teamwork throughout the life cycle of development and this makes it easy to plan and implement. Agile software development is all about breaking a task into small chunks that make it

Software Development Life Cycle ( SDLC) Explain Requirement process ( in SDLC) in detail. Why is this exercise important? Requirements engineering is a fundamental activity in systems development and it is the process by which the requirements for software systems are identified, systematized and implemented and are followed through the complete lifecycle. Traditionally engineers focused on narrow functional requirements. Now it is being argued by Aurum and Wohlin (2005) that focusing only

Programming: Rapid Development for Web-Based Applications" by Frank Maurer and Sebastian Martel of the University of Calgary and is composed of an in-depth explanation of extreme programming (xp). The bulk of the content of the article describes the advantages and benefits of this method. One of the most immediate benefits of extreme programming is that it changes the way that work and communication can manifest in the world of

Software Development Lifecycles Balancing increasingly complex requirements for new software applications with the constraints of costs, time and resources has made the use of software development lifecycles invaluable. The reliance on software development methodologies is increasing as shortages of programming expertise are leading to many companies relying on virtual project development teams (Batra, Xia, VanderMeer, Dutta, 2010). Virtual teams and the new reality of software development being global in scope

If the sequence characteristic of the waterfall model implied a difficulty in reverting to phases that had been deemed as completed, with the UML structure, new phases can simply be added into the model and treated in connection to the phases that are actually impacted and to which these new phases relate to. One of the disadvantages of UML is that the entire modeling process is, in fact, just an