Two of the new trends in systems design and analysis is Extreme Programming (XP) and Agile Methodology. Differentiate between the two.
For EACH method, name an organizational entity (business, government agency, etc.) that uses these methods and describe what they have done. Do NOT use the examples identified in the textbook.
PROFESSOR’S GUIDANCE FOR THIS WEEK’S LE:
Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment.
Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. When you approach software development in a particular manner, it’s generally good to live by these values and principles and use them to help figure out the right things to do given your particular context.
There’s a big focus in the Agile software development community on collaboration and the self-organizing team.
That doesn’t mean that there aren’t managers. It means that teams have the ability to figure out how they’re going to approach things on their own.
.
Be sure to proofread carefully (Use Grammarly – the premium version! Make sure your writing score is more than 90) and cite your sources (APA 7.0 ed).
by Jana Kmetova
Overall, extreme programming dates back to 1996, and it is one of the Agile Processes, and right from the beginning, it was successful in many industries. Extreme programming is teamwork-based and makes teams more productive with effective problem-solving. In addition, extreme programming improves communication, feedback, respect, simplicity, and courage, and keep a firm connection between customer and programmers. For example, one of the most common aspects of extreme programming is simple rules, where not aligned pieces are combined into one picture that can be easily seen (Wells, 2013). Wilson (2019, par. 1) states that “extreme programming is a form of agile framework where PMs get the best out of available resources in a software development environment.” Furthermore, Wilson (2019) describes that the company that uses extreme programming is IBM. While using extreme programming, the company is more productive, customer satisfaction increases.
On the other hand, agile methodology manages a company’s projects by splitting them into several phases – requirement, design, development, test, deploy and review. Overall, Agile helps a company to respond to their customer’s feedback better and fulfill their needs. Some of the principles that Agile methods are specific are; customer satisfaction through good software, close collaboration between business people and developers, measure the progress by the amount worked in the software, and simplicity. The advantage of agile methods is the predictability of costs and faster ROI. The process can be separated into parts that managers can easily assume the costs (Lucidspark, N/A). The company Apple uses the Agile Manifesto (12 principles that software developers should practice to guide their work), where Apple does not use a particular process but rather a set of values built on a respect for support and that carries out the best in customers. In this meaning, Apple is Agile (Denning, 2012).
The main difference between extreme programming and agile are
Extreme programming does not have intermediaries between the customer and the team
Extreme programming is focused on engineering solutions
Extreme programming is an Agile team without a strict structure
Extreme programming contain each small piece that has its performance
Resources:
Denning S., (2012, February 3) Is Apple Truly ‘Agile’, https://www.forbes.com/sites/stevedenning/2012/02/03/is-apple-truly-agile/?sh=3d66f4e0641e.
Lucidspark, (N/A), Agile methodology: What it is, how it works, and why it matters,
https://lucidspark.com/blog/what-is-agile-methodol…
Wells D., (2013, October 13), Extreme Programming:
A gentle introduction, http://www.extremeprogramming.org
Wilson F., (2019, August 28), Extreme Programming in Agile – A Practical Guide for Project Managers, https://dzone.com/articles/extreme-programming-in-…
by Hanan Irsheid
Extreme Programming (XP): is an incremental agile software methodology designed to improve the quality of software and its ability to appropriately adapt to the changing needs of the customer or client. It suggests twelve practices that include iterative development practices, automated unit testing, and pair programming. In the mid-nineties, Ken Beck, a software engineer, developed the Extreme Programming methodology when he was working on the Comprehensive Compensation System (C3) of Chrysler, which helped managing the company’s payroll. . In October 1999, he was able to publish the Extreme Programming Explained, detailing the entire method for others.
Like other Agile Methods of development, Extreme Programming aims to provide iterative and frequent minor releases all around the project, allowing team members and customers to inspect and review the project’s progress throughout the entire SDLC.
The Extreme programming (XP) has the following values :
Simplicity: The primary function of this process is to avoid waste and unnecessary things. To address only the requirements which are more familiar and you are well known to them.
Communication: We must have the skills to communicate and transfer knowledge from one team to another.
Feedback: A small review was given by seeing the work done by the web team previously. Based on that feedback, only the web team learns from those mistakes, and next time, they can perform well.
Respect: When we are in a team, we must respect each other and those decisions. We must give all equal priority.
Courage: We must have the spunk to raise the issues related to our organization which is the leading cause of reducing the team’s effectiveness. To stop all these, we need to have some courage. (Powell-Morse, 2017)
Practices of XP:
The Planning Game
Small Releases
Metaphor
Simple Design
Testing
Refactoring
Pair Programming
Collective Ownership
Continuous Integration
40-hour week
On-site Customer
Coding Standard (What is Extreme Programming (XP), 2018)
Ford Motor Company is an excellent example of a company that used Extreme Programming (XP). After suffering for four years to build its Vehicle Cost and Profit System (VCPS) using traditional waterfall methodology, which was unsuccessful, they could make it in less than a year using the XP. Ford has teamed with software company Pivotal in a three-year strategic collaboration that aims to help Ford’s developers adopt extreme programming that emphasizes pair programming, frequent releases in short development cycles, and extensive code review. (Olavsrud, 2015)
On the other hand, Agile software development is more comprehensive than Extrem Programming (XP). It includes software development methodologies based on iterative development, such as Scrum, Extreme Programming, or Feature-Driven Development (FDD). It exceeds the use of pair programming, test-driven development, stand-ups, planning sessions, and sprints practices. The values and the twelve principles of the Manifesto for Agile Software Development make up the basis of Agile software development frameworks and methods. Also, it emphasizes the collaboration between self-organizing cross-functional teams utilizing the appropriate practices for their context. (Agile Alliance, 2019)
Agile methodology promotes a disciplined project management process that encourages frequent inspection and adaptation. Using Agile software allows fast delivery of high-quality software as it is a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. (Trapani, 2018)
Philips has adopted Agile principles after making numerous changes to its management structure. They introduced different Agile coaches to deploy Scrum principles such as Scrum boards. They also broke down teams into smaller ones to deal with situations in an agile manner. Following this strategy ended the bureaucracy, making it easier for these smaller teams to take responsibility for their respective products. (Velasquez, 2018)
References:
Agile Alliance. (2019, January 16). What is Agile Software Development? Agile Alliance; Agile Alliance. https://www.agilealliance.org/agile101/
Olavsrud, T. (2015, December 16). Ford draws on Pivotal to reshape developer culture. CIO. https://www.cio.com/article/3016017/ford-draws-on-…
?
Powell-Morse, A. (2017, November 2). Extreme Programming: What Is It And How Do You Use It? Airbrake Blog. https://airbrake.io/blog/sdlc/extreme-programming
Trapani, K. (2018, May 22). What is Agile/Scrum. CPrime; cPrime. https://www.cprime.com/resources/what-is-agile-wha…
?
?What is Extreme Programming (XP)? (2018, February 14). Agile Alliance; Agile Alliance. https://www.agilealliance.org/glossary/xp/
Velasquez, S. (2018, October 12). Real Life Examples of Agile Methodology. Growth Acceleration Partners. https://www.growthaccelerationpartners.com/blog/re…