There are many programming methodologies teams adopt.
One of them is extreme programming.
In this article, we’ll look at what is extreme programming.
What is Extreme Programming?
Extreme programming is a discipline of software development that values simplicity, communication, feedback, and courage.
It focuses on customer and business needs.
Roles and responsibilities are accorded according to those needs.
This means that the methodology is meant for programming any programs for businesses.
Businesses are the focus. Customer care is the top priority.
Also, we have active communication channels and teamwork.
Feedback is also given more often.
It realizes that the success of projects is a team effort.
It’s not just the development team. It’s also the business as a whole, including management, customers, and developers.
Extreme programming brings everyone together and helps them succeed together.
It’s aimed primarily at object-oriented objects using teams of a dozen or fewer programmers in one location.
Both internal and customer-facing software can be built with it.
Customers will learn simple ways to communicate what they need effectively.
They’ll steer the project to success.
Programmers define the architecture, design the system, write tests, and the code that supports them.
This allows programmers to deliver value quickly and deal with changing requirements.
We’ll learn to build for tomorrow today.
Managers measure progress to gauge performance and measure quality.
Customers choose what will deliver business value to them.
They also help us prioritize features and what to defer.
They also define acceptance tests to let programmers know what we need to do.
This way, we’ll always deliver what the customers want.
There got to be one representative for the customers.
It’s impossible to talk to all customers at the same time.
Features are built in small pieces as stories.
Stories tell us how individual pieces of the system needs to work.
Each story must be understood well enough that programmers can estimate its difficulty.
Also, they must be testable.
The customer expresses what must be done in stories.
There may be dozens or hundreds of stories in a project.
We may have a delivery date in mind. To determine that, we can manage the scope of the project so that it’s likely to be delivered by that date.
The customer picks the most valuable features to be included in the project scope.
We can choose that with great flexibility.’
The programmer role delivers business value.
Each story must be understood so that it can be built.
The software product must be designed, tested, and built to implement stories.
The software must be a coherent whole.
This way, we produce quality software quickly.
Extreme programming isn’t coe and fix or slash and burn.
It’s about careful design and fast feedback.
Testing is done extensively/
We keep the systems integrated at all times so that we won’t run into problems later on.
This way, we won’t step on each other’s toes when we have to integrate large pieces later.
The ownership of the code is sharted. This way, everyone takes care of it.
We make the code look-alike make communication and understanding easier.
Also, we make sure our system always works with unit tests and acceptance tests.
The tests allow us to change rapidly and keep us from introducing mistakes.
We may write production code in pairs sometimes, especially if the work is hard.
It’s an approach to software development that lets programmers the best and giving customers what they need the most.
Manager’s role in extreme programming is to make the people doing the work easier.
They remove blockers and do planning for people.
It’s all about coordination and resolving conflicts.
There are planning meets and status meetings.
Rights and Responsibilities
Customers and managers plan and change priorities.
Also, changes are informed and coordinated.
Programmers know what’s needed as priorities are declared.
Quality work are done by programmers.
Estimates are controlled by programmers as well.
Programmers accept responsibilities.
Extreme programming is a methodology that teams partially adopt at least.
It’s about quick iterations, creating features in small stories, and putting the customer first.
Tests are also emphasized.
This way, we ensure quality by getting quick feedback.