Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05 1 541Sp8Jan22iterdev2.

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
 Chapter 6: Activity Planning – Part 1 NET481: Project Management Afnan Albahli.
Systems Analysis and Design 9th Edition
Systems Analysis and Design 8 th Edition Chapter 3 Managing Systems Projects.
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Project Management Workshop. Nick Cook  Citigroup Corporate and Investment Bank  European Technology Business Office Manager Edinburgh University April.
PRJ566: Project Planning and Management Choosing Iterations in terms the importance of use cases.
W5HH Principle As applied to Software Projects
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
Project Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Systems Analysis and Design 8th Edition
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Projmgmt-1/17 DePaul University Project Management I - Work Breakdown Structure Instructor: David A. Lash.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Systems Analysis and Design Kendall & Kendall Sixth Edition
Change is a Process Organizational Stages Individual Stages (ADKAR) Business Need Concept and Design Implementation Post-Implementation Awareness Desire.
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
LSU 10/09/2007Project Schedule1 The Project Schedule Project Management Unit #4.
Chapter 9. Intro  What is Project Management?  Project Manager  Project Failures & Successes Managing Projects  PMBOK  SDLC Core Process 1 – Project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Principles of Object Technology Module 1: Principles of Modeling.
SA Capstone Requirements and Design Week 10 SYST Winter 2013 Instructors: Jerry Kotuba & Joe Varrasso.
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
Software Project Management Introduction to Project Management.
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Project Planning.
Key Project Management Ideas A well defined project scope is best. Triple constraint thinking. Use of documents. Stage-gate process. Stakeholder communication.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
“How to fail in project management without really trying” –J. K
File:CCPGS05 CC present Page: 1 ETXPGS
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Collecting requirements – Different methods Defining scope – Estimates for all resources Creating the WBS – Different approaches Verifying scope – Formal.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Intro1 1 CIS541 - Software Engineering Project II Dr. David A. Gustafson
Modeling Tough Scheduling Problems with Software Alex S. Brown Mitsui Sumitomo Marine Management (USA), Inc.
Responsiveness to Instruction RtI Tier III. Before beginning Tier III Review Tier I & Tier II for … oClear beginning & ending dates oIntervention design.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Process 3a 1 A Spiral Model of Software Development and Enhancement Barry Boehm Computer, May 1988 text pp34-45.
Project Management Workshop James Small. Goals Understand the nature of projects Understand why Project Management is important Get an idea of the key.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Project Management Performance Measures. Project Performance Measurement The purpose of performance measurement is to help organizations understand how.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
1 540f07reviews9sep25 Pert and Reviews Reviews S&G Chapter 5.
Ev3 1 In House Software Development:… Verner, etal IEEE Software, Jan?feb 2005.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Iterdev2a 1 Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct 05.
1 Chapter 11 Planning. 2 Project Planning “establishing a predetermined course of action within a forecasted environment” “establishing a predetermined.
ECE2799 Project Management Prof. Mazumder Prof. Bitar Updated 3/18/2016.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Iterative Rework: The Good, the Bad, and the Ugly
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
CS 325: Software Engineering
Chapter 11 – Project Dashboard
Software metrics.
Chapter 11 – Project Dashboard
Presentation transcript:

Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct Sp8Jan22iterdev2

Key Ideas and/or Questions 2 541Sp8Jan22iterdev2

Rationale of Iterative Development “Traditional project management approaches in software- intensive projects don’t encourage the steering and adjustment needed to reconcile significant levels of uncertainty in the ■ problem space (what the user really wants or needs), ■ solution space (what architecture and technology mix is most appropriate), and ■ planning space (including cost and time constraints, team composition and productivity, stakeholder communication, and incremental result sequences).” 3 541Sp8Jan22iterdev2

Measurement Just as the movie industry gets action on film, we too must get increments of software into executable form to make things tangible enough to assess progress and quality Sp8Jan22iterdev2

Results This iterative management style is results rather than activity-based. In the world of software, real results are executable programs. Everything else (requirements documents, usecase models, design models, test cases, plans, processes, documentation, and inspections) is secondary—simply part of the means to the end Sp8Jan22iterdev2

Precision vs Accuracy A common failure pattern is developing a five-digits-of-precision specification when the stakeholders have only a one-digit-of-precision understanding of the problem, solution, or plan Sp8Jan22iterdev2

Evaluation of these ideas 7 541Sp8Jan22iterdev2

What do we apply to 541 project? 8 541Sp8Jan22iterdev2

Iterative Rework: the Good, the Bad and the Ugly Richard E Fairley and Mary Jane Willshire, IEEE Computer, Sep Sp8Jan22iterdev2

Key Ideas and/or Questions Sp8Jan22iterdev2

Rework Incremental build lets developers produce weekly builds of an evolving product. Each iteration involves a certain amount of rework to enhance and fix existing capabilities (the good). However, excessive rework could indicate problems in the requirements, the developers’ skills and motivation, the development processes or technology used, or all of the above (the bad). Exorbitant levels of rework result in truly untenable situations (the ugly) Sp8Jan22iterdev2

Fig 3 – four dimensions Sp8Jan22iterdev2

Amount of rework For several years, our rule of thumb has been that total rework (evolutionary plus both types of avoidable) is acceptable at 10 to 20 percent of the total effort for each reporting period in an iterative development process. The reporting period typically varies from a week to a month. Weekly analysis of rework data is desirable in a project’s early stages. Less frequent reporting and analysis is appropriate once rework stabilizes and remains within the desired range Sp8Jan22iterdev2

Excessive rework Sp8Jan22iterdev2

Insufficient Rework Sp8Jan22iterdev2

Our Goal: Project Plan u The size and important features of the product to be produced u The division of tasks into iterations u Size and effort estimations of work tasks Sp8Jan22iterdev2

Identify Subtasks u Identify all the different subtasks necessary to achieve product –Include units if possible, e.g. number of ppt slides u For each subtask, identify milestone(s) and completion criteria u Establish dependencies Sp8Jan22iterdev2

Checkpoints, Milestones, or Inch- pebbles u “A checkpoint is an objectively identifiable point in a project” u e.g. not “coding is 90% complete” u possible – “design is ready for review, design has been reviewed by all team members.” u “a checkpoint for every five hours or so of work” Sp8Jan22iterdev2

Project Plan u establish subtasks (wbs) u establish checkpoints (wbs) u establish dependencies (gannt or pert) u establish dates (gannt chart) u assign subtasks Sp8Jan22iterdev2

Project Plan for Iteration 1 u Must have time in minutes for each leaf task u No leaf task can be more than 7 days before successor u Each leaf task must have completion criterion Sp8Jan22iterdev2

Thursday, Jan 24 u Read about Earned Value –Stellman and Greene “track the performance …” pp63-66 –SOS 3.7 – work through exercise 3.6 on page 36 – make sure you can get the same answers Sp8Jan22iterdev2