Software Process Improvement plan

Size: px
Start display at page:

Download "Software Process Improvement plan"

Transcription

1 UNIVERSITY OF OSLO Software Process Improvement plan TDD Karoline 11/15/2012 INF5181

2 Table of Contents Introduction... 3 Improvement context... 3 The issue... 3 Process improvement method... 3 Improvement goals... 4 Baseline process... 5 Description of the baseline process... 5 Descriptive model... 6 Performance of the baseline process... 8 Target process... 9 Changes... 9 Test driven development... 9 Description of target process... 9 Implementation of target process Measurement and Control Measurement plan Base Measures Derived measures Action plan Success Discussion Underlying rationale of proposed changes Risks of proposed changes Bibliography

3 Introduction In this section the context in which the software process improvement plan (SPI) is going to be conducted will be described. The problem the company struggles with, the method that will be used and the goals that will be set for the improvement will also be further elaborated. Improvement context The company is a small Norwegian software development company. They are consultants and develop software systems for their costumers. The systems they develop are usually around net lines of code (NLOC) and are web based, hosted in the cloud. Because they are such a small company they have no individual test group. Usually everyone works on the same project. The entire company consists of 6 software developers and one manager. They specialize in developing new software. Their main development language is Java and they use spring MVC for developing web solutions. When doing projects they use the scrum model, this is because they are such a small team and because they like the iterative development style. The issue The developers like to postpone the writing of tests because they want to write real code. By real code they mean code that has a functionality they can see. This means that they don t want to waste their time writing automatic tests. This results in the company using a lot of time on manually checking for errors during the development. The company has a policy that all of the code has to be covered by tests so that the delivered software is reliable. Because of this, they have to write automatic tests, but they postpone it to the end of the sprint. They even use more time than necessary because they have forgotten their reasoning when they wrote their code. This results in the same error being search for first manually and then automatically by tests. Process improvement method To improve this problem the software process improvement method that should be used is the plan-do-check-act (PDCA) model as described in Figure 1. This method consists of: 1. Plan what you want to accomplish and how to do it 2. Do what is planned 3. Check the results 4. Act on the results(plan for future improvement) (Ronald Moen) The plan phase will be covered by describing the baseline process, the target process and the implementation of target Figure 1: Plan-do-check-act model (Brunner, 2009) 3

4 process. Do is when the company does the suggested changes. How to check is covered by the measurement plan and act is covered by the action plan. Improvement goals The goal of this SPI is to help the company reduce the effort spent on developing 1 kilo line of code (KLOC) by 10%. This is done by reducing the effort spent on manually searching for errors by at least 80%. By effort is meant number of person hour spent. This has to be done without decreasing the quality of the delivered software. This is measured by number of defects per KLOC. 4

5 Baseline process In this section the elements of the current process are going to be described. The elements in the process and how they are related will be outlined. Description of the baseline process The description of the baseline process will only contain information about the part of the process that will be changed. The activity that is relevant for this particular case is the development activity, which is a part of the sprint in scrum. The development activity consists of a number of sub activities which are functionality implementation, manual error searching and testing. Artifacts sent into this activity are the sprint backlog, which contains the estimated user stories broken down into tasks, functionality and software. The roles involved in the activity are the scrum team and the scrum master. The tools that are used is burn-down chart and meetings. Roles Scrum team: members of the development team o Developer: member of the scrum team Scrum master: member of the team, but acts as the leader when necessary Artifacts Sprint backlog: Collection of user stories that are divided into tasks o User stories: Description of wanted functionality o Tasks: This is the user stories broken down into smaller tasks that should be possible to do in a day. Functionality: Functionality of the software Manually tested functionality: functionality that is manually tested by developer Software without automatic tests Software: The working product from the sprint. Activities Development: The development of the functionality during a sprint o Implement functionality: Functionality defined by a task is implemented o Manually search for errors: Developers manually search their code for errors o Write automatic tests: Tests to check if the functionality implemented is correct. Tools/techniques Daily standup: The scrum team talks about what they did the day before and what they are going to do this day. Represents the start of a new daily scrum. Burn-down chart: A tool to asses how many hours of the estimated time of the sprint that are burned (finished). 5

6 Descriptive model The different roles, artifacts, activities and tools/techniques can be illustrated in a descriptive model of the process. This is to better understand how the sprint is conducted. To understand the different shapes of the diagram, take a look at Figure 2. Figure 2: A description of the different shapes Figure 3 is an overview of how the development activity looks like from the outside. Figure 3: Overview of the development activity To get a better understanding of the different sub-activities in the development activity Figure 4 will be helpful. This figure is only a description of how the functionality is implemented. Not a description of everything that is done during the development of the software. 6

