Business

Scrum Vs Extreme Programming

agile process

The agile process or software development refers to a set of software development methods that are based on iterative development. In this process, both solutions and requirements evolve mutual collaboration between cross-functional teams. These teams are self-organized in nature.

The Agile software development approach generally promotes a regimented type of project management process that encourages:

1. Frequent adaptation and inspection

2. Self-organization and accountability

3. A leadership philosophy that promotes teamwork

4. A business approach that aligns development with customer needs and company objectives.

5. And a set of engineering best practices intended to enable rapid delivery of good quality software.

Extreme Programming (EP)

It is a software development methodology intended to improve the responsiveness and quality of software to volatile customer requirements. Being an agile type of process, it promotes frequent releases in small development cycles. This introduces control points and improves productivity so that new customer requirements can be adopted.

The advantages of Extreme Programming are:

1. Unit testing of all code

2. Avoid scheduling features until necessary

3. Code in pairs or do an extensive code review

4. Clarity and simplicity in the code

5. Volatile customer requirements are better understood

6. A flag management structure

7. Frequent communication between programmers and even with the client

The drawbacks of extreme programming are:

1. No documented compromises of user conflicts

2. Unstable requirements

3. Lack of a general design document or specification

4. It incorporates inappropriate software design

5. Requires meetings at recurring intervals at huge cost to clients

6. May increase risk of scope deviation due to lack of comprehensive documentation requirements

7. It requires an excess of cultural change to adopt

Scrum

Scrum is an iterative and incremental framework for agile software development and project management. The word “Scrum” is not really an acronym. However, many companies that use this methodology capitalize it. Initially, the Scrum methodology was focused on managing software development projects, but in recent times it can be used to execute a general approach to program/project management or software maintenance teams. Scrum, which contains predefined sets of roles and practices, is a process skeleton. The main roles in this method are:

1. Product Owner – Represents Stakeholders

2. Scrum Master – The person responsible for maintaining the processes

3. Team: A cross-functional group of about 6-8 people who are responsible for design, testing, implementation, etc.

Each of the iterations is called a “sprint,” a typical time frame that is typically two to four weeks. The duration of each sprint is decided by the team. The “lag” of the product pushes the feature set to a spring. These features are a prioritized set of higher-level requirements for the task at hand. Based on this product “backlog”, the team determines how many of the items can be completed in the next sprint. Once the sprint starts, no one can modify the sprint backlog, which means the requirement set is frozen. By successfully completing a sprint, the team demonstrates the use of that particular software.

This methodology should be encouraged in organizations, since the main advantage of using Scrum is that it allows the creation of teams with a high degree of self-organization. This is accomplished by fostering verbal communication among team members, co-location of all team members, and the disciplines involved in the project.

Differences between Scrum and Extreme Programming (EP):

1. The time frame for iterative sprints is different in both approaches.

2. Scrum Teams do not allow changes during their sprints. Whereas Extreme Programming teams have to be much more accepting of changes.

3. Work is done by EP teams in strict order of priority. Whereas in the case of Scrum, the Product Owner prioritizes the set of activities.

4. EP prescribes some engineering practices; Scrum does not.

Leave a Reply

Your email address will not be published. Required fields are marked *