Extreme programming

XP Values

by Bjorn W.

Extreme programming is one of the most productive software development methodologies. Its intended focus on the present requirements of the user and the outstandingly low cost of changes in requirements makes it very useful. Unlike other methods, its 'extreme' nature tends to minimalize, and focus only on the things that are important as per user feedback.

However, for such an intense practice to thrive, set values amongst the team members, are quite significant. These primarily consist of:

Simplicity

The goal of extreme programming is to deliver what is needed at the said so point in time. It cannot take into consideration the needs and distractions that would arise in the future. The fact that it is a kind of process wherein constant feedback from the user end is taken into consideration to continually develop the code helps it be so. Thereby, they try to maximize the value created by the investment to date. Its advancement in small step cycles helps improve productivity and alleviate the failures as they happen.

Further simplicity in both, the design implemented and the code also helps communication.

Communication

Unlike other methodologies, wherein documentation is the standard means of communication amongst the team members, it is not so here. Instead, it is usually done by communicating face to face amongst the team members, and also between the development team and the users. This saves serious time but requires much more involvement. The team members are supposed to work collectively on everything from the user requirements to the code implemented.

Developers are supposed to have a shared view of the system, in accordance to how the user sees it. To this end, frequent verbal communication for the collaboration of users and programmers helps the process of feedback as well.

Feedback

Feedback plays a significant role in the entire process. The cycle of going back and forth, between user feedback and software development in strides, forms the backbone of the whole process. However, there are several facets to it.

From the system

Developers continuously run periodic integration tests, which lets them have constant feedback after changes have been made in the system.

From the customer/user

Primary feedback of the current state of the system is derived utilizing acceptance tests for users. It is continuously in place so that the user can steer the development process, with regards to available demands.

From the team

After the feedback from the customer is attained, the team immediately reverts back to the drawing boards to estimate timeline and cost involvement. Also, feedback on each other’s code is encouraged within the group.

Courage

Maintaining courage during the entire process is vital. It helps developers refactor their codes whenever a frequent need for the same arises. Further, it also becomes essential at times, to scrap old code, no matter how much effort was put into it.

Respect

Being respectful towards one’s peers and oneself is encouraged. Developers should not perpetrate mistakes that might break compilation, that fails integration tests or hampers the work of peers.

A high level of motivation and encouragement is essential to uphold all of these values, and remain focused towards the team goal at large.


How to deal with compromises when implementing Scrum?

How to deal with compromises when implementing Scrum?

Using scrum can actually be the best decision which you could make for the organization as it has many advantages for everyone. It is a practical framework which guides you about all the things you...

by Pete R.
Ensure quality in your user stories - the INVEST-Principle

Ensure quality in your user stories - the INVEST-Principle

The INVEST principle allows teams to work effectively on a good user story. To understand INVEST better, one has first to understand what the mnemonic stands for.

by Pete R.
Estimation in the agile world done right! How to play Planning Poker®?

Estimation in the agile world done right! How to play Planning Poker®?

Planning Poker® is one of the tools used in Agile. The reason why it is useful is that it helps the team, decide how many of the points are allocated to a specific story or task. It helps mitigate...

by Pete R.
5 Tips for Dealing with Uncooperative Team Members in Scrum

5 Tips for Dealing with Uncooperative Team Members in Scrum

It is normal to come across people at the workplace that can make your job more complicated than it actually has to be. These kinds of people are disrespectful, harmful or merely unwilling to behave...

by Pete R.
Does Scrum Alone Stand for Agile?

Does Scrum Alone Stand for Agile?

Is Scrum the only technique in Agile? Many people consider Scrum a single method of Agile. Long gone are days when Scrum and Agile were used interchangeably. Nowadays, many people know about the...

by Pete R.
Changes That Occurs When Moving from Waterfall to Scrum

Changes That Occurs When Moving from Waterfall to Scrum

Are you thinking about the changes that occur when a company shifts of Scrum? In today's advanced world, the previous approaches for software development are unviable. Though waterfall practice is...

by Pete R.
Hey Scrum! Where has the test phase gone?

Hey Scrum! Where has the test phase gone?

If one is looking for a methodology to manage programmers, then scrum is their best bet. If one wants to tests cases, they need to give Scrum a try.

by Pete R.
Best Ways to Track Time in Scrum

Best Ways to Track Time in Scrum

Without a doubt, time tracking is one of the many things that a software developer doesn't enjoy. It is perceived that keeping track of time is wasteful and restricting. This is because the time...

by Pete R.
What is the Nokia Scrum Test?

What is the Nokia Scrum Test?

Over a decade ago a man named Bas Vodde introduced a simple test that was able to assess the level of agile adoption and Scrum at the Nokia-Siemens Finland. The test was conducted on almost ten agile...

by Pete R.
Top Signs That Your Organization Is Not Ready for Agile

Top Signs That Your Organization Is Not Ready for Agile

Are you thinking of implementing Agile in your company? Do you think your company is ready for Agile? In the software development industry, everyone is talking about the benefits of Agile...

by Pete R.
Scrum Estimations vs. Request for Accuracy

Scrum Estimations vs. Request for Accuracy

Estimation is something significant when it comes to getting the tasks completed. However, there are cases where an estimate turns out to be wrong during the process. When you start working on a...

by Pete R.
Scrum - your burn down-chart looks strange? These techniques will help you to improve

Scrum - your burn down-chart looks strange? These techniques will help you to improve

Scrum burndown charts might not always seem like the ideal charts that one would want and sometimes, the charts might appear more terrifying than one might have thought. Some people might try to...

by Pete R.