By Nick Entin, VP R&D, Polarion Software
In this series of 6 articles (I'm still working on it!) I'll share with you how our team works with Scrum and how we have configured Polarion ALM to support the way our R&D team works best (until we discover new ways to work even better).
Today many software development companies are switching to Agile processes and, particularly, to Scrum, for various reasons. Polarion R&D also adopted Scrum for internal development. Why?
There were several reasons, some of them specific to the company (size, area of business, customers, etc.), and others quite general. In this blog I’ll focus on what played a role for us; I won’t try to describe how we would do things “if”.
The first, and probably most important, reason was transparency – customers were demanding something, Product Management defined requirements, the Development Team committed to fulfill them, but come release time, results were not exactly as expected, and there were delays in delivery. If a release was rescheduled, then typically there were still unknown risks and nobody could promise if the new delivery date was actually realistic or not. We needed to find a way to improve this situation.
The second reason was the nature of features to be implemented. Modern technologies are changing so rapidly that planning 2 years in advance makes no sense – in 3 months there might already be an Open Source component, which might be easily integrated into the product without much internal effort. Or a competitor could come out with a “killer” feature, which should find some counterpart in our product in the shortest possible time. So flexibility in changing priorities and reshuffling the list of requirements is mandatory. There is actually not so much space for reliable predictions.
Scrum helps us to find answers for what we need to do to build quality software faster. We’ve switched from a defined and predictive development to an empirical iterative incremental process. This is exactly what Scrum is about. If you want to learn some more about Scrum, I would recommend you to take a look at:
Let’s quickly review some of the important values of Scrum:
Empiricism – this is the way to manage development and deployment of complex products
Empiricism is dependent on frequent Inspections and Adaptations – this allows people to check and reach goals
Inspections provide full Transparency: people involved know about the state of the product exactly as it is, not guessing or relying on statements like “we’re right on time”
Iterative development provides the possibility to generate visible Increments of functionality, thus progress is counted not by time or money spent, but by concrete results.
Self-organization – all participants of the project are committed to the common goals and it’s natural for human beings to do things better and faster when they can work in whatever way is most efficient for them, rather than being told by somebody how to do things. Integrity of the team is raised, pushing productivity and motivation upward.
Delivery – last, but not least, many great projects with very capable teams have failed to deliver anything. Scrum allows to teams to minimize risks along the way. Even if project is going to die, it’s better to know this, cut the losses, and kill it earlier, isn’t it?
Just like you, we at Polarion are constantly reviewing and refining our process. We make changes based on what works best, modifying what we find could be improves, and discarding what simply doesn't work. One cool thing though, that not all teams get to do, we get to customize our tool with configurations and templates that make it support the way we work. And we get to pass on some of that know-how through the project templates we deliver with Polarion... our Scrum project template being a prime example.
In the next article, I'll demonstrate the major benefits Polarion's R&D team derives from using Scrum.
Nick Entin is VP for Research & Development at Polarion Software. He oversees the development of all Polarion requirements management, application lifecycle management, and team collaboration software products. He is a member of the Scrum Alliance and a Certified ScrumMaster. You can read his profile at http://www.polarion.com/company/people/index.php.