SlideShare a Scribd company logo
1 ©The McGraw-Hill Companies, 2
Software Project
Management
4th Edition
Selection of an
appropriate project
approach
Chapter 4
2 ©The McGraw-Hill Companies, 2
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
3 ©The McGraw-Hill Companies, 2
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
4 ©The McGraw-Hill Companies, 2
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
5 ©The McGraw-Hill Companies, 2
Waterfall
The waterfall model
6 ©The McGraw-Hill Companies, 2
Waterfall
• the ‘classical’ model
• imposes structure on the project
• every stage needs to be checked and
signed off
• BUT
– limited scope for iteration
7 ©The McGraw-Hill Companies, 2
V-process model
Another way of looking at the waterfall model
8 ©The McGraw-Hill Companies, 2
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
9 ©The McGraw-Hill Companies, 2
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
10 ©The McGraw-Hill Companies, 2
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
11 ©The McGraw-Hill Companies, 2
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
12 ©The McGraw-Hill Companies, 2
Incremental delivery
design build install evaluate
design build install evaluate
design build install evaluate
increment
1
increment
2
increment
3
first incremental delivery
second incremental delivery
third incremental delivery
delivered
system
13 ©The McGraw-Hill Companies, 2
The incremental process
Intentional
incremental
delivery
14 ©The McGraw-Hill Companies, 2
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’
15 ©The McGraw-Hill Companies, 2
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
16 ©The McGraw-Hill Companies, 2
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
17 ©The McGraw-Hill Companies, 2
V/C ratios: an example
step value cost ratio
profit reports 9 1 9 2nd
online database 1 9 0.11 5th
ad hoc enquiry 5 5 1 4th
purchasing plans 9 4 2.25 3rd
profit- based pay
for managers
9 0 inf 1st
18 ©The McGraw-Hill Companies, 2
‘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?
19 ©The McGraw-Hill Companies, 2
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!
20 ©The McGraw-Hill Companies, 2
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
21 ©The McGraw-Hill Companies, 2
DSDM framework
Figure 4.6 here
DSDM process model
22 ©The McGraw-Hill Companies, 2
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!
23 ©The McGraw-Hill Companies, 2
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
24 ©The McGraw-Hill Companies, 2
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
25 ©The McGraw-Hill Companies, 2
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?
26 ©The McGraw-Hill Companies, 2
Macro and micro processes
A macro process containing three iterative micro processes
27 ©The McGraw-Hill Companies, 2
‘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
28 ©The McGraw-Hill Companies, 2
Combinations of approach
yes yes no
yes yes yes
yes yes no
evolutionary
incremental
evolutionaryincrementalone-shot
one-shot
installation
construction
one-shot or incremental installation - any
construction approach possible
evolutionary installation implies evolutionary
construction

More Related Content

PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PPT
Spm unit 3
PPT
Spm unit 1
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PPT
Managing people and organizing teams
PPT
Spm unit2
PPT
Introduction to Software Project Management
PPT
SPM PPT
MG6088 SOFTWARE PROJECT MANAGEMENT
Spm unit 3
Spm unit 1
MG6088 SOFTWARE PROJECT MANAGEMENT
Managing people and organizing teams
Spm unit2
Introduction to Software Project Management
SPM PPT

What's hot (20)

PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PPT
Unit 2 spm
PPT
Spm unit 5
PPTX
Software Project Management (monitoring and control)
PPTX
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
PPT
Managing contracts
PDF
MG6088 SOFTWARE PROJECT MANAGEMENT
PDF
Stepwise Project planning in software development
PPT
Software effort estimation
PDF
Spm project planning
PDF
Stepwise planning
PPTX
SPM Activity Planning Introduction
PDF
Spm software effort estimation
PPTX
Project scheduling and tracking
PDF
Spm ap-network model-
PPT
Organization and team structures
PDF
Project Evaluation and Estimation in Software Development
PPTX
Globalization issues in project management
PPTX
Unified process model
PPT
Software estimation
MG6088 SOFTWARE PROJECT MANAGEMENT
Unit 2 spm
Spm unit 5
Software Project Management (monitoring and control)
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Managing contracts
MG6088 SOFTWARE PROJECT MANAGEMENT
Stepwise Project planning in software development
Software effort estimation
Spm project planning
Stepwise planning
SPM Activity Planning Introduction
Spm software effort estimation
Project scheduling and tracking
Spm ap-network model-
Organization and team structures
Project Evaluation and Estimation in Software Development
Globalization issues in project management
Unified process model
Software estimation
Ad

Viewers also liked (20)

PDF
Lecture 3
PPT
Software Project Management chapter-1
PPT
Spm unit 4
PPTX
Project 1 a [element of design]
PPT
Risk evaluation presentation power point
PPTX
Web Engineering - Web Effort Estimation
PPT
Lecture 2
PPTX
Agile Estimation Techniques
PPT
Function points analysis
PDF
SDPM - Lecture 10 - Contract management
PDF
Android datastorage
PPT
DSDM (Dynamic System Development Method)
PPTX
Full Testing Experience - Visual Studio and TFS 2010
PPT
Waterfall model in Software engineering
PPTX
Functional point analysis
PPTX
Function Point Analysis
PPTX
waterfall model
PPTX
Waterfallmodel
PPT
PPT
Lecture 3
Software Project Management chapter-1
Spm unit 4
Project 1 a [element of design]
Risk evaluation presentation power point
Web Engineering - Web Effort Estimation
Lecture 2
Agile Estimation Techniques
Function points analysis
SDPM - Lecture 10 - Contract management
Android datastorage
DSDM (Dynamic System Development Method)
Full Testing Experience - Visual Studio and TFS 2010
Waterfall model in Software engineering
Functional point analysis
Function Point Analysis
waterfall model
Waterfallmodel
Ad

Similar to Selection of an appropriate project approach (20)

PPT
PPTX
Mg6088 spm unit-2
PPT
SPM_Project definition steps and description
PPTX
Pressman_Pressman_SoftwareEngineeringPA_9e_Ch004_PPT.pptx
PPT
Process Model in Software Engineering.ppt
PPTX
Lecture 2 Software Development Process and SDCL models.pptx
PDF
Chapter 04 project approach
PPTX
Sdlc models
PPTX
Sdlc models
PPTX
software engineering SOFTWARE PROCESS MODELS.pptx
PPT
Software product quality
PPT
software project management and its effort
PPT
Process models
PPT
PDF
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
PPTX
Microsoft Dynamics AX Implementation Stabilization Case Studies
PPT
PDF
SE_Unit 2.pdf it is a process model of it student
PPT
An approach-to-planning-software-projects
PDF
Software engineering lecture notes
Mg6088 spm unit-2
SPM_Project definition steps and description
Pressman_Pressman_SoftwareEngineeringPA_9e_Ch004_PPT.pptx
Process Model in Software Engineering.ppt
Lecture 2 Software Development Process and SDCL models.pptx
Chapter 04 project approach
Sdlc models
Sdlc models
software engineering SOFTWARE PROCESS MODELS.pptx
Software product quality
software project management and its effort
Process models
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
Microsoft Dynamics AX Implementation Stabilization Case Studies
SE_Unit 2.pdf it is a process model of it student
An approach-to-planning-software-projects
Software engineering lecture notes

More from tumetr1 (20)

PDF
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
PDF
ตัวอย่างภาคผนวก เล่มโปรเจ็ค
PDF
ตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
PDF
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
PDF
ตัวอย่างสารบัญ เล่มโปรเจ็ค
PDF
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
PDF
ตัวอย่างบทคัดย่อเล่มโปรเจ็ค
PPT
file transfer and access utilities
PPT
retrieving the mail
PPT
connectivity utility
PPT
network hardware
PPT
ระบบเครือข่ายไร้สาย (wireless lan)
PPT
routing
PPT
the transport layer
PPT
ระดับชั้นเน็ตเวิร์ก
PPT
ระดับชั้นดาต้าลิงค์
PPT
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
PPT
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
PPT
ความรู้พื้นฐานของระบบการสื่อสารข้อมูล
PPT
พัฒนาเศรษฐกิจ
ตัวอย่างประวัติผู้วิจัย เล่มโปรเจ็ค
ตัวอย่างภาคผนวก เล่มโปรเจ็ค
ตัวอย่างบรรณานุกรม เล่มโปรเจ็ค
ตัวอย่างบทที่1 บทนำ เล่มโปรเจ็ค
ตัวอย่างสารบัญ เล่มโปรเจ็ค
ตัวอย่างกิตติกรรมประกาศ เล่มโปรเจ็ค
ตัวอย่างบทคัดย่อเล่มโปรเจ็ค
file transfer and access utilities
retrieving the mail
connectivity utility
network hardware
ระบบเครือข่ายไร้สาย (wireless lan)
routing
the transport layer
ระดับชั้นเน็ตเวิร์ก
ระดับชั้นดาต้าลิงค์
สถาปัตยกรรมเครือข่ายคอมพิวเตอร์และบริการ
การส่งข้อมูลผ่านสายส่งและเทคนิคการส่งข้อมูลผ่านเครือข่าย
ความรู้พื้นฐานของระบบการสื่อสารข้อมูล
พัฒนาเศรษฐกิจ

