Sprint 7: Implementing Agile/Lean

Table of Contents


1 About this Sprint

Implementing.png This sprint builds upon the previous sprints by going deeper into the details and challenges faced when actually constructing an implementation plan for an agile/lean transition.


2 Sprint Goals

The student will have a deep insight into the challenges involved in transitioning an existing organisation into an agile/lean methodology and mindset.

3 Readings

3.1 Book Chapters

  • M. Cohn “Succeeding with Agile”, chapters 19-20
  • J. Rasmusson “The Agile Samurai”, chapters 12-14

3.2 Articles

Impementation Challenges [Boehm & Turner 2005] Barry W. Boehm, Richard Turner: Management Challenges to Implementing Agile Processes in Traditional Development Organizations. IEEE Software 22(5): 30-39 (2005).

Agile Practices. [Williams 2012 (table 2)] L. Williams, What agile teams think of agile principles, Commun. ACM, vol. 55, issue 4, pp. 71-76, 2012.

Agile Practices. [Kurapati 2012 (figure 1)] Narendra Kurapati, Venkata Sarath Chandra Manyam, Kai Petersen: Agile Software Development Practice Adoption Survey. XP 2012, pp.16-30.

Lean Practices. [Cawley et al. 2013] Oisín Cawley, Xiaofeng Wang, Ita Richardson: Lean Software Development - What Exactly Are We Talking About? LESS 2013, pp.16-31.

Applying Lean/Agile [Wang et al. 2012] X. Wang, K. Conboy, O. Cawley, “Leagile” software development: An experience report analysis of the applicationof lean approaches in agile software development, in Journal of Systems and Software, 85(2012):1287–1299.

3.3 Other Material

3.4 Further Reading   Optional

Agile Transitioning, success and failure factors [Chow & Cao 2008] T. Chow, DB Cao, A survey study of critical success factors in agile software projects, Journal of Systems and Software 81 (2008) 961–971.

Agile/Lean Continuous Project Monitoring [Miranda et al. 2010] Eduardo Miranda, Pierre Bourque: Agile monitoring using the line of balance. Journal of Systems and Software 83(7):1205-1215 (2010).

4 Experiential Learning

4.1 Introduction

Once an improvement has been identified and evaluated by “dry-running” through imposing it over the current state to form a future state map, the next step is to hammer out the details of the improvement even further. Most importantly, rather than imposing what may be a large change in a big-bang process change, it is advisable to implement changes in smaller steps. Here, the order becomes important as some parts of e.g. a framework depend on that other parts are already in place. Moreover, by imposing a change in the right order and provide “low hanging fruit” early, you may increase the buy-in from the involved stakeholders.

Three core principles of agile/lean are to:

  • get the right requirements,
  • test early and often, and
  • make sure you know where you are in the process

Therefore, we ask in this assignment that you pay special attention to these in your implementation plan proposal.

The intention of this assignment is to give you an insight into the additional complexity that comes when you are actually trying break down a larger framework into smaller pieces, and when trying to change an existing process in order to introduce something new.

4.2 TODO Construct a Proposal for an Agile/Lean Implementation Plan

4.2.1 Tasks

4.2.1.1 Select Framework

Based on your studies in previous assignments, pick one framework (e.g, Srum, DAD, Kanban, JIT, etc.) that you would like to continue further with.

4.2.1.2 Construct Transformation Plan

For the selected framework, propose an implementation plan how to go from the current state to the future state.

  • In which order are you going to make the changes (e.g. introducing the practices)?
  • Which practices and changes should be done together?
  • Would you change big-bang or incremental, and why?
  • What are the impediments and constraints you may face, and how do you overcome them?
  • What is the cost-benefit of the changes overall, and for each increment, and why?
4.2.1.3 Detail Requirements and Testing Activities

To make sure you cover your endpoints, we also ask you to study the requirements and the testing activities connected to your process. This may mean that you have to go outside your previously used process in order to find answers to the following questions:

  • Describe in detail the processes (including roles and responsibilities, and when the processes are invoked) for taking care of:
    • Getting requirements and negotiating them with the user
    • new requirements
    • changed requirements
    • reprioritised requirements
    • removed / dropped requirements.
  • Describe your processes from the following perspectives:
    • Before a requirement is being implemented (product management)
    • While a requirement is being implemented
    • When a requirement has already been implemented (obviously not applicable for new requirements).
  • Describe in detail the processes (including roles and responsibilities, and when the processes are invoked) for:
    • Describing acceptance tests
    • Describing unit and integration tests
    • Automating testing (if applicable)
    • Integrating testing as an integral part of software development
4.2.1.4 Detail In-Process Tracking Activities

Similarly, we want you to to have a minimum grasp of how to visualise and measure the process as it is being executed. Therefore, we ask you to complete the following questions:

  • Describe a detailed example of how to use Kanban to track the status of your requirements/user stories.
  • Describe a detailed example of how you plan to measure your velocity.
    • Provide an example of a burndown chart or a cumulative flow diagram, and describe what can be seen.
    • How will you use your measured velocity for planning in the future?

4.2.2 Scope and Level of Depth

In order to present a viable implementation plan, you may have to go deeper than what you have previously done. You may also need to raise your view to see what impediments may exist outside the process you focus on.

4.2.3 Delivery

Deliver your assignment via e-mail as a written report or a well-annotated set of presentation slides to the course managers.

4.3 TODO Update Backlog

Based on what you have learnt in this sprint, update your Agile/Lean backlog accordingly. Specifically;

  • Revisit the order of the course sprints. Are there any sprints you would like to do sooner or later?
  • What can you take with you from this sprint into your own organisation?
  • What do you need to learn more about?

Add and move items in your Agile/Lean backlog according to your needs and priorities.

5 Sprint Acceptance Tests

5.1 Assignment: Construct a Proposal for an Agile/Lean Implementation Plan   Checkpoint

The assignment is marked as Pass or Fail. The criteria for passing the assignment is that it is at least possible to use it for answering questions such as:

  • Are all the proposed changes accounted for?
  • Does the proposed implementation plan deliver the expected values?
  • Will you be able to satisfy your stakeholders if you would implement the plan as proposed (cf. the win-conditions of your key stakeholders)?
  • Are the costs and benefits of each increment in the plan discussed and motivated?

Date: 2015-08-19

Author: Mikael Svahnberg

Email: Mikael.Svahnberg@bth.se

Created: 2015-10-21 Wed 09:42

Emacs 25.0.50.1 (Org mode 8.2.10)

Validate