© The McGraw-Hill Companies, 2005 1 Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4.

Slides:



Advertisements
Similar presentations
Chapter 2: Software Process
Advertisements

Software Processes.
Prescriptive Process models
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
SDLC – Beyond the Waterfall
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Lecture # 2 : Process Models
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
Software Project Management
CS487 Software Engineering Omar Aldawud
Designing and Developing Decision Support Systems Chapter 4.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Where We Are Now. Where We Are Now Traditional PM versus Agile Methods Traditional PM Approach Concentrates on thorough, upfront planning of the entire.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Agile
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
A Prototyping Lifecycle. The Waterefall Model and Prototyping 4 As early as the 1980’s the classic “Waterfall model” of software development was criticised.
Chapter 6 Prototyping, RAD, and Extreme Programming
Software project management (intro ) Project approaches.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
03/12/2001 © Bennett, McRobb and Farmer Managing Object-Oriented Projects—DSDM and XP Based on Chapter 21 of Bennett, McRobb and Farmer: Object.
CHAPTER 9: LEARNING OUTCOMES
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering Lecture No:12. Lecture # 7
Chapter 1 The Systems Development Environment
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Interaction Design Process COMPSCI 345 S1 C and SoftEng 350 S1 C Lecture 5 Chapter 3 (Heim)
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
SPM (5e) Selection of project approach© The McGraw-Hill Companies, Software Project Management Chapter Four Selection of an appropriate project.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
© Bennett, McRobb and Farmer 2005
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
44222: Information Systems Development
Timebox Development Mike O’Dell Based on an earlier presentation by
 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.
By : Hisham Kahlifa Shreef Foda Khaled monir Tamer medhat Supervisor : Dr Doaa Nabil.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Rekayasa Perangkat Lunak Part-6
Methodologies/Life Cycle Models
Software Development - Methodologies
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Agile Project Management Athanasios Podaras
Methodologies and Algorithms
Appendix B Agile Methodologies
Ernest Cachia Department of Computer Information Systems
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Processes (a)
Chapter 2 SW Process Models
Chapter 4.Selection of an appropriate project approach
Requirements and the Software Lifecycle
Lecture # 5 Software Development Project Management
Software Project Management
Software Processes.
Appendix B Agile Methodologies
Agile Development.
Presentation transcript:

© The McGraw-Hill Companies, Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4

© The McGraw-Hill Companies, Selection of project approaches In-house development: most of these issues resolved by IS planning and standards Software houses: more applicable as different customers have different needs Selection of approach governed by: –uncertainties of the project –properties of application to be built

© The McGraw-Hill Companies, General approach Look at risks and uncertainties e.g. –are requirement well understood? –are technologies to be used well understood? Look at the type of application being built e.g. –information system? embedded system? –criticality? differences between target and development environments? Clients’ own requirements –need to use a particular method

© The McGraw-Hill Companies, Choice of process models ‘waterfall’ also known as ‘one-shot’, ‘once- through’ incremental delivery evolutionary development Also use of ‘agile methods’ e.g. extreme programming

© The McGraw-Hill Companies, Waterfall The waterfall model

© The McGraw-Hill Companies, Waterfall the ‘classical’ model imposes structure on the project every stage needs to be checked and signed off BUT –limited scope for iteration

© The McGraw-Hill Companies, V-process model Another way of looking at the waterfall model

© The McGraw-Hill Companies, Evolutionary delivery: prototyping ‘An iterative process of creating quickly and inexpensively live and working models to test out requirements and assumptions’ Sprague and McNurlin main types ‘throw away’ prototypes evolutionary prototypes what is being prototyped? human-computer interface functionality

© The McGraw-Hill Companies, Reasons for prototyping learning by doing improved communication improved user involvement a feedback loop is established reduces the need for documentation reduces maintenance costs i.e. changes after the application goes live prototype can be used for producing expected results

© The McGraw-Hill Companies, Prototyping: some dangers users may misunderstand the role of the prototype lack of project control and standards possible additional expense of building prototype focus on user-friendly interface could be at expense of machine efficiency