7 Figure 4: Detailed description of the sub-activities in the development activity 7

8 Performance of the baseline process Each person monitors with a time management software how much time he uses on the implementation itself and how much time he uses on manually searching for errors in the code that is written. This is measured during the sprints. The management of the company collects the numbers and finds that for 1000 NLOC, an average of 19 person hours are used manually searching for errors. This is during the development and does not include test writing. It is also found that an average of 66 person hours is used on developing 1000 NLOC during the sprints. Measurements also show that on average 2 errors are reported for 1000NLOC 6 months after delivery. 8

9 Target process In this section the elements in the baseline process that will be changed are described. How the new process looks like will also be elaborated. Changes In stead of writing the tests at the end and doing a lot of manual testing, test driven development (TDD) should be applied in the development activity. This means moving the test writing from the end of the sprint to in front of the functionality implementation and removing the manual error searching activity. Test driven development There are 3 steps in TDD. 1. Red - Write a test that does not work 2. Green Write code to get the test to pass, 3. Refactor Eliminate duplications created when getting the test to work (Beck, 2003) This has to be done for all of the code. Testing frameworks like mockito can be used to test user interfaces. The code should not even know that it is not communicating with a regular user. By doing this, possible errors can be identified before they emerge. And when you get errors, the tests will tell you exactly where they are. Description of target process They use Scrum as before, but with TDD as a tool in the development activity. This is described in Figure 5. Figure 2 explains the different shapes in the model. Figure 5: Development activity with TDD as a tool 9

10 To get a more detailed description of the development activity, take a look at Figure 6. This model shows how a developer chooses a task, writes the test, sends the failing test as an input to the code writing, get the test to pass, refractors, then continues to do this until the sprint is done, and out comes the tested sprint deliverable. Figure 6: Detailed description of the development activity using TDD 10

11 Implementation of target process In this section the implementation of the target process is described. When you are suggesting changes to the process it is important to take into account when the process is supposed to be changed and who is in charge of the changes. What steps need to be taken to implement the changes is described in Table 1. What When Who How Get support from management Communicate changes to developers Allocate resources for training Training Start using the new process As soon as possible Management Present the improvement plan As soon as the management is convinced After the changes has been presented to the developers Start as soon as possible after the resources has been allocated and when workshops are available After training is complete, and the developers starts a new project Table 1: Steps before implementing changes The manager will be responsible for communicating the changes and developers need to conform to this Management Developers Developers, management Explain the developers the reason and the expected results of the changes Get resources Coding kata Pair programing Workshops Apply the changes to process 11

12 Measurement and Control In this section the details of the measurement plan is described. This is done by describing how the measurements are taken and how to control the measurements. Measurement plan To reach the improvement goals, you have to measure the current results and the results after the improvement plan has been initiated. Because it takes time to get to know the new way of working, the improvement usually won t be seen right away. The team needs time to adapt to the new way to work. Two sprints will be needed before the final measurements are evaluated. To find out if less time is used on manual error searching, one needs to measure the effort as done in Table 2 and average it, as done in Table 6. The code length also needs to be found as described in Table 3 so that you can derive the averages. It is important that the same measurement script is used each time so that the measures are objective. To measure quality the number of errors needs to be measured as described in Table 4 and then the derived average quality as described in Table 7 needs to be found. The overall time spent on developing as described in Table 5 and the average effort spent on developing in all sprints in the project as described in Table 8 also needs to be measured so that the improvement can be found. Base Measures Characterizes an empirical property and requires no prior measurement of another property. Manual error searching effort Entity Manual error searching Attribute Effort Unit Person hour Range [0, ) When is it measured When sprints are done Who collects data Developer How is it collected Time management program Who is responsible for data integrity Scrum master Table 2: Manual error searching effort Code length Entity Code Attribute Length Unit Kilo lines of code(kloc) Range (0, ) When is it measured When sprints are done Who collects data Scrum master How is it collected Measurement script Who is responsible for data integrity Scrum master Table 3: Code length 12

13 Code quality Entity Code Attribute quality Unit defects Range [0, ) When is it measured 6 months after delivery Who collects data Costumer How is it collected Costumer reports big and small errors Who is responsible for data integrity Manager Table 4: Code quality Development effort Entity Development Attribute Effort Unit Person hour Range (0, ) When is it measured During development Who collects data Developers How is it collected Time management software Who is responsible for data integrity Scrum master Table 5: Development effort Derived measures Uses one or more base measures. This measurement requires the measurement of two or more attributes. It combines the attributes using a mathematical model. Average manual error searching effort Entity Manual error searching Attribute Average effort Unit (Error searching effort / KLOC) Range [0, ) When is it measured After product is completed Who collects data Manager How is it collected Gathers base measures Who is responsible for data integrity Manager Table 6: Average error searching effort Average quality Entity Code Attribute Average quality Unit (Defects/KLOC) Range [0, ) When is it measured 6 months after delivery Who collects data Manager How is it collected Gathers base measures Who is responsible for data integrity Manager Table 7: Average quality 13

