What Is Extreme Programming(XP) And Core Values In Extreme Programming🛸

Extreme Programming (XP), also abbreviated XP, is one of the most popular software development practices and methodologies that fall under the Agile umbrella.
 
XP was invented by Kent Beck in the early 1990s.
 
It's a lightweight software development discipline for the team that helps organizations to produce high-quality software.  
 

Core Values

 
XP has five core values -- Courage, Feedback, Respect, Communication, and Simplicity. 
What Is Extreme Programming(XP) And Core Values In Extreme Programming
Let's dig deep into the core values.
 

Communication

 
Communication is the key factor in any project to be successful. Communication is important between your XP team and customers. It will make a smooth collaboration among team members. 
 
For example, face to face conversation between the team is much more effective than sitting down and sending emails back and forth.
 
The following are the success rate of communication strategy as per one study. You can compare how powerful face to face communication is.
 
What Is Extreme Programming(XP) And Core Values In Extreme Programming
Effectiveness of communication strategies on Agile development teams (reference: http://agilemodeling.com/essays/communication.htm)
 

Simplicity

 
Before I explain this, let me know which one is your favorite search engine, Google or Yahoo? Google, right?
 
What Is Extreme Programming(XP) And Core Values In Extreme Programming
Image source: Google.
 
A study shows that half of the features and requirements we build are never used by actual users. it will directly impact the cost of the project. 
 
What Is Extreme Programming(XP) And Core Values In Extreme Programming
Image source: Henrik Kniberg - crisp
 
XP Projects are characterized by easy layout and code that is flexible enough to accommodate changes as the necessities evolve.
 
This is like eliminating the complex architecture and design the approach is also knownas the  “You aren’t gonna need it” (YAGNI) approach to make sure that there is minimum to no waste of efforts.
 

Feedback

 
In XP we have a shorter iteration, generally 1-3 weeks, and this allows the opportunity to review the product and get feedback from the users.
 
Rapid feedback from business stakeholders and end-users maintains the improvement team targeted at the solution's intended goals and helps make certain they supply high-value features. There is continuous build, integration, and running of automated test cases. It also follows the concept of fail-fast and fail-early, which works particularly well when the requirements are evolving. 
 

Courage

 
The team is working together and has the ownerships so they feel supported, feel courageous to be open and challenged to go beyond the capabilities.
 
The team is courageous to tell what they will focus on in the code and design that is relevant to today's business needs and not think far ahead in the feature.
 
For telling the truth one needs courage. 
  

Respect

 
Respect means as we work together, sharing success and failure, we respect each other, our agreements and commitments.
 
Respect is a key-value when XP teams work together and respect variations and diversity. XP teams have collective ownership of code, design and system architecture and hence everybody has accountability for the design, code, deployment and build or the passing of a regression.
 

Summary

 
XP projects have shorter iterations. The shorter iteration not only helps to maintain the discipline and focus but also practices efficiency with development practices like pair programming and test-driven development(TDD).
 
XP is found to work best in scenarios where the technology and project environment is uncertain and requirements are unclear or frequent changes are there.
 
It will also help when the team is working with a new domain or technology and has to deliver working software frequently.
 
I hope you like this article. Knowledge doubles if you share it, so please share if you like this article.