© The McGraw-Hill Companies, Other ways of categorizing prototyping what is being learnt? –organizational prototype –hardware/software prototype (‘experimental’) –application prototype (‘exploratory’) to what extent –mock-ups –simulated interaction –partial working models: vertical versus horizontal

© The McGraw-Hill Companies, Incremental delivery designbuild install evaluate designbuild install evaluate designbuild install evaluate increment 1 increment 2 increment 3 first incremental delivery second incremental delivery third incremental delivery delivered system

© The McGraw-Hill Companies, The incremental process Intentional incremental delivery

© The McGraw-Hill Companies, Incremental approach:benefits feedback from early stages used in developing latter stages shorter development thresholds user gets some benefits earlier project may be put aside temporarily reduces ‘gold-plating’: BUT there are some possible disadvantages loss of economy of scale ‘software breakage’

© The McGraw-Hill Companies, The outline incremental plan steps ideally 1% to 5% of the total project non-computer steps should be included ideal if a step takes one month or less: –not more than three months each step should deliver some benefit to the user some steps will be physically dependent on others

© The McGraw-Hill Companies, Which step first? some steps will be pre-requisite because of physical dependencies others may be in any order value to cost ratios may be used –V/C where –V is a score 1-10 representing value to customer –C is a score 0-10 representing value to developers

© The McGraw-Hill Companies, V/C ratios: an example

© The McGraw-Hill Companies, ‘Agile’ methods structured development methods have some perceived advantages –produce large amounts of documentation which can be largely unread –documentation has to be kept up to date –division into specialist groups and need to follow procedures stifles communication –users can be excluded from decision process –long lead times to deliver anything etc. etc The answer? ‘Agile’ methods?

© The McGraw-Hill Companies, Dynamic system development method UK-based consortium arguably DSDM can be seen as replacement for SSADM DSDM is more a project management approach than a development approach Can still use DFDs, LDSs etc!

© The McGraw-Hill Companies, Nine core DSDM principles 1. Active user involvement 2. Teams empowered to make decisions 3. Frequent delivery of products 4. Fitness for business purpose 5. Iterative and incremental delivery 6. Changes are reversible 7. Requirements base-lined at a high level 8. Testing integrated with development 9. Collaborative and co-operative approach

© The McGraw-Hill Companies, DSDM framework Figure 4.6 here DSDM process model

© The McGraw-Hill Companies, DSDM: time-boxing time-box fixed deadline by which something has to be delivered typically two to six weeks MOSCOW priorities –Must have - essential –Should have - very important, but system could operate without –Could have –Want - but probably won’t get!

© The McGraw-Hill Companies, Extreme programming increments of one to three weeks –customer can suggest improvement at any point argued that distinction between design and building of software are artificial code to be developed to meet current needs only frequent re-factoring to keep code structured

© The McGraw-Hill Companies, Extreme programming - contd developers work in pairs test cases and expected results devised before software design after testing of increment, test cases added to a consolidated set of test cases

© The McGraw-Hill Companies, Grady Booch’s concern Booch, an OO authority, is concerned that with requirements driven projects: ‘Conceptual integrity sometimes suffers because this is little motivation to deal with scalability, extensibility, portability, or reusability beyond what any vague requirement might imply’ Tendency towards a large number of discrete functions with little common infrastructure?

© The McGraw-Hill Companies, Macro and micro processes A macro process containing three iterative micro processes

© The McGraw-Hill Companies, ‘rules of thumb’ about approach to be used IF uncertainty is high THEN use evolutionary approach IF complexity is high but uncertainty is not THEN use incremental approach IF uncertainty and complexity both low THEN use one-shot IF schedule is tight THEN use evolutionary or incremental

© The McGraw-Hill Companies, Combinations of approach yes no yes no evolutionary incremental evolutionaryincrementalone-shot installation construction one-shot or incremental installation - any construction approach possible evolutionary installation implies evolutionary construction