Lean Software Development: Meshing With Extreme Programming for Increased Productivity

Size: px
Start display at page:

Download "Lean Software Development: Meshing With Extreme Programming for Increased Productivity"

Transcription

1 Lean Software Development: Meshing With Extreme Programming for Increased Productivity Philip Ridderheim Lund Institute of Technology, Sweden March 03, 2013

2 Contents 1 Introduction 1 2 Research Method 1 3 Background Lean & TPS Toyota Production System, TPS The Poppendiecks & Lean Extreme Programming, XP Results Kaizen Kanban The essence of Kanban Constraints theory Just In Time, JIT & Decide as Late as Possible Visual Factory, 5S Conclusions 11 6 References 12

3 Abstract There is a widespread perception that Lean Software Development and Extreme Programming, XP, are not compatible with each other because of the fact that they focus on eciency in an organization from two ends of the spectrum. Lean from an organizational standpoint and XP from a developer standpoint. This report looks at the possibility of meshing the parts of Lean with XP in an eort to improve XPs lack of focus on organizational matters. Three parts of Lean were chosen as the most relevant, Kaizen which focuses on the continual improvement of a product thru small steps as they become needed. Kanban which gives the development team an easy way of checking the development status and lastly the practice of Visual Factory, the need for standardizing and keeping the workspace clean. This report concludes that Lean and XP are meshable to a large extent as XP lacks focus on the functionality needed to support the development team which Lean focuses heavily on.

4 1 Introduction The basis for this paper is the current popularity of the software development methodologies, Extreme Programming, XP, and Lean Software Development and their perceived incompatibility due to the fact that Lean looks at organizational structures and XP revolves around the developer; this perceived incompatibility is further perpetuated by the fact that the lean movement has its roots in the very ecient Japanese manufacturing industry and XP in the more laid back software development world of teams whose culture isn't understood by outsiders. Even though their are fundamental dierences between these two mindsets there is still valuable information that is applicable to both sides. By looking at both and locating which lean practices mesh best with the XP methodology a more improved methodology can be created. Though as with methodologies in general, they need tailoring to each specic situation. Therefore this paper will look at the fundamentals as not to skew the results in favor of a particular tailored instance of XP. 2 Research Method While writing this paper the possibility of using the development groups of the course EDA260 at LTH might have been done. It would not have been a viable and academically sound base for making any conclusions applicable outside the course as: The course does not use strict XP. There are alot of deviations on important points in the XP methodology. The sample size would not be large enough to draw any conclusions as to the methodologies themself. The knowledge level of each student varies to a large extent from fairly seasoned and commited to uninterested student only looking to get their required academical credits. The workload of the student vary as they have other courses. Virtually none of the students taking the course have previously worked in an agile development project. None of the coaches have previous experiance with coaching an agile development team (12)

5 Other studies are carried out at the same time making the working styles of each team varied. Considering these facts, using the development groups to conduct a study is not a viable option. Therefore a traditional documents study is opted for with a focus on looking at the fundamental principles and practices behind the methodologies (12)

6 3 Background In this section the origins of Lean software development and how it diers from it will be explained, then Extreme Programming will be described. Both methodologie's fundamental values will also be explained. 3.1 Lean & TPS Many attempts have been made to adapt the seemingly perfect methodology of the Toyota Production System, TPS, to other elds of engineering. These attempts have had a varied amount of success, mainly due to the fact that TPS was created solely with Toyota in mind, it's creator didn't want to create a great production methodology. The goal was simply to make Toyota a more successful and ecient company.[12] Even though the creators of Lean don't explicitly discuss its relation to Lean Manufacturing[13], another ospring of TPS, it can be assumed that it was used as a base when Lean Software Development was designed Toyota Production System, TPS The Toyota Production System is one of the key factors that have made Toyota into the company it is today. The systems creator Taiichi Ohno created two concepts. The rst has its roots in Henry Ford's book, Today and Tomorrow, 1926, which provided the basis for the production system and the other was based on an idea by Kiichiro Toyoda, the founder of Toyota. The idea was called Just-In-Time and was formulated by Ohno after a visit to an american supermarket in This second concept provided the basis for the continuous materials supply part of the TPS system.[12, 9] TPS builds on four categories of principles [9, 10]: Long-Term Philosophy The Right Process Will Produce the Right Results Add Value to the Organization by Developing Your People Continuously Solving Root Problems Drives Organizational Learning The main objectives of TPS are to remove overburden (muri) and inconsistency (mura), and to eliminate the seven wastes (muda), by the use of processes that avoid these problems.[12] (12)

7 3.1.2 The Poppendiecks & Lean Following the popularization and widespread implementation of Lean Manufacturing, the ospring of TPS, Mary and Tom Poppendieck set about adapting the philosophy to software development; The end product is Lean software development.[13] It's seven core principles are closely related to the ones of Lean Manufacturing. The principles can be explained as[13, 14] : Eliminate Waste - This principle has it's roots in the seven wastes that TPS describes. Amplify Learning - Testing is an essential part of the Lean concept. The learning curve is sped up by the usage of iterations that are short that are coupled with refactoring and integration testing enabling quick detection of inconsistencies. Decide as Late as Possible - Customers rarely know what they actually want so building complex structures that eventually might need large refactoring can end up costing more than the customer or the developer was expecting. Decide when all the relevant facts are known and not too early in the development process. Deliver as Fast as Possible - When the facts are clear, deliver as fast as possible while maintaining quality will help ensure the success of the project. Empower the Team - The actual person doing the work usually has a greater understanding for what he or she is doing and therefore should take part in the decision making process. The aphorism "nd good people and let them do their own job"[8] describes it best. Build Integrity In - Both perceived and conceptual integrity are important as they help ensure the continued commitment of the customer and developers to the project. See the Whole - By decomposing large tasks and standardizing dierent stages of development defects can more easily be found and their root causes eliminated (12)

8 3.2 Extreme Programming, XP The Agile method Extreme Programming was developed by Kent Beck and described in his book Extreme Programming Explained: Embrace Change. The method is "lightweight" meaning that delivering fast is of utmost importance to ensure economical worth. Instead of analysing and designing a structure one should expand the code as need arises. XP also dictates that instead of specialising the team members they take part in all parts of development such as writing analysing, designing, coding, testing and integrating. By having as much face-to-face communication as possible the need for documentation is limited.[2] XP is built around 12 core practices[3]: Fine Scale Feedback Pair Programming - Development should be done by pairs of two where one is the driver, i.e. the one doing the actual programming. THe second developer lls the role of the navigator, he makes sure that they stay on track. Planing Game - This is where cost estimation is done by the development team and the customer. Test Driven Development - All development should be based on tests. The tests are the verication that the requirements set forth are covered. Whole Team - The customer is considered as a user of the system and should therefore be part of the development process as he has knowledge about the products target domain. Continuous Process Continuous Integration - The development should always be focused around the latest version of the code. To enable everyone on the team to stay up to date they should commit/upload their work every few hours or when a signicant step has been achieved. Refactoring - The code should be refactored as soon as someone sees a need for it. The sooner a refactoring is undertaken the quicker it will be done. Limiting the wasted time using obsolete code. Small Releases - Releases should be done as often as possible. This will enable the customer to gain condence in the progression of the project (12)

9 Sharing Understanding Coding Standards - A coding standard should be agreed apon by the entire team and should be adhered to at all times. This will make it easier for a developer to work on other developers code. Collective Code Ownership - All developers on the team own all the code. This will ensure that developers focus on xing problems instead of trying to nd who should x the problem. Simple Design - The simplest implementation tends to be the quickest and therefore the most cost eective. Since prot is the main focus of most ventures costs should be kept to a minimum. System Metaphor - A story that describes the system and how it is intended to work. This story must be understood by all parties in the project, developers, managers and customers alike. Programmer Welfare Sustainable Pace - The development should be undertaken at a pace that is manageable and does not overwork the developers. Beck advocates the 40-hour work week, no overtime (12)

10 4 Results The result of the research and the conclusions based on that research will be presented in the following sections. As the main focus of this paper is improving XP, the results will concentrate on what principles and practices in lean software development that can be meshed with XP and improve it. 4.1 Kaizen The Kaizen principle of TPS dictates that the evolution of the product should come from continuous improvement[13, 14]. It is one of the foundational building blocks of TPS. This meshes very well with software development and especially software conguration management. The concept of Kaizen works very well with XP in the fact that it has a direct counterpart in XP, "Continous Integration", that lls the same function. XP also has two more practices that Kaizen meshes well with, Refactoring and Small releases both work towards focusing the developer on present problems and not on possible future problems. 4.2 Kanban The Kanban practice is one of the most prevalent ones from the TPS method as it can be transferred to agile software development with little eort. The specication set up by the Poppendiecks didn't specify any attributes[13]. On the other hand there has been a lot of activity around making Kanban practical for the Software Development community. These works do not specify what states should be present, but rather it gives a framework for how a state should be represented, and what parts should be present for each state[6], whether there should be: Constraints on the parallelism of the work in progress. What is required for the task to be moved and considered done for the particular state. These attributes enables the development to be dened up front without having to generate large documents and work can begin earlier. The most important gain with the Kanban practice is the communicability of the current status of the work in progress. [4] (12)

11 4.2.1 The essence of Kanban The practice is easily understood and to a very large extent self explanatory. It revolves around using cards that represent individual tasks. These are then moved or pulled thru the development process. Each step in the process is represented as an area on the Kanban board. The steps are organized in their progression with a pool of tasks to be undertaken at one end and at the other end a completion pool where tasks that have gone thru the entire development process. Under each step in the process a "denition of Done" is attached dictating what critera the tasks need to fullll to enable it to be pulled to the next step in the process. To maintain focus and avoid the overstreaching of the team, limitations can be imposed on a specic step. In the example board below only four concurrent tasks are allowed to be developed at one point in time. This ensures that tasks are pulled forward and in this case to "Granskning", which is swedish for auditing.[11] Figure 1: An ordinary Kanban Board as used in the course EDA260[11] As XP's development methodology is based around stories[2] Kanban makes for a good complement as it gives the developers a good visual overview of where the current state of development is at. Kanban also enables the on-site customer an easy way of keeping up to date as Kanban is very intuitively designed.[4] This eliminates the need for a specic set of routines related to preparing documentation and brieng the on-site customer and keep him/her up to date (12)

12 4.2.2 Constraints theory An important part of the Kanban board is the constraints theory. Meaning that by constraining the concurrent work being done overproduction, extra/unnecessary features, can be mitigated[7]. In software development this gets another meaning as well; it also helps to avoid the shared data problem as described by Babich[1] by limiting the amount of parallel work being done reduces the risk of merge issues occurring. This is a very important aspect in XP as it is based on making changes quickly and not waste eort on things that the customer hasn't asked for.[2] Just In Time, JIT & Decide as Late as Possible The Principle of "Just In Time" is one that meshes very well with XP due to the fact that XP advocates not spending eort on non essential development. XP also dictates that only the simplest and most cost-eective solution should be used as all else is wasted eort. This is in its core a fundamental change in how development/production is viewed as traditional development practices suggest that development should be done right from the start.[2] 4.3 Visual Factory, 5S Cleanliness and eciency is something that many associate with the japanese industry and especially Toyota. In software development cleanliness is very important as it will enable developers to faster nd what they are looking for. A clean workspace will enable the developer to get a better overview of the work to be done. One practice to help with the overview is Kanban as discussed in section4.2. The visual factory is a principle that focuses on the workspace. It is built upon 5 principles which can easily be transferred to software development:[5] Sort - Focus on what the customer is asking for. Only build what is needed and required. Deconstruct customer requirements into their smallest valuable parts. Don't spend eort on activities that won't result in any added value to the product or the customer. Straighten - Organize teams and projects in order to optimize the ow of work and lessen the development time for each part. Decide only when necessary. Project Control Tools such as Kanban boards should be used. Involvement of the entire team for major decisions is important (12)

13 Shine - Store and remove unused modules, features, components and so forth. Remove obsolete parts. Remove everything that does not add to the current value of the project. Standardize - The 3 S's should be reinforced by the development processes such that they are a natural part of development yet exible enough to deal with unforeseen changes. All team members should be well versed in the processes. Sustain - Evolve the system as new needs arise and old ones change. Empower team members to take part in the process evolution. Make the processes visible by using measurable value points that can be presented to team members. The concept of the Visual Factory is completely left out of the Poppendiecks book even though it is an important part of what makes the TPS methodology work.[13] The XP practice of pair programming and coding standards make visual factory a very applicable practice as having a standardized development environment used enables other developers to more quickly get up to speed which the layout of the environment and the code when they pair up with other developers.[3] The practise also relates to a general practise in software development of having a clean repository, meaning that code in the common repository should pass all intended tests. Both Lean and XP both have practices and principles that looks at the continual improvement of the developers, though XP looks more at the individual developer and Lean looks at the organization. Visual factory helps with ensuring that the improvements go into collective knowledge and not just an individual developer. By documenting and standardizing the environment optimizations will be pushed to the entire organization instead of just beeing implemented in an individual developers environment.[5] (12)

14 5 Conclusions Even though Lean and XP start at opposite ends of the spectrum, Lean from the organization downwards and XP from the developer up, both have the same intended end product; A more eective organization. Where XP lacks in organizational structure Lean compliments it very well. Xp's main attraction is the fact that it is easy to tailor and is simple enough to be taught quickly but as it is simple it misses a lot of important ground layer practises. This is where Lean comes into play with its organizational focus. The principle of Kaizen which is a very well understood concept in the software world though as a by product of version handling which is probably the base for its inclusion in XP. Kanban with its visual representation of a project's status that enables the development team to quickly and tactually interact with project planning and coordination. This is one of the greatest lacks in XP, the capability of getting a good overview of the projects status. Visual Factory, which emphasizes the need for a clean workspace so that new knowledge is spread and that it doesn't accumulate in one workspace making that individual irreplaceable. Both Lean and XP have large followings but at present there is a lack of meshing between the two methodologies. This might be due to the fact that most organizations use some tailored version of one that inadvertently also uses parts of the other. It might also be due to experts in one are rarely experts in the other. All considered it can clearly be seen that XP at least has a lot to learn from Lean and TPS (12)

15 6 References [1] Wayne A. Babich. Software Conguration Management, Coordination for Team Productivity [2] Kent Beck. Extreme Programming Explained: Embrace Change [3] Kent Beck. Extreme Programming Explained: Embrace Change, 2nd Edition [4] Jesper Boeg. Priming Kanban [5] Christopher D. Chapman. Clean House With Lean 5S [6] Kenji Hiranabe. Visualizing agile projects using kanban boards, [7] Kenji Hiranabe. Kanban applied to software development: from agile to lean, hiranabe-lean-agile-kanban. [8] Pirmin Lemberger. Managing Complexity of Information Systems: The Value of Simplicity [9] Jerey K. Liker. The Toyota way : 14 management principles from the world's greatest manufacturer [10] Jerey K. Liker. The 14 Principles of the Toyota Way: An Executive Summary of the Culture Behind TPS [11] Niklas Hansson Niklas Fors. Kanban i Extreme Programming [12] Taiichi Ohno. Just-in-time for today and tomorrow [13] Mary Poppendieck and Tom Poppendieck. Lean Software Development - An Agile Toolkit [14] Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development (12)

Lean Software Development and Kanban

Lean Software Development and Kanban 1 of 7 10.04.2013 21:30 Lean Software Development and Kanban Learning Objectives After completing this topic, you should be able to recognize the seven principles of lean software development identify

More information

What is meant by the term, Lean Software Development? November 2014

What is meant by the term, Lean Software Development? November 2014 What is meant by the term, Lean Software Development? Scope of this Report November 2014 This report provides a definition of Lean Software Development and explains some key characteristics. It explores

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Journal of Applied Economics and Business USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Nevenka Kirovska 1, Saso Koceski 2 Faculty of Computer Science, University Goce Delchev, Stip, Macedonia

More information

Agile Methodologies and Its Processes

Agile Methodologies and Its Processes International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information

More information

Why the Traditional Contract for Software Development is Flawed

Why the Traditional Contract for Software Development is Flawed Why the Traditional Contract for Software Development is Flawed Susan Atkinson satkinson@gallenalliance.com Introduction Agile has entered the mainstream. In a recent survey, more than 50% of the respondents

More information

More important than ever: The Business Analysts role in Agile software development

More important than ever: The Business Analysts role in Agile software development IIBA Nottingham, May 2010 More important than ever: The Business Analysts role in Agile software development Allan Kelly allan@allankelly.net http://www.allankelly.net Software Strategy http://www.softwarestrategy.co.uk

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

Lean Management. KAIZEN Training of Trainers. KAIZEN Facilitators Guide Page to.

Lean Management. KAIZEN Training of Trainers. KAIZEN Facilitators Guide Page to. Lean Management KAIZEN Training of Trainers KAIZEN Facilitators Guide Page to. Objectives of the session At the end of the session, trainees are able to: 1) Understand the philosophy on lean management

More information

Applying Lean on Agile Scrum Development Methodology

Applying Lean on Agile Scrum Development Methodology ISSN:2320-0790 Applying Lean on Agile Scrum Development Methodology SurendRaj Dharmapal, Dr. K. Thirunadana Sikamani Department of Computer Science, St. Peter University St. Peter s College of Engineering

More information

Extreme Programming: Strengths and Weaknesses

Extreme Programming: Strengths and Weaknesses The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA a.dalalah@uoh.edu.sa Abstract:

More information

Introduction. Industries across the globe are burgeoning. Stiff

Introduction. Industries across the globe are burgeoning. Stiff Solutions for higher performance! Agile VS Lean THE COMPREHENSIVE FACTORS Introduction Introduction Industries across the globe are burgeoning. Stiff competition has permeated every stratum among enterprises.

More information

Getting Started with Lean Process Management

Getting Started with Lean Process Management Getting Started with Lean Process Management Hi-Tec Exchange Conference San Francisco July 25, 2011 Missions To team with Organizational Leaders, Managers, & Employees to focus on customers & improve competitiveness,

More information

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or

More information

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering Agile Models 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the

More information

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development

More information

Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006

Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006 Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme

More information

Agile Software Development

Agile Software Development Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies

More information

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D. An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software

More information

VIRGINIA MASON PRODUCTION SYSTEM (VMPS)

VIRGINIA MASON PRODUCTION SYSTEM (VMPS) Source: Virginia Mason Medical Center VIRGINIA MASON PRODUCTION SYSTEM (VMPS) The Patient is GOD Toyota Production System How it translates to the Virginia Mason Production System Benefits Results Conclusion

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

The Agile Manifesto is based on 12 principles:

The Agile Manifesto is based on 12 principles: The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered

More information

Getting Started with Agile Project Management Methods for Elearning

Getting Started with Agile Project Management Methods for Elearning Getting Started with Agile Project Management Methods for Elearning Megan Torrance TorranceLearning Training2013 Session 108 February 18, 2013 8am Megan Torrance has 20 years of experience in the learning

More information

More important than ever: The Business Analysts role in Agile software development

More important than ever: The Business Analysts role in Agile software development IIBA Business Analysis Conference, September 2009 More important than ever: The Business Analysts role in Agile software development Allan Kelly Training & Consulting for Agile adoption allan@allankelly.net

More information

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se 1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between

More information

Lean Software Development

Lean Software Development Lean Software Development Lean Software Development is an Agile practice that is based on the principles of Lean Manufacturing Lean Software Development comes from the book "Lean Software Development:

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

Quality Assurance Software Development Processes

Quality Assurance Software Development Processes Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed

More information

Introduction to Agile

Introduction to Agile Chapter 1 Introduction to Agile Objectives: Define Agile software development Explain differences and similarities between various lightweight methodologies Learn the core principles of Agile Dispel common

More information

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE

More information

AGILE BUSINESS INTELLIGENCE

AGILE BUSINESS INTELLIGENCE AGILE BUSINESS INTELLIGENCE OR HOW TO GIVE MANAGEMENT WHAT THEY NEED WHEN THEY NEED IT Evan Leybourn Author Directing the Agile Organisation Melbourne, Australia evan@theagiledirector.com INTRODUCTION

More information

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing

More information

Rapid Software Development

Rapid Software Development Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery

More information

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum

More information

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

Lecture 21 March 7, 2013

Lecture 21 March 7, 2013 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 21 March 7, 2013 Patrick Lam version 1 Software Development Lifecycle If you re asked to develop a software project, you re likely to

More information

Continuous Integration

Continuous Integration Effective Implementation of Agile Practices Incoordination with Lean Kanban Veerapaneni Esther Jyothi Assistant Professor, Department of Computer Applications, V.R.Siddhartha Engineering College, Kanuru,

More information

Software development process

Software development process OpenStax-CNX module: m14619 1 Software development process Trung Hung VO This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 Abstract A software development

More information

Agile and lean methods for managing application development process

Agile and lean methods for managing application development process Agile and lean methods for managing application development process Hannu Markkanen 24.01.2013 1 Application development lifecycle model To support the planning and management of activities required in

More information

Essence of Being Lean and Agile

Essence of Being Lean and Agile What is the Essence of Being Lean and Agile? Niels Malotaux +31-30-228 88 68 niels@malotaux.nl www.malotaux.nl 1 Niels Malotaux Project Coach Evolutionary Project Management (Evo) Requirements Engineering

More information

The Lego Lean Game. Danilo Sato, Francisco Trindade XP 2009 Sardinia - Italy. 25 th May 2009

The Lego Lean Game. Danilo Sato, Francisco Trindade XP 2009 Sardinia - Italy. 25 th May 2009 The Lego Lean Game Danilo Sato, Francisco Trindade XP 2009 Sardinia - Italy 25 th May 2009 Agenda! Quick introduction! Simulating a production line!"#$%&'#& -)./0)1#2&! How about software? ()%*+,%& Why

More information

Agile Project Management

Agile Project Management Agile Project Management Projekt-Kick-Off-Tage Hochschule Augsburg Martin Wagner, 15. März 2011 TNG Technology Consulting GmbH, http://www.tngtech.com Agile project management with Scrum Agenda Software

More information

Creating a High Maturity Agile Implementation

Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation www.qaiglobal.com 1 Copyright Notice 2015. Unless otherwise noted, these materials and the presentation of them

More information

MSc in Lean Operations. Module Descriptions

MSc in Lean Operations. Module Descriptions MSc in Lean Operations Module Descriptions 2010 BSP320 Lean Thinking & Practice To establish the roots, underlying philosophy and development of the lean thinking approach. By the end of the module, the

More information

Kanban. A Toyota s manufacturing system for Software Development CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes

Kanban. A Toyota s manufacturing system for Software Development CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes CERN Kanban A Toyota s manufacturing system for Software Development Who am I? Eloy Reguero Fuentes (Noreña - Spain) Computer Science Engineer (Universidad de Oviedo 2007) SoKware Engineer at CERN (2007)

More information

An Introduction to Extreme Programming

An Introduction to Extreme Programming An Introduction to Extreme Programming Ken Auer kauer@rolemodelsoft.com http://www.rolemodelsoft.com RoleModel Software, Inc. 5004 Rossmore Dr. Fuquay-Varina, NC 27526 919-557-6352 Page 1 The Joy of Software

More information

Lean Software Development

Lean Software Development Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié Coach Agile Blog : www.agilex.fr Président du Club

More information

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks XP and Design Paulo Caroli & Sudhindra Rao ThoughtWorks XP and Design Where did the Design phase go? About us About us 14 + 6 About us Certified Architect About us Agile Coach / Developer Agenda Agenda

More information

Software Configuration Management Practices for extreme Programming Teams

Software Configuration Management Practices for extreme Programming Teams Software Configuration Management Practices for extreme Programming Teams Ulf Asklund, Lars Bendix, Torbjörn Ekman {ulf bendix torbjorn}@cs.lth.se Department of Computer Science Lund Institute of Technology

More information

Chapter 6. Iteration 0: Preparing for the First Iteration

Chapter 6. Iteration 0: Preparing for the First Iteration Chapter 6. Iteration 0: Preparing for the First Iteration People only see what they are prepared to see. Ralph Waldo Emerson There are no secrets to success. It is the result of preparation, hard work,

More information

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894

More information

Human Aspects of Software Engineering: The Case of Extreme Programming

Human Aspects of Software Engineering: The Case of Extreme Programming 1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel oritha@tx.technion.ac.il

More information

Nationwide Application Development Center

Nationwide Application Development Center Nationwide Application Development Center Lean Framework, Agile Principles, and CMMI The Path to Agility May 26 th, 2011 About Us Tom Paider Director, IT Applications, Application Development Leader Masters

More information

WHY KANBAN? Troy Tuttle. blog.troytuttle.com. twitter.com/troytuttle. linkedin.com/in/troytuttle. Project Lead Consultant, AdventureTech

WHY KANBAN? Troy Tuttle. blog.troytuttle.com. twitter.com/troytuttle. linkedin.com/in/troytuttle. Project Lead Consultant, AdventureTech WHY KANBAN? 1 Troy Tuttle Project Lead Consultant, AdventureTech Troy.Tuttle@adventuretechgroup.com TroyLTuttle@gmail.com blog.troytuttle.com twitter.com/troytuttle linkedin.com/in/troytuttle Motivation

More information

www.toyota-forklifts.eu Toyota Production System and what it means for business

www.toyota-forklifts.eu Toyota Production System and what it means for business www.toyota-forklifts.eu Toyota Production System and what it means for business Table of Contents Toyota Way 4 Toyota Production System Definition 5 TPS History 6 Just-in-Time 8 Jidoka 10 Kaizen 12 The

More information

Appendix Lean Glossary Page 1

Appendix Lean Glossary Page 1 Appendix Lean Glossary Page 1 Andon Board A visual control device in a work area giving the current status on performance to expectations and alerting team members to emerging issues. Batch-and- Queue

More information

Kanban for software engineering teaching in a software factory learning environment

Kanban for software engineering teaching in a software factory learning environment World Transactions on Engineering and Technology Education Vol.12, No.3, 2014 2014 WIETE Kanban for software engineering teaching in a software factory learning environment Muhammad Ovais Ahmad, Jouni

More information

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

times, lower costs, improved quality, and increased customer satisfaction. ABSTRACT

times, lower costs, improved quality, and increased customer satisfaction. ABSTRACT Simulation of Lean Assembly Line for High Volume Manufacturing Hank Czarnecki and Nicholas Loyd Center for Automation and Robotics University of Alabama in Huntsville Huntsville, Alabama 35899 (256) 520-5326;

More information

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Scrum and CMMI Level 5: The Magic Potion for Code Warriors Scrum and CMMI Level 5: The Magic Potion for Code Warriors Jeff Sutherland, Ph.D. Patientkeeper Inc. jeff.sutherland@computer.org Carsten Ruseng Jakobsen Systematic Software Engineering crj@systematic.dk

More information

Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager

Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ 103 Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager Muhammad Javed 1, Bashir Ahmad 1, Shahid Hussain

More information

The paper should take you around 60 minutes to read and complete any directed tasks.

The paper should take you around 60 minutes to read and complete any directed tasks. Lean Production B This paper is extracted from the BE1170 Project, Programme and Portfolio Management module, Department of Architecture, Engineering and Construction, School of the Built and Natural Environment,

More information

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation

More information

Lean, Six Sigma, and the Systems Approach: Management Initiatives for Process Improvement

Lean, Six Sigma, and the Systems Approach: Management Initiatives for Process Improvement PREPRINT Lean, Six Sigma, and the Systems Approach: Management Initiatives for Process Improvement Robert B. Pojasek Pojasek & Associates, Boston, USA This paper will be published as a featured column

More information

Operations Management and Lean Six Sigma. Presented by: David Muncaster Manager, CI and CSAT Staples Advantage Canada

Operations Management and Lean Six Sigma. Presented by: David Muncaster Manager, CI and CSAT Staples Advantage Canada Operations Management and Lean Six Sigma Presented by: David Muncaster Manager, CI and CSAT Staples Advantage Canada Who is this guy standing up in front of you? Manager, Continuous Improvement and CSAT

More information

An Introduction to Continuous Delivery

An Introduction to Continuous Delivery An Introduction to Continuous Delivery rolf russell continuous delivery practice lead 2011 All rights reserved. conan the deployer getting it in front of users quickly http://code.flickr.com small feature

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

The Need for Lean Training

The Need for Lean Training The Need for Lean Training Jim Keyes University of Wisconsin Stout The recent economic downturn and the sustaining of lower economic conditions into the near future have caused manufacturers to reevaluate

More information

BCS Foundation Certificate in Agile Syllabus

BCS Foundation Certificate in Agile Syllabus BCS Foundation Certificate in Agile Syllabus Version 1.5 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include the latest

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

More information

Gothenburg 2015 Jan Marek Jan.Marek@ca. com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Gothenburg 2015 Jan Marek Jan.Marek@ca. com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams Jan Marek Jan.Marek@ca. com CA Technologies Session S601 Introducing Agile development methodologies to mainframe development teams Agenda Introduce Agile software development methodologies Scrum overview

More information

Lean Principles by Jerry Kilpatrick

Lean Principles by Jerry Kilpatrick Lean Principles by Jerry Kilpatrick Introduction Lean operating principles began in manufacturing environments and are known by a variety of synonyms; Lean Manufacturing, Lean Production, Toyota Production

More information

Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams.

Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams. Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams. Agile for Business www.agilefluent.com Summary The

More information

Agile processes. Extreme Programming, an agile software development process

Agile processes. Extreme Programming, an agile software development process Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

Adoption of Agile Methodology in Software Development

Adoption of Agile Methodology in Software Development Adoption of Agile Methodology in Software Development D. Duka Ericsson Nikola Tesla, Split, Croatia e-mail: denis.duka@ericsson.com Abstract - As adopting Agile software development becomes a trend, there

More information

Agile Extension to the BABOK Guide

Agile Extension to the BABOK Guide Agile Extension to the BABOK Guide Version 1.0 Complimentary IIBA Member Copy. Not for Redistribution or Resale www.iiba.org International Institute of Business Analysis, Toronto, Ontario, Canada International

More information

Using a Lean and Kanban Approach in Agile Development. Jeff Patton AgileProductDesign.com jpatton@acm.org

Using a Lean and Kanban Approach in Agile Development. Jeff Patton AgileProductDesign.com jpatton@acm.org Using a Lean and Kanban Approach in Agile Development Jeff Patton AgileProductDesign.com jpatton@acm.org In this short talk we ll cover: 1. What is a Kanban System and how does it apply to software development?

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

More information

Web Application Development Process

Web Application Development Process Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements

More information

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Agile to the Bone. Introduction to Agile by Pietari Kettunen Agile to the Bone Introduction to Agile by Pietari Kettunen Agenda Problem with traditional software engineering Why Agile is the solution? Roots of Agile Values of Agile Common implementations Scrum Kanban

More information

Agile Development for Application Security Managers

Agile Development for Application Security Managers Agile Development for Application Security Managers www.quotium.com When examining the agile development methodology many organizations are uncertain whether it is possible to introduce application security

More information

5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up

5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up Rally Software Development Corporation Whitepaper 5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up Hubert Smits Agile Coach and Certified ScrumMaster Trainer hubert@smitsmc.com

More information

LEAN CERTIFICATION BODY OF KNOWLEDGE RUBRIC VERSION 3.0

LEAN CERTIFICATION BODY OF KNOWLEDGE RUBRIC VERSION 3.0 MODULE 1 LEAN CERTIFICATION BODY OF KNOWLEDGE RUBRIC VERSION 3.0 1. Cultural Enablers 15% 20% 25% 1.1. Principles of Cultural Enablers 3% 4% 5% 1.1.1. Respect for the individual 1.1.2. Humility 1.2. Processes

More information

MTAT.03.094 Software Engineering

MTAT.03.094 Software Engineering MTAT.03.094 Software Engineering Lecture 12: Lean & Flow-based (KANBAN) Principles and Processe Fall 2015 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture 12 KANBAN Case Study: Scrum vs. KANBAN

More information

Improvement & Implementation. Implementation & Leadership

Improvement & Implementation. Implementation & Leadership INTRODUCTION The level descriptors are central to LCS, since they define what knowledge and implementation abilities an individual should possess. A programme or course aligned to a level should therefore

More information

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

What Every Business Person Needs To Know About Agile Software Development

What Every Business Person Needs To Know About Agile Software Development What Every Business Person Needs To Know About Agile Software Development Audrey R. Troutt February 2009 1 IS THIS GUIDE FOR YOU? THE PURPOSE OF THIS DOCUMENT IS TO DEMYSTIFY AGILE TERMS AND IDEAS USING

More information

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching

More information

LEAN AGILE POCKET GUIDE

LEAN AGILE POCKET GUIDE SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies

More information

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

More information

Focus Conference 2014 Orlando Florida. Angela Lorenzo, MS, RRT, RPFT VA NY Harbor Healthcare System Long Island University

Focus Conference 2014 Orlando Florida. Angela Lorenzo, MS, RRT, RPFT VA NY Harbor Healthcare System Long Island University Focus Conference 2014 Orlando Florida Angela Lorenzo, MS, RRT, RPFT VA NY Harbor Healthcare System Long Island University Desk Set (1957) Desk Set (1957) The computer generated pink slips for every employee

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software

More information

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

More information

Introduction to extreme Programming (XP)

Introduction to extreme Programming (XP) Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve

More information

Agile and lean methods for managing application development process

Agile and lean methods for managing application development process Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.

More information

Non-Technical Issues in Software Development

Non-Technical Issues in Software Development Non-Technical Issues in Software Development David E. Kieras! University of Michigan 1 Introduction Question: Why isn't software of higher quality?! More useful, more usable, more reliable?! Many large

More information