Exploring the difference between Agile and Lean: A stakeholder perspective Mohammad Shahidul Islam Sentayehu Tura Uppsala University Department of Informatics and Media Exploring the difference between Agile and Lean: A stakeholder perspective Mohammad Shahidul Islam Sentayehu Tura Supervised by: Pär Ågerfalk Thesis for the Degree of Master of Science in Information Systems Department of Informatics and Media, Uppsala University, UPPSALA, Sweden 02 May, 2013 2 Abstract In this thesis, we have identified the difference between Agile and Lean methods based on stakeholder’s perspectives. To achieve the goal we have deal with only Agile and Lean principles. In addition, in order to identify the stakeholders from Agile and Lean principles we have used the relevant prac- tices from both sides. As the principles of Agile manifesto are directly fol- lowed by most of the organizations, we have also used Agile principles di- rectly in this research. On the other hand lean methods have no pure princi- ples, as a result we have used the most common and popular lean principles derived from different authors. We have only considered the most relevant principles that might be useful in software development. To achieve a stronger result of this thesis we have also considered stakeholder theory. Moreover we have identified the stakeholder’s involvement with Agile/Lean principles and stakeholder theory. Key words: Agile methods, Lean thinking, Lean software development, Stakeholders, Stakeholder theory. 3 Acknowledgement This thesis came to completion after a long journey of encouraging and con- structive feedback given to us by our adviser, Professor Pär J. Ågerfalk, whom we would like to express our heartfelt gratitude. We also would like to thank senior lecturer Jonas Sjöström for encouraging us to work on this topic in the first place. And last, but not least, to family and friends, thank you all for your patience and wonderful support. 4 Contents Abstract ........................................................................................................... 3 Acknowledgement .......................................................................................... 4 Contents .......................................................................................................... 5 List of tables: ......................................................................................... 7 1. Introduction ........................................................................................... 9 1.1 Motivation ....................................................................................... 10 1.2 Research questions .......................................................................... 11 1.3 Thesis limitation .............................................................................. 11 1.4 Structure .......................................................................................... 12 2. Research Method & Analytical Framework ........................................ 13 3. Stakeholder Theory .............................................................................. 17 3.1 Introduction ..................................................................................... 17 3.2 Stakeholder Theory Models ............................................................ 18 3.3 Different Models for Identifying Stakeholders ............................... 21 4. Agile methods ...................................................................................... 24 4.1 Introduction ..................................................................................... 24 4.2 Agile principles ............................................................................... 25 4.3 Practices and Tools ......................................................................... 30 4.3.1 Scrum ........................................................................................ 30 4.3.2 Extreme Programming ................................................................ 33 4.4 Summary and Definition ................................................................. 38 5. Lean methods ....................................................................................... 40 5.1 Introduction ..................................................................................... 40 5.2 Lean principles ................................................................................ 42 5.3 Practices and Tools ......................................................................... 50 5.3.1 Just-in-time ............................................................................ 50 5.3.2 Kaizen .................................................................................... 50 5.3.3 Queuing Theory ..................................................................... 51 5.3.4 Leadership .............................................................................. 51 5.3.5 Cost of delay .......................................................................... 52 5.3.6 Value stream mapping ........................................................... 52 5.4 Summary and Definition ................................................................. 53 6. Derived Agile and Lean principles ...................................................... 55 6.1 Agile principles based on stakeholder perspective ......................... 55 6.1.1 Working software frequently ................................................. 55 6.1.2 Embrace change ..................................................................... 56 5 6.1.3 Simplicity ............................................................................... 58 6.1.4 Customer satisfaction ............................................................. 59 6.1.5 Stakeholder involvement ....................................................... 60 6.1.6 Motivated and self-organizing teams ..................................... 61 6.1.7 Sustainable development ....................................................... 63 6.1.8 Technical excellence .............................................................. 64 6.1.9 Face-to-face communication .................................................. 65 6.1.10 Product improvement ........................................................ 66 6.2 Lean principles based on stakeholder perspective .......................... 67 6.2.1 Define customer value by eliminating waste ......................... 67 6.2.2 Decide as late as possible....................................................... 69 6.2.3 Move towards flow and deliver values fast ........................... 71 6.2.4 Continuous improvement ....................................................... 72 6.2.5 Create learning environment .................................................. 73 6.2.6 People focus ........................................................................... 75 6.2.7 Customer focus ...................................................................... 76 6.2.8 Product excellence ................................................................. 77 6.3 Summary ......................................................................................... 81 7. Analysis ............................................................................................... 82 7.1 Comparison work ............................................................................ 82 7.1.1 Agile principles Vs Lean principles ....................................... 82 7.1.2 Stakeholder theory Vs Agile and Lean stakeholders ............. 89 7.2 Differentiating stakeholders based on Mitchell’s model ................. 94 7.3 Summary ......................................................................................... 98 8. Findings and Conclusion ..................................................................... 99 8.1 Future work ................................................................................... 101 9. References ......................................................................................... 102 Appendix: Glossary of Terms ..................................................................... 108 List of figures: Figure 1: Jarvinen’s taxonomy of research methods (Research Questions Guiding Selection of an Appropriate Research Method) ..................... 14 Figure 2: Four tier model for identifying relationship between stakeholders and principles. ...................................................................................... 16 Figure 3: Traditional stakeholder theory ....................................................... 19 Figure 4: Basic two-tier stakeholder map (source: Freeman et al. 2008:51) 20 Figure 5: Basic two- stakeholder map (source: Freeman et al. 2008:62) ...... 21 Figure 6: Stakeholder typology (Mitchell, Agle and Wood, 1997:874) ....... 22 6 Figure 7: The Scrum process ....................................................................... 31 Figure 8: Partitioning of Agile project stakeholders by (Koch, 2005) .......... 61 Figure 9: Possible nearest Agile versus Lean principles ............................... 83 Figure 10: Stakeholder theory relationship with derived Agile principles ... 91 Figure 11: Stakeholder theory relationship with derived Lean principles ... 93 List of tables: Table 1: Lean principles mentioned by different authors ............................. 48 Table 2: Derived lean principles based on different authors......................... 80 Table 3: Identifying stakeholders based on Mitchell’s model ...................... 96 7 Abbreviations ASD Agile Software Development BFS Breadth-First Search DFS Depth-First Search DSDM Dynamic Systems Development Methodology FDD Feature Driven Development GSD Global Software Development JIT Just In Time LSD Lean Software Development TPS Toyota Production System XP Extreme Programming 8 1. Introduction Today’s fast growing technology, diverse business challenges and demand- ing customer requirements force organizations to seek and discover strate- gies or methods that can handle such problems. Lean and Agile methods are amongst the different methods that are capable of solving these kinds of problems. At the beginning Lean is about manufacturing and production but its high level goals and principles can also be applied to software develop- ment. Whereas Agile methods did not appear out of thin air but were based on different practices from earlier times. It is well known by its values of customer collaboration, iterative development, self-organizing teams, and adaptability to change (Rico, 2010). The aim of agile software development is to overcome the limitations of plan-driven software development like welcoming change of requirements at any time. It focuses on close cooperation between customers and developers, delivering software within time and budgets constraints. Agile development process is repetitive, adaptive and minimally defined as it relays on frequent informal face-to-face communication. There are different types of Agile methodologies where extreme programming (XP) and Scrum are widely used (Jalali and Wohlin, 2010). The advantage of using agile methodology is to get benefits like flexible project management, minimize product cost, increase communication and finally that can lead to customer’s satisfaction. On the other hand, lean is not too far away from software development. Dif- ferent authors advocate that the idea behind lean manufacturing might be useful for software development (Poppendieck, 2003; Middleton, 2001; Middleton, Flaxel &Cookson, 2005; Poppendieck & Cusumano, 2012). “In 2008/09, BBC Worldwide generated profits of £103 million on revenues of £1.004 billion” (Middleton and Joyce, 2012 cited in BBC Worldwide web- site, 2010, p. 21) using lean thinking in software development. However, recently different authors suggested combining agile and lean together for better software development, although authors argue on the dif- ference between agile and lean. Difference between agile and lean could be considered from two views. One view is that both have their own different levels, like lean could be considered as a set of principles where as agile is more practical. Another view of difference is from their scope and focus, where Agile methods concern on specific product development only. On the 9 other hand lean concerns on everywhere like business context where devel- oping product is a small part of it (Wang, 2011). Naylor, Naim and Ber- ry(1999) defined “agility means using market knowledge and a virtual cor- poration to exploit profitable opportunities in a volatile market place where leanness means developing a value stream to eliminate all waste, including time and to ensure a level schedule”. Stakeholder theory comes from the area of strategic management where Freeman and Reed (1983) defined stakeholder is “any particular group or individual who can affect the achievement of organization’s objective or is affected by the achievement of organization’s objective”. The concept of stakeholder theory in software development is always ignored although it is well recognized in the field of IS. The principles and concept of stakeholder theory may apply in software development that can help managers to under- stand roles and responsibilities from different stakeholder’s point of view that may also influence product development efforts. The most two common scenarios always observed at the end of the software development are that either customers reject the product as it does not meet their requirement or the cost and schedule of the project become too large. To avoid such situa- tions McManus (2004) suggested collecting three types of information about stakeholders: information about each stakeholder separately with their roles and profile, information about how to interact with them and finally about their interaction with other stakeholders. In this research we will illustrate the difference between agile and lean based on stakeholder’s perspective. To achieve this goal we use the principles from both agile and lean. We also identified relevant stakeholders for each ag- ile/lean principle through practices which will help managers to choose proper practice for specific principle concerning relevant stakeholders. And finally we will use Mitchell’s model to differentiate several stakeholders for each principles. 1.1 Motivation There are two motivations for this thesis work. First motivation is why man- agers should combine agile/lean methods and the second motivation is why managers need to consider stakeholder theory. Polk (2011) who was the team manager of NG (Networking Gaming) system team development of WMS Gaming Inc tried to get the benefits using agile software development. He tried to run his project based on agile principles. He divided eighteen members in three teams and later on worked with a 10
Description: