Software project management (intro ) Project approaches.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis, Prototyping and Iteration Systems Analysis.
Lecture # 2 : Process Models
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Project Management
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SYSC System Analysis and Design
CS 5150 Software Engineering
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Information Systems Development Lecture 2: the idea of the Life Cycle.
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 Life Cycle Model
Chapter 3 Software Processes.
1 CMPT 275 Software Engineering Software life cycle.
 Software Models.  A software life-cycle model is a descriptive and diagrammatic representation of the software life-cycle. This includes a series of.
Software Processes.
©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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Installation and Maintenance of Health IT Systems
SOFTWARE PROTOTYPING Vishnu Chaitanya reddy Nara Vishnu Chaitanya reddy Nara
Software Engineering Management Lecture 1 The Software Process.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
© 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.
An Introduction to Software Engineering
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
© The McGraw-Hill Companies, Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4.
SPM (5e) Selection of project approach© The McGraw-Hill Companies, Software Project Management Chapter Four Selection of an appropriate project.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Click to add text Systems Analysis, Prototyping and Iteration.
© Bennett, McRobb and Farmer 2005
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Methodologies/Life Cycle Models
Software Development - Methodologies
Methodologies and Algorithms
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Processes (a)
Prototype Model Lecture-4.
Chapter 2 SW Process Models
Life Cycle Models PPT By :Dr. R. Mall.
Software Processes.
Chapter 4.Selection of an appropriate project approach
Lecture # 5 Software Development Project Management
Software life cycle models
Software Project Management
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
SNS College of Engineering Coimbatore
Presentation transcript:

Software project management (intro ) Project approaches

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 uncertainties of the project properties of application to be built properties of application to be built

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

Choice of process models ‘waterfall’ also known as ‘one-shot’, ‘once- through’ incremental delivery evolutionary development

waterfall feasibility study requirements analysis design build test install ‘the waterfall model’

waterfall the ‘classical’ model imposes structure on the project every stage needs to be checked and signed off BUT limited scope for iteration limited scope for iteration

v-process model feasibility study requirements analysis system design build unit test system test user acceptance software design review corrections Another way of looking at the waterfall model

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 ‘throw away’ prototypes evolutionary prototypes evolutionary prototypes What is being prototyped? human-computer interface human-computer interface functionality functionality

reasons for prototyping learning by doing useful where requirements are only partially known useful where requirements are only partially known improved communication users reluctant to read massive documents users reluctant to read massive documents when system is ‘live’ you get a better feeling for it when system is ‘live’ you get a better feeling for it improved user involvement user ideas and requests are quickly implemented user ideas and requests are quickly implemented

more reasons for prototyping a feedback loop is established ensures that the specification is correct ensures that the specification is correct reduces the need for documentation debatable? debatable? reduces maintenance costs i.e. changes after the application goes live prototype can be used for producing expected results

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

other ways of categorizing prototyping what is being learnt? organizational prototype organizational prototype hardware/software prototype (‘experimental’) hardware/software prototype (‘experimental’) application prototype (‘exploratory’) application prototype (‘exploratory’) to what extent mock-ups mock-ups simulated interaction simulated interaction partial working models: vertical versus horizontal partial working models: vertical versus horizontal

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 incremental process set global objectives global open architecture open incremental plan design the step build the step install the step evaluate the results feedback

incremental approach:benefits feedback from early stages used in developing latter stages shorter development thresholds important when requirements are likely to change important when requirements are likely to change user gets some benefits earlier may assist cash flow may assist cash flow project may be put aside temporarily more urgent jobs may emerge more urgent jobs may emerge reduces ‘gold-plating’ i.e. features requested but not used

possible disadvantages of increment delivery loss of economy of scale some costs will be repeated some costs will be repeated ‘software breakage’ later increments might change earlier increments later increments might change earlier increments

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 not more than three months each step should deliver some benefit to the user some steps will be physically dependent on others

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/C where V is a score 1-10 representing value to customer V is a score 1-10 representing value to customer C is a score 0-10 representing value to developers C is a score 0-10 representing value to developers

V/C ratios: an example