14 Average development time Entity Development Attribute Average effort Unit (Development effort/kloc) Range (0, ) When is it measured After project is completed Who collects data Manager How is it collected Gathers base measures Who is responsible for data integrity Manager Table 8: Average development time Action plan The actions depending on the success/failure of the SPI will be described. This is according to act in the plan-do-check-act method. (Ronald Moen) After two scrum projects the success or failure of the SPI can be determined. The first sprint will be mostly training and getting used to the new way of developing software. The second sprint will be refinement of the new way. In the third sprint, the skill should be properly evolved and the wanted improvement should be seen. This is when the success or failure is determined. Success The SPI plan will be considered a success when Manual error searching effort is reduced by at least 80% o Less than 2 hour is spent on manual error searching The quality of the products are better or the same o Error rate <3 per 1000NLOC The overall time spent on developing functionality is reduced by 10% If this is reached during the second scrum project, the SPI will be considered a success. If the wanted improvement is not reached the company is still encouraged to keep the improved process because there are a lot of other benefits involved with using TDD as presented in the Discussion. 14

15 Discussion In this section the underlying idea of the SPI are introduced and potential risks involved with the SPI are presented. Underlying rationale of proposed changes The reason why TDD is suggested as the improvement is because it is a well tested method that is widely used by a lot of big and small development companies. One could suggest just writing the tests first, without using the TDD technique, but using TDD is said to come with a lot of other benefits as well: Eliminate duplication Less complex code Watch dog for future changes Validate that the implementation matches the requirements Easier to change the code Write tests early as a down payment for future technical debt Easy to modify (Levison, 2008) TDD is a well suited method because it forces the developers to write tests before they implement functionality. Not only is manual error searching made redundant but it also forces the developers to find out what functionality is going to be implemented, before they start writing code. Risks of proposed changes When a change like this is implemented there are a lot of risks involved. This is because change is hard. The developers are often perfectly happy with how they already do things and it is hard to make them change their ways. This is a big risk related to changing the process. The developers had already decided that they did not like to write tests and therefore postponed the test writing until the end. This suggests that the developers themselves had a saying in how their development process was conducted. To take this power away from the developers is a risky thing to do. If the developers are not properly convinced that the changes are for the best, the changes might result in reluctance among the developers. Because the developers are the ones that has to conduct the changes, support is very crucial. To get their support, they need to be convinced that the change is a good one that will benefit them. How to do this is presented in the action plan. Code quality depends on the quality of the tests. The people that wrote the tests before are the same people that write the tests now. This is why the quality of the code should not be reduced by this, it might even be improved, but this is not proven. 15

16 Bibliography Beck, K. (2003). Test-Driven Development: By example. United States: Addison Wesley. Brunner, M. (2009, April 16). Building an Electrical Maintenance Program. Retrieved November 13, 2012, from The asset Rliability Road Map: Levison, M. (2008, October 14). Advantages of TDD. Retrieved November 1, 2012, from Agile pain relief consulting: Ronald Moen, C. N. (n.d.). Retrieved November 15, 2012, from Evolution of the PDCA Cycle: 16

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Outline Week 2 Software Development Process Software Development Methodologies SDLC Agile Software Development Process A structure imposed on the development

More information

CSC301. Scrum, detailed view of an agile process. CSC301, Winter 2016

CSC301. Scrum, detailed view of an agile process. CSC301, Winter 2016 CSC301 Scrum, detailed view of an agile process CSC301, Winter 2016 Today s Tour - Scrum We will take a tour of Scrum An agile process Well More framework than process Extremely popular in the last 5-10

More information

Decomposing SAFe. Saturday, April 30th, 2016 at IIT Chicago Always FREE! Registration is OPEN!

Decomposing SAFe. Saturday, April 30th, 2016 at IIT Chicago Always FREE! Registration is OPEN! Decomposing SAFe Saturday, April 30th, 2016 at IIT Chicago Always FREE! Registration is OPEN! http://www.chicagocodecamp.com/ I ll be at Manager s Workshop on Monday Half-Day Tutorial: Value Stream Mapping

More information

Chapter 3 Agile Software Development. Part 1b

