1.

What are the alternatives to Scrum and why should I know about them?

Answer»

There are many product development frameworks that embody the Agile Manifesto values and Principles from the more well known to specific, bespoke frameworks in a single organisation.  The more well-known frameworks and what they contribute to the Agile movement overall are:

  • The Agile Project Framework (APF) – The APF is a development of the world’s first published ‘Managed RAD’ framework, DSDM, from the Agile Business Consortium, formerly the DSDM Consortium.

The APF is the only Agile framework to include advice and processes specifically about product development governance; aspects such as Product Vision, Objectives, expected Benefits, Business Case, management structure and communication plans.

Other Agile frameworks do not go into these details because they believe that organisations already have governance processes in place; for those organisations that do, the processes are not usually suitable for use in an Agile environment.

Similarly, the APF includes the most information about the processes required to RELEASE increments of the product into the live environment.

One of the APF phases, ‘Evolutionary Development’,  can be replaced with other Agile frameworks such as Scrum, Kanban or Lean Software Development.

  • Kanban – the Kanban framework evolved from the visual board that represents product development flow from the Toyota PRODUCTION System; in Japanese the WORD is ‘kanban’ with a small ‘k’; the Kanban framework is usually spelt with a capital ’K’.

David Anderson developed the Kanban framework from the concept of a kanban adding required process management aspects.

The values that Kanban brings to the Agile community are:

  • It can be introduced simply into an existing process; the existing process changes from a continual series of ‘Inspect and Adapt’ SESSIONS; there is no need for a large cultural change up-front.
  • It introduces the concept of the ‘kanban board’ that shows product development flow through the development stages; sometimes known as a ‘Story Board’, ‘Sprint Board’ or ‘Team Board’.

  • Introduces the concept of limiting the work in progress (WIP) for any column to keep the focus on a small subset of the required work and helping to identify development issues.
  • eXtreme Programming (XP) – The XP framework development was led by Kent Beck during the Chrysler Comprehensive Compensation (C3) project.

XP focusses on software development techniques and as such contributes the following to the Agile community:

  • User Stories – To avoid ‘Requirements Specifications’, early XP practitioners developed User Stories to define ‘requirements’ on 5x8 cards: 

“As a {role name}

I need to {name of business process}

So that {business reason for the business process need}

  • Pair Programming – ‘No line of code is written without 2 people looking at it’.  

This does not double the cost of software development because the reduction in rework needed when using pair programming more than compensates for the apparent extra cost.

  • Test-Driven Development (TDD) – ‘No line of code is written without a coded test being written for it first’.

TDD is concerned with Unit Tests; other testing, such as system, integration and user testing is CARRIED out much as the same as in any other framework.

Just as with Pair Programming, above, the quality increase of first-pass coding dramatically reduces any necessary rework.

  • Continuous Integration (CI) – With CI a complete build of the parts of the product so far built is done often, sometimes as often as when the source code for each new piece of functionality is checked-in to the source code repository.

CI allows for any integration errors being found as soon as practicable and they are fixed before further development continues.

  • Refactoring – is a technique where the working source code for an object-oriented method/function is split into smaller, very focused and re-useable methods/functions.

Although there are significant costs to refactoring during the product development, the cost of the product maintenance is significantly reduced because the source code is easier to read.

There are not many implementations of XP in the world but, as you are probably aware, the above techniques developed by XP practitioners are used by practitioners in many other Agile frameworks.

  • Lean Software Development (LSD) – LSD takes the principles of Lean Manufacturing and applies them to software development.

The concepts embodied in the LSD Principles can be used to enhance Agile Values and Principles:

  • Eliminate waste
  • Amplify learning
  • Decide as late as possible
  • Deliver as fast as possible
  • Empower the team
  • Build integrity in
  • See the whole


Discussion

No Comment Found