Balancing Agility and Discipline Chapter 4 Sharon Beall EECS 811 April 22, 2004.

Slides:



Advertisements
Similar presentations
Agile Software Development Robert Moore Senior Developer Curtin University.
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Systems Analysis and Design in a Changing World, 6th Edition
Approaches to Systems Development
Alternate Software Development Methodologies
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Agile
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
University of Southern California Center for Software Engineering C S E USC Agile and Plan-Driven Methods Barry Boehm, USC USC-CSE Affiliates’ Workshop.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Software Development Life Cycle (SDLC)
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
COMPGZ07 Project Management Presentations Graham Collins, UCL
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
CompSci 230 Software Design and Construction
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Agile: Lessons Learned (a retrospective) Tony
CS3100 Software Project Management Agile Approaches.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
1 Discipline vs. Agility. 2 Topics What is discipline? What is agility? What are the misconceptions? Contrasts and home grounds Five critical factors.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Flight Software Conference 2016
Appendix B Agile Methodologies
Extreme Programming.
Introduction to Software Engineering
Agile and XP Development
Chapt 2 Iterative Evolutionary Agile.
Agile and XP Development
Coming up: What is Agile?
Projects, Assignments, and other Assessments
Appendix B Agile Methodologies
Extreme Programming.
System Development Methods
Presentation transcript:

Balancing Agility and Discipline Chapter 4 Sharon Beall EECS 811 April 22, 2004

2 Agenda  Lease Management Example  Command Center Processing and Display System Replacement (CCPDS- R) Example  Home Ground Charts  Summary

3 Lease Management The Project  Leasing industry  500 KLOC  30 developers  20 participants  1,000 story cards  18 months with traditional approach  36 months with XP

4 Lease Management Eight “Bad Smells” 1.Time to develop story card increased in later iterations  Iteration length static  Too much tacit knowledge required  Stories subdivided to meet schedules

5 Lease Management Eight “Bad Smells” 2.Integrating functions problematic in later iterations  Individual tests okay  Failed integration with other functions  High-level architectural plan developed

6 Lease Management Eight “Bad Smells” 3.Unit and system testing issues  Tacit knowledge strain again  Complex specialized functions  Breaking tests, architecture  High-level architectural plan assisted

7 Lease Management Eight “Bad Smells” 4.Customer complaints  No complaints until later iterations  Customer never understood real user needs  Early coaching necessary

8 Lease Management Eight “Bad Smells” 5.Integration, Schedules, and Effort  Misrepresented accomplishments  Story cards taking extra effort than portrayed  Created task list for each story  Monitored by management

9 Lease Management Eight “Bad Smells” 6.Refactoring Never Done  Developers knew refactoring was needed  Busy doing assigned work  Detailed work plans and task lists included refactoring

10 Lease Management Eight “Bad Smells” 7.Simple design and YAGNI drawbacks  Developers continuously refactoring some modules  High costs since future changes known for those modules  Adopted a pattern for this module after some time (YAGNI – You Aren’t Going to Need It)

11 Lease Management Eight “Bad Smells” 8.Test drivers and re-use  Normally simple design and YAGNI  Due to size and number of objects, different tests with similar drivers for different object states  Adopted a pattern for test drivers as well

12 Lease Management Lessons Learned  Tacit knowledge is agile, however with large software projects, presents scaling problems  To diverge from an agile process requires talented people to recognize and respond  Simple design is risky on large projects with known change

13

14 Lease Management Extending XP  High level architectural plans  Definitions of milestones and completion criteria  Usage of patterns and architectural solutions Authors note…scale agile processes as-needed and as-discovered!

15 CCPDS-R The Project  Re-engineer command center for missile warning system  1 million lines of code  75 programmers  3 user sets  48 months

16 CCPDS-R Agile Manifesto Individuals and Interactions over Processes and Tools TRW versus DoD  DoD milestone standards redefined to reflect stakeholder’s interest. Use of automated tools to verify software to specs.  Contract award fees designated for personnel  System architecture organized for developers’ skill levels

17 CCPDS-R Agile Manifesto Working Software over Comprehensive Documentation  DoD requires Preliminary Design Review (PDR) with docs and charts  TRW chose to put it off until software could be demonstrated  Documentation generated for those who really really needed it

18 CCPDS-R Agile Manifesto Customer Collaboration over Contract Negotiation  Win-win idea used to negotiate contracts  Ada version of COCOMO used  Allowed for savings via reuse (if Agile, would have been costs due to YAGNI and rework)

19 CCPDS-R Agile Manifesto Responding to Change over Following a Plan  Plans and specs were machine processable  Metrics tracked progress in identifying problems  Allowed easy tracking and early fixes  Easy adaptation of plans  Advance work in software reuse amongst 3 customer sets

20

21 CCPDS-R Extending Plan-Driven Methods  A win-win customer driven view can be combined with a process-document driven view  Award fees generated for TRW developers

22 Summary  Examples that hybrids can succeed  Easily tailoring the process not published  Taking parts of each method to complement a given project is not easy, but can be successful  …Guidelines in the next chapter to do this!

23 Closing Questions? Comments?