Chapter 3 Agile Software Development. Part 1b Chapter 3 Agile Software Development Part 1b 1 Testing in XP Testing is central to XP and XP has developed an approach where the program is tested after every change has been made. XP testing features:

More information

Scrum Testing: A Beginner s Guide

Scrum Testing: A Beginner s Guide Scrum Testing: A Beginner s Guide What is Scrum? Building complex software applications is a difficult task. Scrum methodology comes as a solution for executing such complicated task. It helps development

More information

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By Sample Exam ISTQB Agile Foundation Questions Exam Prepared By November 2016 1 #1 Which of the following is the correct pairing according to the Agile Manifesto statement of values? a. Individuals and Interactions

More information

Software Engineering in the Agile World. Table of contents

Software Engineering in the Agile World. Table of contents Table of contents Chapter 1 14 Software Engineering 14 1.1 Introduction 14 1.2 No standard software engineering methodology 14 1.3 Waterfall methodology 15 1.3.1 Software development under Waterfall model

More information

Scrum Product Owner Course 03 - Roles and Responsibilities

Scrum Product Owner Course 03 - Roles and Responsibilities Scrum Product Owner Course 03 - Roles and Responsibilities Course Slide 1 Roles and Responsibilities Topics Covered Product Owner Role Scrum Master Role Scrum Team Role Other Roles Slide 2 Learning Objectives

More information

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017 Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right Copyright 2017 Start you Agile project right Projects need direction teams need to know where

More information

Agile Guru Q & A. Michael James Software Process Mentor and Scrum Trainer. March 29, 2013 ENTERPRISE CLOUD DEVELOPMENT 1

Agile Guru Q & A. Michael James Software Process Mentor and Scrum Trainer. March 29, 2013 ENTERPRISE CLOUD DEVELOPMENT 1 Agile Guru Q & A Michael James Software Process Mentor and Scrum Trainer March 29, 2013 ENTERPRISE CLOUD DEVELOPMENT 1 Copyright 2012 CollabNet, Inc. All Rights Reserved. Learn More Lead Better with Agile

More information

Making Visions Actionable. Pejman Makhfi Certified Scrum Master VP of Solution, Savvion Inc. 11/29/2008

Making Visions Actionable. Pejman Makhfi Certified Scrum Master VP of Solution, Savvion Inc. 11/29/2008 Making Visions Actionable Pejman Makhfi Certified Scrum Master VP of Solution, Savvion Inc. 11/29/2008 Development can t estimate and commit on what they do not fully understand Business can t freeze scope

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 3 Scrum Framework 1 Scrum Origins First mentioned as a development method in 1986, referring to a fast and flexible product development process

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

Agile Test Plan How to Construct an Agile Test Plan

Agile Test Plan How to Construct an Agile Test Plan Agile Test Plan How to Construct an Agile Test Plan XBOSoft White Paper How to Construct an Agile Test Plan www.xbosoft.com 2 Agile is changing not only the way we develop software but the way we work

More information

Using Modern Methodologies with Maintenance Software

Using Modern Methodologies with Maintenance Software SpaceOps Conferences 5-9 May 2014, Pasadena, CA SpaceOps 2014 Conference 10.2514/6.2014-1847 Using Modern Methodologies with Maintenance Software Barbara A. Streiffert 1 and Laurie K. Francis 2 Jet Propulsion

More information

Lean 4.0 Lean and digital automation. Lean Forum 2018

Lean 4.0 Lean and digital automation. Lean Forum 2018 Lean 4.0 Lean and digital automation Lean Forum 2018 Who are Sector Alarm? 2 The era of low tech improvement projects is over 3 4 Operational competitive advantage Operational Integrated Architecture Management

More information

Scrum, Creating Great Products & Critical Systems

Scrum, Creating Great Products & Critical Systems Scrum, Creating Great Products & Critical Systems What to Worry About, What s Missing, How to Fix it Neil Potter The Process Group neil@processgroup.com processgroup.com Version 1.2 1 Agenda Scrum / Agile

More information

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems. Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development

More information

How to Run Agile Development for SAP