Recently uploaded (20)

PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
master seminar digital applications in india
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Business Ethics Teaching Materials for college
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Pre independence Education in Inndia.pdf
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Institutional Correction lecture only . . .
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
master seminar digital applications in india
Module 4: Burden of Disease Tutorial Slides S2 2025
human mycosis Human fungal infections are called human mycosis..pptx
Business Ethics Teaching Materials for college
Abdominal Access Techniques with Prof. Dr. R K Mishra
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
TR - Agricultural Crops Production NC III.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPH.pptx obstetrics and gynecology in nursing
Pre independence Education in Inndia.pdf
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Final Presentation General Medicine 03-08-2024.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Microbial diseases, their pathogenesis and prophylaxis
Week 4 Term 3 Study Techniques revisited.pptx
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Institutional Correction lecture only . . .
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf

Selection of an appropriate project approach

  • 1. 1 ©The McGraw-Hill Companies, 2 Software Project Management 4th Edition Selection of an appropriate project approach Chapter 4
  • 2. 2 ©The McGraw-Hill Companies, 2 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
  • 3. 3 ©The McGraw-Hill Companies, 2 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
  • 4. 4 ©The McGraw-Hill Companies, 2 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
  • 5. 5 ©The McGraw-Hill Companies, 2 Waterfall The waterfall model
  • 6. 6 ©The McGraw-Hill Companies, 2 Waterfall • the ‘classical’ model • imposes structure on the project • every stage needs to be checked and signed off • BUT – limited scope for iteration
  • 7. 7 ©The McGraw-Hill Companies, 2 V-process model Another way of looking at the waterfall model
  • 8. 8 ©The McGraw-Hill Companies, 2 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
  • 9. 9 ©The McGraw-Hill Companies, 2 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
  • 10. 10 ©The McGraw-Hill Companies, 2 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
  • 11. 11 ©The McGraw-Hill Companies, 2 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
  • 12. 12 ©The McGraw-Hill Companies, 2 Incremental delivery design build install evaluate design build install evaluate design build install evaluate increment 1 increment 2 increment 3 first incremental delivery second incremental delivery third incremental delivery delivered system
  • 13. 13 ©The McGraw-Hill Companies, 2 The incremental process Intentional incremental delivery
  • 14. 14 ©The McGraw-Hill Companies, 2 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’
  • 15. 15 ©The McGraw-Hill Companies, 2 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
  • 16. 16 ©The McGraw-Hill Companies, 2 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
  • 17. 17 ©The McGraw-Hill Companies, 2 V/C ratios: an example step value cost ratio profit reports 9 1 9 2nd online database 1 9 0.11 5th ad hoc enquiry 5 5 1 4th purchasing plans 9 4 2.25 3rd profit- based pay for managers 9 0 inf 1st
  • 18. 18 ©The McGraw-Hill Companies, 2 ‘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?
  • 19. 19 ©The McGraw-Hill Companies, 2 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!
  • 20. 20 ©The McGraw-Hill Companies, 2 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
  • 21. 21 ©The McGraw-Hill Companies, 2 DSDM framework Figure 4.6 here DSDM process model
  • 22. 22 ©The McGraw-Hill Companies, 2 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!
  • 23. 23 ©The McGraw-Hill Companies, 2 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
  • 24. 24 ©The McGraw-Hill Companies, 2 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
  • 25. 25 ©The McGraw-Hill Companies, 2 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?
  • 26. 26 ©The McGraw-Hill Companies, 2 Macro and micro processes A macro process containing three iterative micro processes
  • 27. 27 ©The McGraw-Hill Companies, 2 ‘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
  • 28. 28 ©The McGraw-Hill Companies, 2 Combinations of approach yes yes no yes yes yes yes yes no evolutionary incremental evolutionaryincrementalone-shot one-shot installation construction one-shot or incremental installation - any construction approach possible evolutionary installation implies evolutionary construction

