Our Group Asigment
Our Group Asigment
programming (XP)?
Extreme programming is an Agile project management methodology that targets speed and simplicity with
short development cycles and less documentation. The process structure is determined by five guiding values,
five rules, and 12 XP practices (which we’ll break down further on in this article).
Like other Agile methods, XP is a software development methodology broken down into work sprints. Agile
frameworks follow an iterative process—you complete and review the framework after every sprint, refine it for
maximum efficiency, and adjust to changing requirements. Similar to other Agile methods, XP’s design allows
developers to respond to customer stories, adapt, and change in real-time. But XP is much more disciplined,
using frequent code reviews and unit testing to make changes quickly. It’s also highly creative
and collaborative, prioritizing teamwork during all development stages
Manage a smaller team . Because of its highly collaborative nature, XP works best on smaller
teams of under 10 people.
Are in constant contact with your customer s. XP incorporates customer requirements
throughout the development process, and even relies on them for testing and approval.
Have an adaptable team that can embrace change (without hard feelings) . By its very nature,
extreme programming will often require your whole team to toss out their hard work. There are also
rules that allow other team members to make changes at any time, which doesn’t work if your team
members might take that personall
Are well versed in the technical aspects of coding. XP isn’t for beginners You need to be able to work
and make changes quickly
Lifecycle of XP
The Extreme Programming (XP) life cycle is an iterative framework that helps teams create high-quality
software in an Agile manner. The XP life cycle typically has five stages:
Planning: The team meets with the customer to understand the product and gather user stories.
Design: Developers design the code architecture.
Coding: The development team writes code in small chunks and tests it regularly.
Testing: Developers write automated tests to ensure the code works as expected.
The XP life cycle is iterative, meaning it repeats multiple times during a project until the final product is
delivered. The XP framework emphasizes close collaboration between team members and customers to
ensure the final product meets the ctomer's needs
us
Code Review: Code review detects and corrects errors efficiently. It suggests pair
programming as coding and reviewing of written code carried out by a pair of
programmers who switch their work between them every hour.
Testing: Testing code helps to remove errors and improves its reliability. XP suggests
test-driven development (TDD) to continually write and execute test cases. In the TDD
approach, test cases are written even before any code is written.
Incremental development: Incremental development is very good because customer
feedback is gained and based on this development team comes up with new increments
every few days after each iteration.
Simplicity: Simplicity makes it easier to develop good-quality code as well as to test
and debug it.
Design: Good quality design is important to develop good quality software. So,
everybody should design daily.
Integration testing: Integration Testing helps to identify bugs at the interfaces of
different functionalities. Extreme programming suggests that the developers should
achieve continuous integration by building and performing integration testing several
times a day.
.
1. Planning: The first stage of Extreme Programming is planning. During this phase,
clients define their needs in concise descriptions known as user stories. The team
calculates the effort required for each story and schedules releases according to priority
and effort.
2. Design: The team creates only the essential design needed for current user stories,
using a common analogy or story to help everyone understand the overall system
architecture and keep the design straightforward and clear.
3. Coding: Extreme Programming (XP) promotes pair programming i.e. wo developers
work together at one workstation, enhancing code quality and knowledge sharing. They
write tests before coding to ensure functionality from the start (TDD), and frequently
integrate their code into a shared repository with automated tests to catch issues early.
4. Testing: Extreme Programming (XP) gives more importance to testing that consist of
both unit tests and acceptance test. Unit tests, which are automated, check if specific
features work correctly. Acceptance tests, conducted by customers, ensure that the
overall system meets initial requirements. This continuous testing ensures the
software’s quality and alignment with customer needs.
5. Listening: In the listening phase regular feedback from customers to ensure the
product meets their needs and to adapt to any changes.
Advantages