How to Run Agile Development for SAP How to Run Agile Development for SAP Are you giving your business what it really wants? Or do you have a : ( business In many business who run SAP expectations of IT have flat lined and there s a general

More information

SEPTEMBER 2018 The Agile Team s Playbook to Doing Agile

SEPTEMBER 2018 The Agile Team s Playbook to Doing Agile SEPTEMBER 2018 The Agile Team s Playbook to Doing Agile A how-to guide for agile practitioners Agile is an umbrella term for a variety of work-management approaches that share common principles, among

More information

SWE 211 Software Processes

SWE 211 Software Processes SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities

More information

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net

More information

Agile Software Development

Agile Software Development Agile Software Development Chapter 3 Agile Software Development in the textbook 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming (XP) - A well known agile method 3.4 Agile

More information

Improving Agile Execution in the Federal Government

Improving Agile Execution in the Federal Government Improving Agile Execution in the Federal Government 1 Committed Partner. Creating Results. In December of 2010 the government introduced the 25 Point Implementation Plan to Reform Federal Information Technology

More information

FIT2101 Software Engineering Process and Management

FIT2101 Software Engineering Process and Management FIT2101 Software Engineering Process and Management Agile and Software Process Models Topics Covered Features of Agile What Agile Isn t Agile Process Models Software Process Models In 2001 leaders of lightweight

More information

Lecture 8 Agile Software Development

Lecture 8 Agile Software Development Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics

More information

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4 What is Agile Development? Agile Program Development CSCI 479: Computer Science Design Project Fall 2013 Xiannong Meng Agile software development is a group of software development methods based on iterative

More information

Chapter 4 Document Driven Approach for Agile Methodology

Chapter 4 Document Driven Approach for Agile Methodology Chapter 4 Document Driven Approach for Agile Methodology In this chapter, 4.1. Introduction 4.2. Documentation Selection Factors 4.3. Minimum Required Documents 4.4. Summary 4.1. Introduction In all, the

More information

Preparation Guide. EXIN Agile Scrum Foundation

Preparation Guide. EXIN Agile Scrum Foundation Preparation Guide EXIN Agile Scrum Foundation Edition September 2013 Copyright 2013 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing

More information

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Foundations of Software Engineering. Process: Agile Practices Michael Hilton Foundations of Software Engineering Process: Agile Practices Michael Hilton 1 Learning goals Define agile as both a set of iterative process practices and a business approach for aligning customer needs

More information

Scrum Team Roles and Functions

Scrum Team Roles and Functions Scrum Team Roles and Functions What is a Scrum Team? The purpose of a Scrum team is to deliver products iteratively and incrementally, maximizing opportunities for feedback Scrum teams are comprised by

More information

Introduction to Agile (Scrum)

Introduction to Agile (Scrum) Introduction to Agile (Scrum) Meganadha Reddy K. Technical Trainer NetCom Learning www.netcomlearning.com Agenda Agile - Introduction Manifesto for Agile Development Agile Methodologies Scrum Roles, Artifacts,

More information

Scrum. an Agile Process

Scrum. an Agile Process Scrum an Agile Process CMPT 276 Slides 6 Dr. B. Fraser 18-05-31 1 Topics 1) Who does what in a Scrum team? 2) What does a week as a Scrum developer look like? 3) How does a Scrum team estimate work? 18-05-31

More information

AGILE TEST MANAGEMENT WITH VISUAL STUDIO

AGILE TEST MANAGEMENT WITH VISUAL STUDIO AGILE TEST MANAGEMENT WITH VISUAL STUDIO any companies are implementing an agile methodology, but often still have waterfall based tools. We ve been working on several agile projects, one of which we collaborate

More information

Chapter 3 Agile Software Development

Chapter 3 Agile Software Development Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile

More information

7 Misconceptions of Enterprise Agile. August 15

7 Misconceptions of Enterprise Agile. August 15 7 Misconceptions of Enterprise Agile August 15 Misconception #1 Enterprise Agile will free you from having to do requirements 5/1/13 Copyright 2013 Blueprint 2013 Software Blueprint Systems Inc. All Rights

More information

Events. Artifacts. Roles. Product Owner Scrum Master Development Team. Sprint Sprint Planning Daily Scrum Sprint Review Sprint Retrospective

Events. Artifacts. Roles. Product Owner Scrum Master Development Team. Sprint Sprint Planning Daily Scrum Sprint Review Sprint Retrospective Scrum Lecture 2 1 Roles Product Owner Scrum Master Development Team Events Sprint Sprint Planning Daily Scrum Sprint Review Sprint Retrospective Artifacts Project Charter Product Backlog Sprint Backlog

More information

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB Aldo Dagnino ABB US Corporate Research Center 1021 Main Campus Drive Raleigh, NC, USA aldo.dagnino@us.abb.com Abstract

More information

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping

Learning Objectives. Agile Modeling and. Major Topics. Prototyping. Patched Up Prototype. Agile Modeling, but First. Prototyping Agile Modeling and Prototyping Systems Analysis and Design, 7e Kendall & Kendall 6 Learning Objectives Understand the roots of agile modeling in prototyping and the four main types of prototyping Be able

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Agile Methodologies: Scrum 1 Agile Methodologies: Brief History First appeared in 1995. The once-common perception that agile methodologies

