In the Red in 2009? Here’s How Scrum Can Bail You Out

DZone 's Guide to

In the Red in 2009? Here’s How Scrum Can Bail You Out

· Agile Zone ·
Free Resource

In this article, Victor Szalvay, co-founder of Danube Technologies, predicts that in the coming year, more businesses engaged in software development will turn to Scrum. According to Szalvay,  Scrum can be leveraged to weather volatile conditions (a tanking economy included) and serve as a long-term investment toward sustainably lean operations.

By Victor Szalvay

As 2008 draws to a close, nothing is weighing on the minds of businesses more than the current economic crisis and the impending threat of recession. Irresponsible lending practices and federal bailouts have left the global markets yo-yoing and investors understandably skittish. In this climate of upheaval, organizations have been forced to take a hard, honest look at how they operate. And while most will determine that some action is required, just how they react to the uncertainty of these market conditions is another problem altogether. For most organizations, simply weathering the storm is too risky. Most will proactively prepare for a worst case scenario by pinpointing ways to increase efficiency, while reducing costs. For some of those companies, doing more for less may require a full-scale paradigm shift.

Scrum—which was originally conceived to help teams cope with the inherent chaos of software development—is right at home in the midst of upheaval. Where most engineering disciplines are based on mathematical and physical properties, those properties don’t apply to the comparatively new and “virtual” field of software development. Factor in the thrash of evolving customer requirements and it’s easy to see how the development process can be chaotic. Scrum addresses this trend of upheaval by organizing work into succinct, repeatable cadences of work known as “sprints.” A team’s sprint might range from a single week to a month in length, but what’s important is that the duration of the sprint remains the same. (That is, if a team’s sprint is two weeks, it is always two weeks.) During this time, the team has a fixed number of assignments (in Scrum parlance, they’re called “Product Backlog Items” or “PBIs,” for short). In completing the committed PBIs, Scrum asks that teams produce a potentially shippable increment by the end of each sprint. Thus the team produces a functional piece of software — no matter how limited its functionality — which can be demonstrated for the customer. This increment is “potentially shippable,” meaning the quality is high and it could be shipped if the business decided to do so.

So how can the Scrum process, as summarized above, help organizations respond to the challenges of a turbulent economy? First, because Scrum teams work in sprints and add functionality to the product with each successive sprint, the framework is commonly referred to as being “incremental” and “iterative.” This approach to project management might seem too basic to affect the order of change I’m discussing here, but breaking the development process into cycles and the output into increments yields significant advantages over traditional sequential project management. For instance, in traditional sequential models, it is typically assumed that all requirements can be known at the outset and that they will not change as development proceeds. Scrum, on the other hand, asserts that requirements are constantly changing in response to similarly evolving external factors. Whether it’s a customer’s new demand, the release of a rival product, or a global economic crisis, there’s always something going on in the world that influences the shape of the product. By organizing work in repeatable cycles, Scrum leads teams to continually check the product they’re developing against real world conditions and, in the process, ensure that the final product will best meet the demands of the evolving landscape and stake a competitive claim in the market.

This approach to managing software projects is ideal for organizations that, prompted by uncertain financial times, must minimize expenses while still delivering the product they’ve promised to the customer. Because each sprint is punctuated by sprint review and planning meetings, organizations never wait longer than a single work cycle to evaluate progress and direction. Moreover, because the team has created a shippable increment, it always has functioning software to present to the customer for feedback. With a product for customers to react to and a dedicated time to incorporate their feedback, a Scrum organization has a built-in safeguard against straying too far from the end goal.  It’s been reported that approximately 64 percent of software product features are rarely or never used .

By building a product in increments, and focusing on delivering high value features first, the product is always positioned for release of high value features. Analogous to how “Lean” and “Just-In-Time” manufacturing help reduce inventory, Scrum helps organizations maximize productivity because it maintains that work can begin before all requirements are known. Rather than spend time attempting to identify every conceivable feature to be added to a product, the team agrees on essential, basic functionality and begins work immediately. Given that many teams waste time and money trying to account for every conceivable contingency (this phenomenon is known as “analysis paralysis”), Scrum prods teams to begin immediately, even if the path to the final product is somewhat foggy.

A lack of a comprehensive plan makes traditional managers uneasy, but this process of adding requirements as development progresses actually helps teams build the right product. Because the team can present a functioning product increment to the customer at the end of each sprint, it can use directed feedback to guide development and add new requirements incrementally.

Moreover, this frequent communication provides customers with options—even late in development. Because developers are not locked into an inflexible plan (as typically occurs in traditional management), they can wait until the last responsible moment to implement a feature. This flexibility allows customers to react as nimbly as possible to late-breaking factors, from volatile market conditions to the release of a rival product.

Scrum also provides forecasting tools to help product planners make trade-offs between scope and schedule. In contrast to sequential project plans, Scrum’s forecasts are based on empirical progress and the requirements’ flux-to-date. By extrapolating the rate of progress and the rate of changing requirements, a Scrum product planner has a powerful tool for proactively managing products in the face of chaotic surroundings.

Though Scrum’s ability to help organizations adopt leaner business operations makes it ideal for tight times, it’s a project management method that creates value for a business at any time. After all, Scrum ultimately endeavors to maximize organizational effectiveness by delivering business value fast and often. So whether it’s a bull or bear market, the framework optimizes output for success. Still, that potential to minimize disruption when the unexpected occurs reveals Scrum’s ability to mitigate crises. In the coming year, as the threat of a full-scale recession looms large, an approach to management that can reduce the impact of a faltering economy stands to lead more organizations than ever to Scrum.

About Victor Szalvay
Victor Szalvay co-founded Danube Technologies, Inc. with his brother Laszlo in Seattle in August 2000. As a project success company, Danube strives to improve its clients’ development processes and product quality using the Scrum paradigm. Its flagship product, ScrumWorks Pro, is the only collaborative management tool designed for the Scrum lifecycle. In addition, Danube’s ScrumCORE™ division provides coaching to clients through public and private courses as well as onsite engagements.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}