Editor's Notes

  • #2: <number> This talk provides an overview of the basic steps needed to produce a project plan. The framework provided should allow students to identify where some of the particular issues discussed in other chapters are applied to the planning process. As the focus is on project planning, techniques to do with project control are not explicitly described. However, in practice, one element of project planning will be to decide what project control procedures need to be in place.
  • #3: Sections 4.1 and 4.2 of the textbook discuss these issues. Different types of project need different types of approach. If you are working in one particular environment which specializes in one type of software, then the approach is likely not to change much from one project to another. Where you work for different clients in different organizations developing a variety of applications then the approach for each project may need to be tailored.
  • #4: See section 4.2 of the textbook.
  • #5: It could be argued that extreme programming is mainly a particular way of carrying out incremental and evolutionary development
  • #6: Section 4.6 of the textbook discusses this topic. We have already touched upon the Waterfall approach in Lecture/Chapter 1 when we discussed the ISO 12207. The way that the Waterfall approach is usually interpreted, it implies that all work on one phase has to be completed and checked off before the next one can start. However, it can be argued that ISO 12207 is really a technical model showing the order technical processes need to be carried out on a software component. You might break down an application into component increments, but the technical processes relating to that increment are carried out in the ISO 12207 sequence. You can, within the ISO 12207 sequence, loop back in an iterative manner, but the technical sequence still remains.
  • #8: Section 4.7 of the text book discusses this topic Essentially the testing phase of the Waterfall model is expanded. For each developmental activity going down the slope of the left hand side of the V, there is a matching testing or evaluation phase as you climb up the right hand side of the V. Each activity checks the implementation of each of the develoomental stages. For example, at the system testing stage systems analyst may be checking that the design that was specified has been correctly implemented. He or she may also be checking the design itself is adequate.
  • #10: A prototype is a working model of one or more aspects of the project application. It is constructed quickly and inexpensively in order to test out assumptions. Sections 4.9, 4.10 and 4.11 discuss this topic. learning by doing - useful where requirements are only partially known improved communication - users are reluctant to read massive documents, but when system is ‘live’ you get a better feeling for it improved user involvement - user ideas and requests are quickly implemented the reduction of maintenance costs – the idea is that if you do not have a prototype then the first release of the application will effectively become a prototype as users will find things that they do not like and then ask for them to be changed. It is easier and safer to make such changes before the application becomes operational. testing - involves devising test cases and then documenting the results expected when the test cases are run. If these are done by hand, then effectively you have a manual prototype. Why not get the software prototype to generate the expected results?
  • #12: When a prototype is to be produced as part of a student’s final year project, then the learning objectives that the prototypes will help be achieved need to defined at project inception. The details of what has been learnt through the development and exercising of the prototype should be documented during the project.
  • #13: The application to be delivered is broken down into a number of components each of which will be actually used by the users. Each of these is then developed as a separate ‘mini-project’ or increment.
  • #14: This approach has had a very vocal advocate in Tom Gilb (see the book Principles of Software Engineering Management published by Addison-Wesley (1988)). Gilb argues that the initial focus should be on high level business objectives. There may be many ways in which important objectives can be achieved and we ought to allow ourselves freedom in the way we try to achieve the objectives. Open technology plan – we need to ensure that the technologies we use are ones that facilitate the addition of components to an existing application. Plan increments – the nature and order of the increments to be delivered needs to be delivered to the users have to be planned at the outset.
  • #15: Advantages of prototyping feedback from early stages used in developing latter stages shorter development thresholds - important when requirements are likely to change user gets some benefits earlier - may assist cash flow project may be put aside temporarily - more urgent jobs may emerge reduces ‘gold-plating’ i.e. features requested but not used But there are possible disadvantages loss of economy of scale - some costs will be repeated ‘software breakage’ - later increments might change earlier increments
  • #20: A fuller explanation can be found in Jennifer Stapleton’s DSDM: A Framework for Business-Centred Development Addison-Wesley 2002 SSADM is Structured Systems Analysis and Design Method a very heavy-weight and bureaucratic methodology that was promoted by the UK government DFD = Data Flow Diagram LDS = Logical Data Structure, effectively an Entity-Relationship Diagram
  • #21: This can be seen as a re-packaging of a lot of the ideas that have been discussed under the incremental and evolutionary approaches
  • #22: The feasibility/business study stage will not only look at the business feasibility of the proposed project, but also as whether DSDM would be the best framework for it. Applications where there is a prominent user interface would be prime candidates.
  • #23: Time-boxes mean that the focus moves from having a fixed set of functional requirements and then extending the planned project completion until they have all been developed. The deadline is fixed and we deliver what we have completed so far even if it is not everything that was originally planned. In order to make the delivered package coherent and as useful as possible to the users, requirements are prioritized according to the MoSCoW rules.
  • #24: Associated with Kent Beck - see Extreme programming explained Developed originally on Chrysler C3 payroll (Smalltalk) project Agile methods include Jim Highsmith’s Adaptive Software Development and Alistair Cocburn’s Chrystal Lite methods
  • #27: Section 4.14 discusses these ideas in a little more detail