More information

CTC/ITC 310 Program Management California State University Dominguez Hills Final Exam Answer Key December 13, 2018 Instructor: Howard Rosenthal

CTC/ITC 310 Program Management California State University Dominguez Hills Final Exam Answer Key December 13, 2018 Instructor: Howard Rosenthal CTC/ITC 310 Program Management California State University Dominguez Hills Final Exam Answer Key December 13, 2018 Instructor: Howard Rosenthal There are 36 questions on this exam. Each question is worth

More information

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental

More information

Agile Teamwork: 3 Ways to Minimize Handoffs. by Mike Cohn 8 Comments originally published in Better Software on

Agile Teamwork: 3 Ways to Minimize Handoffs. by Mike Cohn 8 Comments originally published in Better Software on Agile Teamwork: 3 Ways to Minimize Handoffs by Mike Cohn 8 Comments originally published in Better Software on 2010-04-05 Agile teamwork can really help to minimize handoffs. Teams using a sequential development

More information

Introduction to Agile/Extreme Programming

Introduction to Agile/Extreme Programming Introduction to Agile/Extreme Programming Matt Ganis, Senior Technical Staff Member (Certified Scrum Master) IBM Hawthorne, New York ganis@us.ibm.com August 2007 Session 8061 Current slides at: http://webpage.pace.edu/mganis

More information

Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur.

Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur. Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 14 Scrum Welcome to this lecture. Till now we had looked at some introductory

More information

Exam 2012, Lecture Project Management

Exam 2012, Lecture Project Management Exam 2012, Lecture Project Management Name: Matrikelnummer: Fachbereich: Hints: German text is permitted. Simple calculator is permitted. Dictionary is permitted. No computers. No books. Rather write less.

More information

Knowledge Solution Services

Knowledge Solution Services Knowledge Solution Services How a PMO can Support Agile Success Presented by David Herron www.davidconsultinggroup.com Why PMOs Are Important It is clear that the demand for technological services in the

More information

Agile Engineering. for Managers. Introducing agile engineering principles for non-coders

Agile Engineering. for Managers. Introducing agile engineering principles for non-coders Agile Engineering for Managers Introducing agile engineering principles for non-coders Ryan Shriver > Managing Consultant > rshriver@dominiondigital.com Leader in IT Performance Improvement > www.dominiondigital.com

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

Introduction to Project Management

Introduction to Project Management Introduction to Project Management A 3-day intensive project management workshop that gives a comprehensive overview of the main features, tools, and techniques of project management, from setting priorities

More information

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson WATERFALL? XP? SCRUM? While there is really no standard solution, the following presentation will

More information

Certified Scrum Developer

Certified Scrum Developer Agile Project Management Certification Series: Certified Scrum Developer EARN 21 PDUs Hands on workshop with CSD Certification Agile Project Management Certification Series: This is a software development

More information

Agile Project Management

Agile Project Management Object-Oriented Software Engineering Using UML, Patterns, and Java Agile Project Management Outline A mountaineering example Project context Goals, client types Environment, methods, tools, methodology

More information

13. Team evolutionary developement

13. Team evolutionary developement 13. Team evolutionary developement Most of the software projects require a larger effort than a solo programmer can handle Programmers have to organize themselves into teams Agile teams Directed teams

More information

Copyright Software Engineering Competence Center

Copyright Software Engineering Competence Center Copyright Software Engineering Competence Center 2012 1 Copyright Software Engineering Competence Center 2012 5 These are mapped categories to the waste categories of manufacturing. An excellent overview

More information

AHGILE A N D B O O K

AHGILE A N D B O O K AGILE HANDBOOK OVERVIEW 2 OVERVIEW This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on what

More information

Why Agile, Why Now By David Schroeder, PMP, PSM

Why Agile, Why Now By David Schroeder, PMP, PSM By David Schroeder, PMP, PSM Accelerating Corporate Transformation, i is the needed approach in business today, according to Harvard Business Review contributor and Corporate Transformation Resources president,

More information

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

Scrum - Introduction. Petri Heiramo. Agile Coach, CST Scrum - Introduction Petri Heiramo Agile Coach, CST Scrum Started in the Harvard BR. The relay race approach to product development may conflict with the goals of maximum speed and flexibility. Instead

More information

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software? Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

Mature agile development using HP Quality Center

Mature agile development using HP Quality Center Mature agile development using HP Quality Center Gerald Heller software process optimization Vivit TQA webinar September 22, 2009 Using QC with agile practices Agile fundamentals Expectations & challenges

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering Software Processes With a focus on Agile/Scrum CPSC310 Software Engineering Learning Goals Why do software projects fail? Unrealistic project goals Inaccurate estimates of needed resources Unmanaged risks

More information

Software Engineering Chap.3 - Agile Software Development

Software Engineering Chap.3 - Agile Software Development Software Engineering Chap.3 - Agile Software Development Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,

More information

An Introduction to Scrum

An Introduction to Scrum What is Scrum? Even projects that have solid, well-defined project plans encounter some degree of change. Shifting market conditions, budget cuts, staff restructuring, or any number of influences will

More information

AGILE AND SCRUM IN A SMALL SOFTWARE DEVELOPMENT PROJECT- A CASE STUDY

AGILE AND SCRUM IN A SMALL SOFTWARE DEVELOPMENT PROJECT- A CASE STUDY AGILE AND SCRUM IN A SMALL SOFTWARE DEVELOPMENT PROJECT- A CASE STUDY Shanmuganathan Vasanthapriyan Department of Computing and Information Systems, Sabaragamuwa University of Sri Lanka, Sri Lanka priyan@appsc.sab.ac.lk

More information

Agile Software Development. Lecture 4: Let s Wrap up Agile Fundamentals

Agile Software Development. Lecture 4: Let s Wrap up Agile Fundamentals Agile Software Development Lecture 4: Let s Wrap up Agile Fundamentals Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Slides are a modified version of the slides by Prof. Kenneth M. Anderson Acknowledgment

More information

Our Software Delivery Methodology What to Expect in the Development Process

Our Software Delivery Methodology What to Expect in the Development Process What to Expect in the Development Process This overview of our Agile development process contains information that you need to know before we start your software project. It explains your role and responsibilities

More information

Introduction. Failure. Why Projects Fail. Agile in an Hour

Introduction. Failure. Why Projects Fail. Agile in an Hour Agile in an Hour Joe Bergin & Fred Grossman Seidenberg School Computer Science and Information Systems Pace University Introduction Agile Software Development is a high discipline and very iterative development

More information

It is not just programming. Cartoon source:

It is not just programming. Cartoon source: 1 2 It is not just programming. Cartoon source: http://wwwx.cs.unc.edu/~pozefsky/comp523_s08/ 3 http://computingcareers.acm.org/?page_id=12 sunset.usc.edu/~neno/cs589_2003/week1.ppt Basic tension of software

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

THE PURPOSE OF TESTING

THE PURPOSE OF TESTING Chapter 6 THE PURPOSE OF TESTING Context-Driven Overview of Quadrants Tests That Support the Team Tests That Critique the Product Quadrant Intro Purpose of Testing Managing Technical Debt Knowing When

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

Scrum an Agile Process

Scrum an Agile Process Topics 1) Who does what in a Scrum team? 2) What does a week as a Scrum developer look like? Scrum an Agile Process CMPT 373 Slides 01 Dr. B. Fraser 17-09-01 2 17-09-01 1 Software Development Process Recap

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 4 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

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 09/17/2014 What is next Deliverable? Due: 09/19/2014 1. Problem Statement with Shall statements 2. RTM (4

More information

Introduction. Failure. Why Projects Fail. Agile in an Hour

Introduction. Failure. Why Projects Fail. Agile in an Hour Agile in an Hour Joe Bergin & Fred Grossman Seidenberg School Computer Science and Information Systems Pace University Introduction Agile Software Development is a high discipline and very iterative development

More information

Q&A from Transitioning from Waterfall to Agile Web Seminar

Q&A from Transitioning from Waterfall to Agile Web Seminar Q&A from Transitioning from Waterfall to Agile Web Seminar -How does this method allow you to provide the client with a budget that they can depend on at the start of the project? ASK: Because the Agile

More information

Software Development. Current and Future Trends. Jagdeep Singh Bhambra, PhD 27 th June 2012

Software Development. Current and Future Trends. Jagdeep Singh Bhambra, PhD 27 th June 2012 Software Development Current and Future Trends Jagdeep Singh Bhambra, PhD jagdeep.bhambra@ft.com 27 th June 2012 AGENDA Introduction The Agile, Agile, Search Digital Summary Changing World A Lifestyle

More information

Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination)

Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination) Managing a Project and Keeping Sane While Wrestling Elegantly With PMBOK, Scrum and CMMI (Together or Any Combination) Neil Potter The Process Group neil@processgroup.com 1 Agenda Summary of PMBOK, CMMI

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2011 c 2011 H. Baumeister (IMM) Software Engineering I

More information

ACCURATE STUDY GUIDES, HIGH PASSING RATE! Question & Answer. Dump Step. provides update free of charge in one year!

ACCURATE STUDY GUIDES, HIGH PASSING RATE! Question & Answer. Dump Step. provides update free of charge in one year! DUMP STEP Question & Answer ACCURATE STUDY GUIDES, HIGH PASSING RATE! Dump Step provides update free of charge in one year! http://www.dumpstep.com Exam : 70-498 Title : Delivering Continuous Value with

More information

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. Agile methods Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods: Focus on the code rather than the design

More information

Software Development Life Cycle

Software Development Life Cycle Software Development Life Cycle Author : harvix-distrogmail-com When people are asked to define the SDLC (Software Development Life Cycle), they often come up with something like the following: 1. Planning

More information

Leadership Release Management Continuous Integration. october 9, 2013

Leadership Release Management Continuous Integration. october 9, 2013 Leadership Release Management Continuous Integration october 9, 2013 1 Significant Semester Requirements 15% Participation: in-class, at meetings, setup meetings in timely manner, weekly status reports

More information

Flexible, Fast Development. How EBSCO develops software

Flexible, Fast Development. How EBSCO develops software Flexible, Fast Development How EBSCO develops software Who is EBSCO EBSCO is a privately held conglomerate. We are almost $2B / year, based in Birmingham AL, with a large presence ~1500 people in Ipswich

More information

Agile Certified Professional

Agile Certified Professional Certified Professional Study Guide Take the Certification Online www.scrumprofessionals.org Contents 1. AGILE PRIMER... 1 Roles in... 1 Cross-functional Team... 2 How an Team Plans its Work?... 3 What

More information

Department of Computer Science and Engineering The University of Texas at Arlington

Department of Computer Science and Engineering The University of Texas at Arlington Project Charter Department of Computer Science and Engineering The University of Texas at Arlington Team Members: member 1 member 2 member 3...

More information

Agile Software Development Techniques for Small Scale Research Projects. how to not go down the rabbit hole

Agile Software Development Techniques for Small Scale Research Projects. how to not go down the rabbit hole Agile Software Development Techniques for Small Scale Research Projects how to not go down the rabbit hole Henriette Koning Senior Manager Software Delivery But first... Henriette Koning (me) We will talk

More information

improving It s what we do. TM

improving It s what we do. TM improving It s what we do. TM Agile Team Roles Business Analyst & QA Analyst Susan Fojtasek Tonya Guadiz Agenda Development Processes Business Analyst Quality Assurance Analyst What does this mean to me?

More information

Chapter 14 Current trends in system development

Chapter 14 Current trends in system development Chapter 14 Current trends in system development Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Trends in System Development Methodologies

More information

Implement Agile Marketing

Implement Agile Marketing Implement Agile Marketing Taking small marketing tasks and managing them through an Agile process is straight forward and much easier to do in a quick, responsive, iterative way. But, how do you manage

More information

Presented by: Linda Westfall Sponsored by:

Presented by: Linda Westfall Sponsored by: Presented by: Linda Westfall Sponsored by: Copyright 2007-2019 Westfall Team, Inc.. All Rights Reserved. Attendees are on mute Logistics Type your questions into the Question area Cathy will monitor those

More information

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti Software Engineering G22.2440-001 Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

More information

Introduction to Agile Change Management

Introduction to Agile Change Management Introduction to Agile Change Management Author Melanie Franklin Director Agile Change Management Limited Introduction Agile change management is a term that is picking up momentum around the world. In

More information

Agile Software Development

Agile Software Development Agile Software Development S. Adams. Dilbert. Available: http://dilbert.com Hans-Petter Halvorsen Agile? I ll go up and find out what they need and the rest of you start coding! 3 Typical Job Ad Agile

More information

Agile In Practice. Benjamin Booth Spring 2009

Agile In Practice. Benjamin Booth Spring 2009 Agile In Practice Benjamin Booth Spring 2009 Programmer/ Proprietary 25 Author/Blogger Proprietary 3 Agile Origins Goal: prove value with working software Lightweight approach Reaction to Waterfall failures

More information

Agile Scrum Process Checklist

Agile Scrum Process Checklist Agile Scrum Process Checklist To be successful, agile projects require a consistent management process. This checklist provides the various roles involved in agile projects (especially those with limited

More information

Being Agile. Plan for change

Being Agile. Plan for change Being Agile Plan for change When things go wrong This is more complex than we thought. We won t make the deadline. When things go wrong We might deliver on time, but what we re delivering is not fit for

More information

Agile Project Management and Boards Users Guide aqua v

Agile Project Management and Boards Users Guide aqua v Agile Project Management and Boards Users Guide aqua v6.70.03 Updated 04/02/2018 Page 1 of 16 You don t have to be a scrum master to take advantage of our new boards that facilitate Agile project management!

More information