If you are working on an agile based project, you would hear some terms like “Scrum” and “Extreme Programming“. And then some questions arises in your mind such that how these terms are related to “Agile“, are they similar or is there any difference between them as both of them being the most important methodologies of Agile? Should I use XP or scrum? etc. I will try to address these questions in my current and upcoming blogs.
In this blog, I will give you just a high-level overview of Scrum and Agile. This blog is useful for beginners. In my next blog, I will explain the similarity and difference between Scrum and Extreme programming. Let me quickly introduce both terms first, and after that, I would tell you the similarity and difference between them in the next one.
Scrum and Extreme Programming are the most famous Agile methodologies, useful in developing and delivering the software to the client quickly and efficiently. Let’s talk about Scrum first.
Scrum can be applied to any project. It contains four basic meetings: the Sprint Planning meeting, Daily Stand-up, Sprint Review, and Sprint Retrospective. Let’s see how it works. A product owner creates the product backlog, which is just a prioritized wish list, that needs to be done within the project. The product owner is responsible for creating, maintaining and re-ordering the backlog. During the sprint planning, the team selects some items from the top of product backlog and decides how to do it, this is called Sprint backlog. The team has a set time frame to complete their work, which is called sprint. Sprint duration could be 15 days or one month. They meet in the daily Scrum meeting, which is a short everyday meeting of 15 minutes, also called as daily standup meeting. Each team member needs to participate in this meeting and should provide the answer of 3 questions:
1) What he/she did yesterday?
2) What he/she will do today?
3) Is there any impediment?
At the end of the sprint, Sprint review meeting is held. During this meeting, the Scrum Team and stakeholders collaborate about what was done in the Sprint. In this meeting team show what they accomplished during the sprint.
After sprint review, sprint retrospective is the last thing done in a sprint. It aims to continuously improve the processes. It is attended only by the Scrum team, Scrum master and product owner. This meeting can be facilitated by asking each person in the team to answer the following questions:
1) What went well during the sprint?
2) What could be improved in the next sprint?
You can refer to my blog Simple steps to make Agile Retrospective fun and effective to make retrospective fun and effective.
After retrospective, the team chooses another chunk of product backlog and cycle repeats. This is just a high-level overview of Scrum.
Now let’s talk about Extreme programming. It is also known as XP. This methodology is designed to focus on the improvement of software quality. It is used to increase and improve productivity for the customer requirements. It was introduced by Kent Back in 1990.
According to Kent Back “XP is a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements. ”
The backbone of extreme programming is Values, Principles, and Practices. All are linked together. Values give you a reason to apply practices. Principles give you guidelines for practices. For example:- You commit a code on GitHub and send a pull request to merge. So here, you value code version control system. Here practices are committing code and sending pull requests. The guidelines, which you follow to commit code and send pull requests, are principles.
Please refer to my blog Simple steps to ease your programming life and deliver good quality software in an extreme way, if you want to get more insights on XP.
After reading this blog, you should get a brief overview of Scrum and Extreme programming. In my next blog, you will know how these terms are related to each other.