Diving into the scrum to make things happen
Tony Robey, Information Age
15/12/2006 14:12:24
Managing rapid and frequent changes by workgroups has become easier through an agile methodology developed by Canberra-based IT solutions provider Wizard Information Services
Wizard is Australian-owned and operated and has an outstanding reputation for providing high-quality innovative services and solutions. Wizard exports to Asia, Europe and North America. Wizard's customers include some of the largest users of IT in Australia, Europe and North America.
Its Scrum Agile Methodology (SAM) is an over-arching agile methodology that can be used to assist any group of people working together to achieve common goals to do so successfully in an environment characterised by rapid or frequent change. It is focused on business priorities, value-driven outcomes, short delivery cycles and high-quality communication.
SAM provides an iterative, adaptive and highly responsive way of working day-to-day to achieve clearly defined goals. Utilising SAM, a project is delivered in increments that produce a demonstrable and potentially deliverable outcome at the end of each iteration - typically every two weeks.
While Scrum is ever more widely accepted as one of, if not the, leading agile methodologies in the software industry, the universally effective patterns of activity it recommends are highly effective in a wide range of other business activities. The benefits of Scrum have been proven by numerous disparate organisations around the world, for a wide variety of projects.
Wizard was pleased to be able to bring these benefits to Australia and to refine Scrum further to facilitate more rapid, higher quality project delivery.
For software development, Wizard uses a combination of the Scrum customer-driven project management methodology and agile software engineering methods, "eXtreme Programming" (XP). This combination of Scrum and XP is both highly complementary and highly cohesive.
Many of the XP practices used in SAM are widely regarded as best practice techniques for software development. These include test-driven development, frequent refactoring, and small, frequent releases. XP techniques underpin the ability of software developers to respond rapidly to changing requirements and new ideas by flattening the cost of change curve through test and build automation.
Wizard adds to Scrum+XP a package of customisations and facilities designed to rapidly deliver projects of exceptional quality, focused on business requirements and continuous business improvement. Supported by software development tools, documentation and training materials, project management tools, design models and development techniques, personnel are able to "hit the ground running" on a project that uses SAM.
In this way, Wizard's years of investment in project management and software process optimisation, through tools, techniques and know-how, are brought to bear on projects in concert with two of the world's most productive and successful agile methodologies, further enhancing their ability to deliver exceptional outcomes and outstanding value for money.
Overview
Scrum can provide an organisation with a holistic approach to managing all of its activities. It is a generalised organisational method that is highly effective for managing a wide variety of business activities. The use of the Scrum project management process can provide business organisations with:
• Maximised business agility;
• Minimised risk;
• Early issue identification and resolution;
• Direct control by the business;
• Frequent, rapid delivery of business value;
• High-quality outcomes;
• Close alignment with current requirements as they emerge and change;
• Whole-of-life value for money; and
• Continuous improvement.
Scrum is a proven methodology and is being employed for software development and other business activities in a large and continually increasing number of major organisations, including: Microsoft (.NET Developer Platform group); IBM; Oracle; Sun Microsystems; Google; Yahoo!; SAP; Nokia; Siemens; Business Objects; General Electric Healthcare; the BBC; State Farm; and the US Federal Reserve.
Scrum is highly useful across a wide range of business activities, including activities across the entire software development lifecycle. Such activities range from rollout planning to focused research and development. Scrum wraps existing operational practices such as Quality Assurance and the best-of-breed agile practices of "eXtreme Programming" when used to manage software engineering projects.
For software development activities, Wizard incorporates the well-established combination of Scrum project management practices with the complementary agile software engineering practices of eXtreme Programming (XP). This integrated methodology is known as Scrum+XP.
Scrum+XP combines all of the business-focused organisational practices of Scrum with a selection of the most valuable and widely proven software engineering practices that constitute the core strength of XP. This combination results in a "best of both worlds" approach covering both project management and development practices in a highly cohesive manner.
Benefits
Scrum has a range of benefits over other traditional project management techniques, as outlined below:
• Scrum delivers rapid outcomes: Scrum can produce demonstrable results every cycle. Compared to other methodologies, projects delivered using Scrum undergo more frequent review and deliver better more client focused outcomes in significantly shorter periods of time.
• Scrum promotes good communication: Scrum is an open and transparent methodology which ensures conceptual integrity and greatly reduces communication risks.
• Scrum thrives on change: Scrum is an empirical process that adjusts rapidly to change. This is achieved through frequent inspection of all aspects of a project and re-planning as necessary based on the emerging reality of the project. This minimises risk and the need for up-front predictive planning, which can often turn out to be incorrect, superseded or sub-optimal.
• Scrum facilitates innovation: Scrum's adaptive operational environments allows an organisation to be innovative and quickly realise the potential of the latest and best business thinking.
• Scrum delivers an early partial product: Scrum addresses the areas of high business value first, when used for software development, tested, working software can be delivered from very early in the project. In this way, Scrum can deliver additional value through early release of high value, production quality facilities. Scrum even maximises the benefits that can be delivered when unforeseen circumstances arise such as early project termination.
• Scrum minimises risk: Scrum addresses areas of risk as early in the project as possible, minimising costly overruns at critical times such as the end of the project, and greatly reducing the risk of high-impact project failure.
• Scrum avoids waste: Scrum manages competing project priorities in such a way as to deliver all the necessary requirements by constantly reviewing requirements, and identifying those with a clear business value and avoiding features with little of no value. This is a vital benefit for avoiding the cost overruns, risks, delays and failures of more traditional software development processes.
Research shows that a great deal of the features typically developed in information systems are rarely used and offer little or no value to the business. The Standish Group's "CHAOS'2000 Survey" (see following diagram) found that 64% of the functions in systems studied were seldom or never used functions. Another large study presented in a keynote at the XP 2002 conference put the figure at 45%. A seldom/never used feature rate of around 50% constitutes both an enormous waste of resources and far greater risk to project delivery, than the SAM approach that orchestrates development around priority features that have clear business value.
• Scrum is self-optimising: Scrum encourages teams to explore innovative ways of optimising their work practices towards maximum efficiency.
• Scrum can handle complex projects: Scrum's empirical process has a much higher probability of success in complex projects as it rapidly adjusts to changes in understanding, estimates, priorities and other factors that are invariably subject to change in complex projects.
• Scrum's effectiveness has been proven: Experience has shown that Scrum projects have consistently resulted in high-quality business systems that regularly exceed client expectations. These projects are repeatedly delivered on time and on budget, requiring fewer resources for client and developer than commonly used for similar activities under a traditional single-iteration waterfall process. Scrum provides an organisation with complete control over their product and rapidly builds trust and confidence that the resulting solution will meet the organisation's existing and evolving requirements in an effective and timely manner.
Scrum in practice
Scrum is a simple and lightweight set of work practices that are reminiscent of the activities used every day by many productive people and teams intuitively enabling them to work in an effective and agile manner.
Scrum provides a clear set of roles, responsibilities and artefacts that facilitate its well-defined activities. These roles include the ScrumMaster, who is the Scrum Team mentor and resolves issues; the Scrum Team, who deliver the sprint goals; the Product Owner, who maintains the Product backlog; and distinct roles for users and stakeholders. The artefacts produced include the Product backlog, which contains a prioritised list of all requirements, and Sprint Backlogs.
Scrum projects begin with the establishment of a project vision. This short document identifies key objectives, return on investment, key milestones and expected releases.
Scrum consists of an iterative process involving short time-boxed iterations known as sprints in which the actual work is undertaken. Sprints begin with a planning meeting, at which the goals are identified, based on the highest priority requirements. During the Sprint, "Daily Scrums" are held to coordinate the team and to encourage early issue identification and resolution. The sprint ends with a review meeting, at which the team demonstrates what they have achieved during the sprint.
Scrum is a very easy methodology to adopt. In many ways, Scrum is simply a formalisation of common practices that many effective people and organisations use every day. For example, many people organise their activities by writing a personal "to-do" list in order of priority. In a team setting, it is natural for team members to discuss the status of their work and to coordinate the day's activity each morning. To ensure that project activities are kept closely aligned with business requirements and priorities, it makes sense for business people to review these activities at regular intervals.
Scrum builds on these and other common-sense practices by making them explicit and rigorous, adding clear responsibilities, management controls and additional patterns and guidance to ensure that the methodology scales to the needs of large and complex organisations. The simple, intuitive nature of Scrum's core practices ensure that it is quick and easy to learn and begin using to deliver rapid outcomes.
Scrum is not just suited to small or medium-sized operations. It scales extremely well to large projects. Coordination between multiple Scrum teams is achieved by conducting a "meta-scrum" or "scrum of scrums". The meta-scrum oversees and coordinates activity across the operational scrum teams. Meta-scrums comprise ScrumMasters who are also involved in the activities of operational Scrum Teams. A leading healthcare systems developer in North America successfully managed project activities of approximately 600 people across many interrelated projects using Scrum, demonstrating the value of this approach.
Implementation and training
Where an organisation wishes to adopt Wizard's Scrum Agile Methodology rather than have Wizard undertake development on their behalf, Wizard offers Scrum and Scrum+XP implementation and training. This can be carried out under a change management framework encompassing the following elements:
• A process of communicating the core principles and advantages of the methodology to the organisation;
• A "bootcamp" style training program to initiate new teams. Where appropriate, this may include XP, testing environment and basic Quality Assurance training in addition to the Scrum Agile Methodology;
• A system of "seeding" new teams with more experienced members on a rotational basis;
• Oversight of the methodology change process by Wizard's Quality Assurance team; and
• A formal change management review and improvement process.
Further information:
The Scrum Development Process at Mountain Goat Software http://www.mountaingoatsoftware.com/scrum/
The Scrum Alliance: http://www.scrumalliance.org/
Control Chaos: http://www.controlchaos.com/
Tony Robey is executive chairman of Wizard, an Australian company exporting to Asia, Europe and North America. http://www.wizardis.com.au
[ Printer Friendly Version ]
[ Other stories about US Federal Reserve, Sprint, Standish Group, Wizard Information Services, SAP, Microsoft, Google, Siemens, BBC, Agile Software, Sun Microsystems, Yahoo, Empirical, General Electric, Oracle, Business Objects, IBM, Nokia, Quality Business Systems ]
|