Software development teams are increasingly making the switch to Agile. Scrum is an approach to development that emphasises the delivery of working software in fixed length iterations (termed sprints), and Scrum is the most popular Agile development methodology. In this instalment of the Atlassian Agile series we asked GreenHopper product manager Shaun Clowes for his thoughts on Scrum.
Scrum helps teams deliver better software, faster. Scrum embraces the uncertainty that is inherent in today’s business environment and helps teams focus on delivering software that has value to their customers in increments. The team can get their software in front of real people and use their feedback to inform the ongoing development. As a result there is less need to predict users’ needs and the outcome is software which has a better ‘fit’ to the users’ real needs. This even allows teams to avoid solving problems that aren’t relevant.
A few years ago people were still wondering if Scrum was a fad. All of that speculation is gone now as Scrum has been around for 10 years and it is so popular that over 50% of companies claim to be using it.
What are the benefits of Scrum?
The traditional waterfall development process is very front loaded. Before the project begins a lot of work is done trying to understand the exact requirements and delivery timeframes. If the project turns out to be too expensive or un-needed then all of this work is wasted.
Even when the project is approved and work begins, the notion that the project team can take those fixed requirements and dates and deliver to them is flawed. This is simply because you can’t impose order on chaos, that is, you can’t enforce certainty where it does not exist. No matter how well written the requirements are there will always be ambiguity or missing use cases which can result in the team wasting time on unneeded functionality or delivering software that isn’t fit for purpose. The ambiguity in requirements is amplified by the general unknowns of the problem domain and technology platform to be used for implementation. This ambiguity means that estimates are often wildly inaccurate which forces teams to inflate estimates or cut corners and introduce quality problems.
The real stinger is that even if you do deliver the product to the plan the world hasn’t stood still and it’s quite possible that the work is no longer relevant or needed. While the team was isolated working on the problem the market or business needs might well have shifted.
Scrum avoids these problems. Scrum is specifically designed to avoid excessive up front planning. Scrum delivers incremental value from sprint to sprint allowing the collaborative development of requirements with business users as the project continues. Scrum also affords the the opportunity to change direction if the needs of the company or market change.
It’s all about delivering more value to customers faster. It’s a bit hard to believe how good the outcomes are: results show that Scrum teams improve productivity and quality while simultaneously reducing costs; Scrum projects are also less likely to fail than waterfall projects and when they do they fail earlier before wasting excessive time.
The other key factor is the alignment that Scrum brings. Scrum brings developers together with market experts (for external projects) or business users (for internal projects), creating a shared understanding and delivering something that fits the needs of the users. This simply leads to better software with the great side effect that the technology and business sides of a business rally together, improving morale and overall organisational effectiveness.
Do teams really need a tool to help them do Scrum?
Teams certainly don’t need a tool although using a tool can help a team tremendously. They key is that a tool can ease your Scrum adoption because it automates and simplifies the manual Scrum processes allowing the team to focus on their Agile transformation. For instance, GreenHopper helps the team remain focused and enthusiastic by automating many mundane tasks that a team member or ScrumMaster would otherwise have to do – updating a burndown or velocity chart, for instance.
As teams mature further in their Scrum approaches they tend to find a tool is essential for a few reasons. Managing the ordered backlog of work to be done in the future becomes impossible as the number of user stories grows and input from other individuals needs to be captured. During sprints teams find it hard to manage the work in flight and need a way to share their progress with other people in the company. Over time keeping track of the results of particular sprints and the amount of work being completed from sprint to sprint becomes onerous. Tools like GreenHopper mitigate these problems.
But even given all those complexity problems, one of the major reasons a Scrum tool is so important in today’s world is the change in workplace arrangements. Recent statistics show that less than 30% of teams are completely co-located. This means that physical wallboards and stand up meetings are either much less valuable or simply ineffective. Distributed teams really need a tool so that everyone can share a view of the world. As this shift continues with increasing proportions of the workforce working from home and further geographic dispersal of teams an effective tool becomes absolutely essential.
Before a company chooses to even do Scrum, what questions should they ask themselves?
Research shows that one of the key predicators of success with Scrum is a commitment to adoption and the principles of the process throughout the organisation, especially with executive stakeholders. There really needs to be a willingness to make a change and a recognition that Scrum is a viable option even though it will require significant organisational change. There also needs to be an understanding that Scrum is not a magic bullet, it can work magic but only if the ground rules are established and the change is managed well.
But all in all, I think we should reverse this and ask why are we not doing Scrum. The evidence of success is there and in today’s world who wouldn’t want to achieve better outcomes with the same number of people? If it’s because the organisation is resistant to change then it’s important to understand that competitors using Scrum will gain a competitive advantage that makes that sort of paralysis dangerous. If it’s because Scrum is complex and the adoption process seems onerous then I’d recommend looking at the tools that can help. GreenHopper has been specifically designed to guide teams towards Scrum best practices and automate away manual processes.
What should a team look for when selecting a tool?
When Scrum teams first start out they need a tool that guides them towards success. They should look for a tool that directly supports the most common Scrum best practices and that is easy for the team to adopt and use. At adoption time simplicity is key because you don’t want difficulties with the tool causing the team to lose faith.
But you need to look a bit further than that because once you’re over the hurdle of adoption your needs change. For example, in a greenfields new Scrum project the work to be done is simply a short list of features or user stories, but as time goes on the list grows and the tool needs to help to make it manageable. You’re also bound to collect bugs (potentially lots of them) and will need the tool to provide an integrated approach to managing those bugs along with the features. This natural change from a lone project team to involvement with the rest of the organisation results in the need to work on items with other teams (for example QA or Build Engineering teams) who need to share your information but aren’t doing Scrum, so the tool needs to be able to expose other views for those teams. This maturation of process also tends to result in the team wanting to enforce a workflow for items so they can be sure their process is followed, so the tool needs to be able to make that happen.
Yet the team’s requirements from there are bound to continue to grow because Scrum emphasises continuous improvement and as a result the team is constantly looking for ways to do things more effectively. This naturally leads teams to look for features such as a suite that can seamlessly support continuous integration, a tool that can be directly accessed by customers to log feedback or problems and even a tool that can directly capture screenshots and annotations while stakeholders are adding items to the backlog.
GreenHopper is an add-on to the industry leading issue tracker, Atlassian JIRA. Over the past 12 months we have completely rebuilt GreenHopper and we have done that in an Agile manner. We made new features available to customers through a beta program, making new releases available every two weeks – an Agile product being built by an Agile development team using Scrum.
We collected over 1,000 pieces of feedback from hundreds of customers and other development teams at Atlassian. Why? We wanted this tool to support the key needs and processes of a Scrum team:
- Product owners ordering and grooming a backlog
- Teams in a planning meeting
- Identify sprint commitment
- Track sprint progress
- Enable continuous improvement
What size companies use GreenHopper? What industries?
GreenHopper is the most popular Scrum tool in the world with over 6,300 customers and over 650,000 licensed users. We have everything from small teams on our 10 user for $10 Starter license through to our Enterprise customers with tens of thousands of developers. Over 90% of the Fortune 50 are Atlassian customers.
At Atlassian we’ve come to realise that software is everywhere, even companies that do not market and sell software products now recognise the need for internal software teams that develop tools for their own competitive advantage.
So we have customers in every industry and we’re making it our mission to make bring all the amazing benefits of Agile software development to everyone everywhere. Our largest industries are finance, IT, telecommunications, manufacturing and scientific research.
Is GreenHopper designed specifically for Scrum?
GreenHopper is definitely a great Scrum tool but we’ve made it highly configurable so that it can support all sorts of hybrid Agile development approaches. We’re very proud of the fact that this flexibility allows us to provide an adoption path towards Scrum for teams that aren’t sure how to get there. For example, teams can start out using simple waterfall style queues of work and then add visualisation of their workflow. This starts to bring some of the benefits of a popular Agile approach called Kanban. They can then begin using Scrum concepts such as estimation and fluid prioritization that brings the team towards a Scrum-ban (Kanban & Scrum hybrid approach). Finally the team can then take the final steps and introduce iterations, burndowns etc to adopt Scrum. Each phase will deliver benefits that help to encourage the team and they this call all be done seamlessly through the same tool.
For more mature teams this configurability is a must because teams need to improve their processes to fit their needs in order to continuously improve. We also include specific out-of-the-box support for fully Kanban teams, even allowing them to interact seamlessly with Scrum teams.
An interesting example we discussed recently with a customer was where they had an infrastructure team using Kanban and their main development team using Scrum. The Scrum team would create stories for infrastructure changes they needed (like a new database) in their sprint and assign them to the Kanban team. The Kanban team could then immediately see that item on their board and update it as they worked on it. As the status of the item was updated on the Kanban board it simultaneously updated the Scrum board. This sort of cross-team, cross-methodology view is amazingly effective for co-ordination.
How can GreenHopper help teams become more productive, more effective, and more agile?
Scrum it not trivial to adopt or sustain because there are significant organisational changes required and there are additional administrative overheads incurred. GreenHopper tries to remove those problems so that teams get all of the productivity benefits and none of the pain. We provide a tool that teams just starting out can easily understand, and that shows them industry best practices. The tool makes common Scrum tasks like entering stories, ordering stories, elaborating stories, estimating stories and updating story status trivially simple, reducing the administration overhead. The tool also unlocks information to help the team improve by automatically generating burndowns that show sprint progress, sprint reports that show what did and didn’t get done and velocity charts that help the team understand how their productivity is changing from sprint to sprint.
As teams develop they can use advanced functionality such as Kanban features, workflow customization and custom fields. As they develop even further they have all of the Atlassian suite available including continuous integration, wiki documentation and source code reviews all of which help the team become more Agile.
Do you see Scrum gaining popularity in the months/years to come?
It’s tough to say on that front. At the moment Kanban is gaining a lot of momentum and it is very well suited to teams that work with queue based work rather than ‘releases’ such as Quality Assurance, DevOps and Maintenance teams. Scrum will definitely continue to be very popular but time will tell.
The Atlassian Agile series: This is the latest interview with top agile experts by Atlassian. Visit atlassian.com/agile for more Agile resources — plus find other interviews including those with Nextag, OpenDNS, OfficeDrop, John Muir Health, PBS, Interspire, and many more.