This article looks to discuss the Extreme Programming Agile framework and provides a comparison with the Scrum Framework. Some of the benefits and processes of each framework are discussed.
The Agile Fundamentals
A 59 Seconds Agile Video Animation
Extreme Programming and The Agile Frameworks for Scrum Masters
A 59 Seconds Agile Article
There are many different Agile frameworks – all of them share the same philosophy and are built around the Agile Manifesto and Principles. But they vastly differ in their approaches, values, and structure.
Extreme Programming (XP) is known for its emphasis on delivering high-quality software rapidly and frequently through engineering practices. XP requires customers and developers to collaborate very closely with each other in short iterations. The original values of XP centered on simplicity, communication, feedback, and courage. Now its 12 principles are grouped into the following four categories:
Extreme Programming: Fine Scale Feedback
- Test Driven Development (building code around tests)
- Planning Game (the XP way of planning iterations and releases)
- Whole Team (having the customer as part of the team)
- Pair Programming (producing code by pairs in the team)
Extreme Programming: Continuous Process
- Continuous Integration (frequently and regularly committing and integrating code)
- Design Improvement (re-factoring as a norm)
- Small Releases (frequently and regularly releasing
- Shared Understanding
- Simple Design (practicing code simplicity and design pattern usage)
- System Metaphor (naming convention should describe functionality)
- Collective Code Ownership (having each and everyone responsible for the code)
- Coding Standards (agreeing on a set of coding standards)
● Sustainable Pace (well-rested people give the best outputs)
A very popular Agile framework, Scrum is a light, flexible framework used for product development done in iterations and increments. It is based on the empirical principles of transparency, inspection, and adaptation. Scrum prescribes teams on how to manage and control the development of the project through repeated activities. Unlike other frameworks, there are only three roles in Scrum:
– Product Owner – Owns and manages the product backlog and ensures everyone is on the same page in understanding the product vision and value.
– Team – Consists of five to eight individuals – usually developers, testers, analysts, and architects – with the necessary skills set to build the product.
– Scrum Master – Coaches the product owner, the team, and other stakeholders in how to carry out the project using the Scrum principles.
One of its practices is time-boxing, where the team agrees on time limits for each of their activities, and do them until the “timebox” expires. Sprints last for one to four weeks. Within a Sprint, a 15-minute daily standup is held every day, while at the end of each Sprint, the team holds a review, retrospective, and planning meetings. Known as “Sprint ceremonies”, these activities are needed in order to manage the user stories as well as the Sprint and Product backlogs of the project. It is important to note that Scrum does not allow changes in the Sprint backlog once the timebox has started.
User Stories Applied
A 59 Seconds Agile Book Review
User Stories Applied by Mike Cohn is one of our favourite books on Agile User Stories. The book starts with an overview into user stories, and details what a user story is and the different aspects of them. He then discusses how to go about writing a user story, and provides details of the INVEST criteria that can be used to determine if the story is meeting all of its objectives. Next Mike gives an in depth discussion of who user stories are written for and where to begin when gathering the details for them. The book then discusses acceptance testing user stories, including how to go about specifying these criteria and the responsibilities of the development team and customers during this process.