What is Agile Scrum Methodology?

One of the most popular agile methodologies in use today. Scrum is a lightweight software development methodology that focuses on having small time-boxed sprints of new functionality that are incorporated into an integrated product baseline. Scrum places an emphasis on customer interaction, feedback and adjustments rather than documentation and prediction.

Why Use Scrum and Extreme Programming (XP)?

Traditionally projects are delivered in a series of phases that are based on increasing levels of certainty around the system being built:

However this approach has many drawbacks:

  • It is not flexible to changes in customer requirements
  • Time is wasted building features that nobody needs
  • The end user cannot give feedback till it’s completed coded
  • You don’t know how stable the system is until the end

How Is Scrum Different?

One of the most popular agile methodologies in use today. Scrum is a lightweight software development methodology that focuses on having small time-boxed sprints of new functionality that are incorporated into an integrated product baseline. Scrum places an emphasis on customer interaction, feedback and adjustments rather than documentation and prediction.

Instead of phases, Scrum projects are broken down into releases and sprints. At the end of each sprint you have a fully functioning system that could be released:

With scrum projects, the requirements for the project do not have to be codified up-front, instead they are prioritized and scheduled for each sprint. The requirements are composed of ‘user stories’ that can be scheduled into a particular release and sprint:

Scrum is often deployed in conjunction with other agile methods such as Extreme Programming (XP) since such methods are in reality mostly complimentary, with XP focusing on the engineering (continuous integration, test-driven development, etc.) and Scrum focusing more on the project management side (burn-down, fixed scope for sprints/iterations). So project managers should choose elements of the Scrum project management methodology and other methods/tools together for the specific project. Since Scrum is a more defined project management methodology in terms of tools and processes, it is often easier to adopt from day one with less initial invention and customization.

How Is Extreme Programming Different?

The idea developed by Kent Beck was to use best programming practices but take them to the extreme – hence the name. As such, none of the individual concepts of XP are really new, but their application and combination is what makes XP different, or at least did in the 2000s, which is when it initially became popular. XP advocates adaptability; recognizing that each project faces different problems, applying those methods that will work and discarding those that will not. Partial XP therefore becomes a true possibility, often combined with Scrum, which has gaps in its definition particularly suited to adoption of XP practices.

XP embraces standard Agile principles such as short iterations; requirements being loosely defined with user stories until they are needed; almost immediate and regular testing; close, on-site stakeholder involvement with a rapid feedback loop; and team responsibility for success or failure.

As is necessary for Agile projects, the XP team expects and accepts changes in requirements based on feedback from stakeholders and the obligatory high level of communication within the team. Intense communication is necessary because everyone is required to understand the system as a whole so that anyone can work on and change any of the code. Quickly written code is often used as a means to explain ideas and try out designs. With short iterations comes regular layering of new functionality, thus refactoring is encouraged in order to consolidate separately written parts into a more efficient whole.

Testing taken to the extreme means using as many testing techniques as necessary, as often as possible. Methods include unit testing, acceptance testing, integration testing and test-first programming.

Pair programming is part of XP, the idea being that two heads are better than one. Using only one workstation, one person writes code while the other observes, injecting ideas, pointing out potential problems and thinking about the ‘big picture’ as the code is written. Roles are reversed frequently and the pair work as if joined at the hip. If a pair get too comfortable with one another they may begin to think alike and two heads thinking as one is no better than one head, defeating the purpose. Pairs should be split up and reassigned when this happens. While pair programming does increase staffing needs, it is an excellent technique for building in quality which is an Agile ideal.

Finally: Simplicity. The simplest solutions are encouraged, addressing the immediate problems, not problems that might arise tomorrow. This helps everyone to remain focused and meet deadlines but can result in considerable redesign and refactoring over time. To avoid architectural dead-ends, spike solutions are recommended, whereby the team creates user stories to prove out areas of most technical or conceptual risk. This, together with refactoring build into every iteration, prevents the system becoming atrophied and unable to support future needs.

One of the reasons XP is so popular is its flexible nature. It is easy to combine features of XP with other ideas; indeed, XP is more about technique than process and so dovetails well with process-centric approaches such as that of Scrum.

Why Use SpiraTeam for Scrum + XP Projects?

When your company requires a system to manage your Scrum or XP projects, there are a lot of choices in the marketplace. However, if you want the most complete solution that can handle your user stories, backlog items and acceptance tests there is only one solution.

Backlog Planning

The list of user stories, requirements, defects and features is called the Product Backlog. SpiraTeam lets you organize the backlog by component, package or priority. You can order and categorize them by simple drag and drop editing. This is called backlog grooming.

Sprint Planning

The requirements, user stories, tasks, test cases and outstanding bugs and issues can be scheduled against the different iterations / sprints in the release. The system will calculate the available effort as items are added.

SpiraTeam is a complete Scrum project management system in one package, that manages your project's requirements, releases, sprints, tasks and bugs/issues. Designed specifically to support agile methodologies such as Scrum, it allows teams to manage all their information in one environment.

SpiraTeam Extreme Programming Scrum
Epic Epic Epic
Requirement User Story Backlog Item
Task Task Task
Release Release Release
Sprint Iteration Sprint
Test Case Acceptance Test Acceptance Test
Incident Defect Defect

Support for Scrum Tasks

In addition to a powerful planning board for managing user stories, epics and backlog items, SpiraTeam includes an easy to use set of boards for managing tasks within the Sprint.

SpiraTeam lets you view the tasks associated with each of the user stories within the Sprint and see the completion status at a glance.

Reporting Dashboards

SpiraTeam provides reporting dashboards of key project quality and progress indicators - requirements test coverage, task progress, project velocity, as well as top risk and issues – in one consolidated view that is tailor-made for Scrum and Extreme Programming projects as well as supporting any legacy/hybrid waterfall projects.

The top reasons that our customers choose SpiraTeam over other Scrum project management solutions are:

  • Highly intuitive web application that provides a complete picture of a project’s status and health yet requires only a web-browser.
  • Available as both a SaaS/hosted service and an on-premise deployment, SpiraTeam is both affordable and easy to deploy for your Scrum projects.

In addition, we provide superb technical support that ensures that enquiries and questions are dealt with in a timely and professional manner.

How do I Get Started?

To learn more about SpiraTeam and how it can improve your Scrum project management methodology, please:

Why Should I Use Rapise For My Scrum/XP Projects?

One of the key tenets of Scrum and XP is that fully integrated, tested and releasable code is available at all times. When you couple this requirement with the accelerated timeframes possible with Scrum, clearly manual testing is not going to cut it. You need a test automation solution that can be integrated fully into your development process and that be adapted to your changing needs:

Rapise is the most powerful and flexible automated testing tool on the market. With support for testing desktop, web and mobile applications, Rapise can be used by testers, developers and business users to rapidly and easily create automated acceptance tests that integrate with your user stories and other backlog items in SpiraTeam.

Self-Healing Tests

One of the obstacles to implementing test automation on an agile Scrum or XP project is that the application’s user interface may be changing frequently, with new pushes to production daily. Therefore, it is critical that tests created one day, continue to work seamlessly the next.

Rapise comes with a built-in machine learning engine that records multiple different ways to locate each UI object and measures that against user feedback to determine the probabilistic likelihood of a match. This means that even when you change the UI, Rapise can still execute the test and determine if there is a failure or not.

How do I Get Started?

To learn more about Rapise and how it can improve your Scrum+XP software testing please:

Try our products free for 30 days, no credit cards, no contracts

Free Trial Please!

And if you have any questions, please email or call us at +1 (202) 558-6885