Professional Documents
Culture Documents
CHAPTER
Objectives
Main Objectives:
0
Select Project
1 Identify project 2 Identify project
scope and objective infrastructure
3
Analyze project
characteristics
4 Identify the
Review products and activities
5 Estimate effort
for activity
For each activity
Lower level detail 6 Identify
activity risks
9 Execute plan
8 Review/publicize plan
• The project team and the users belong to the same organization;
• The applications being considered slot into a portfolio of existing
computer-based systems;
• The methodologies and technologies to be used are not selected
by the project manager, but are dictated by local standards.
• Product uncertainty
• Process uncertainty
• Resource uncertainty
• Control systems
• Information systems
• General tools
• Specialized techniques
• Hardware environment
• Safety-critical systems
• Imprecise requirements
2. Recommended approach
(a) selected methodology or process model;
(b) development methods;
(c) required software tools;
(d) target hardware/software environment.
3. Implementation:
(a) required development environment;
(b) required maintenance environment;
(c) required training.
4. Implications:
(a) project product and activities - this will have an
effect on the schedule and staff-time;
(b) financial - this report will be used to produce
costings.
Methodology : SSADM
SSADM (Structured Systems Analysis and Design Methodology) is a methodology used
in the analysis and design stages of system development. It was launched in 1981,
commissioned by CCTA (Central Computing and Telecommunications Agency) in a bid
to standardize the many and varied IT projects being developed across government
departments.
What is SSADM?
Structured Systems Analysis and Design Methodology (SSADM) is an
integrated set of standards and guides for the analysis and design of
computer systems. It is an integrated set of standards and guidelines
consisting of :
HISTORY OF SSADM
SSADM was introduced in 1981 as the standard method of analysis
and design for UK Government projects. ITSD adopted SSADM since
May 1988. After a series of successful pilot implementation, the full
implementation of SSADM commenced in 1991. Since November
1991, all administrative computer systems developed in ITSD used
SSADM (or Rapid Application Development (RAD) since November
1997). Currently, a customised SSADM Version 4.2 is being adopted.
BENEFITS OF SSADM
Deliver the system to users on time
Deliver systems that meets user’s needs
Deliver systems which respond to changes in the
business environment
Improve the effective and economic use of the skill
available
Improve quality by reducing error rates
Improve flexibility
Improve productivity
Avoid lock-in to a single source of supply
Avoid IT developers’ bureaucracy
Software Project Management Slide# 15
Selection of an appropriate project approach
SSADM Methodology
OVERVIEW OF STRUCTURE
Stage 0:
Feasibility Study
Stage 1:
Investigation of current env.
Stage 2:
Business system options
Stage 3:
Definitions of requirements
Stage 4:
Technical system options
Stage 5:
Logical design
Stage 6:
Physical design
LDS included in
environment descriptions
Software
RJP/SSADM Project
0/PP Management Slide# 17
Selection of an appropriate project approach
SSADM Methodology
Stage 1:
Investigation of the level 1 current physical DFD (c.p. DFD)
current environment overview LDS
Software 1/PP
RJP/SSADM Project Management Slide# 18
Selection of an appropriate project approach
SSADM Methodology
Step 380
Assemble cross check LDM against all
requirements
specification other products
LDM is used
for reference
- To specify the physical data and process design, using the language
and feature of the chosen physical environment
- To resulting design should provide sufficient information for
subsequent processes in the Implementation phases
- Major deliverables are physical data design, program specifications,
process data interfaces
Key to abbreviations:
c.p. = current physical diagram
SSADM
Feasibility study report
Documentation for
Implementation Phase
– Advantages
• Allows key users to participate effectively
• When properly used, JAD can result in a more
accurate statement of system requirements, a
better understanding of common goals, and a
stronger commitment to the success of the
new system
– Disadvantages
• More expensive and can be cumbersome if the
group is too large relative to the size of the
project
Throw-away prototypes
• Use only to test out some ideas and is then discarded when
the true development of the operational system is
commenced.
• Using a different software environment or
• Using a different kind of hardware platform.
Evolutionary prototypes
• Developed and modified until it is finally in a state where it
can become the operational system.
Reasons:
• Learning by doing
• Improved communication
• Improved user involvement
• Clarification of partially known requirements
• Demonstration of the consistency and completeness of
a specification
• Reduced need for documentation
• Reduced maintenance costs
• Feature constraint
• Production of expected results.
Drawbacks
• Mock-ups
• Simulated interaction
• Partial working model:
– Vertical
– Horizontal
Plan increments
Design increment
Disadvantages:
• Functional goals
– objectives it is intended to achieve;
– jobs the system is to do;
– computer/non-computer functions to achieve them.
• Quality goals
– reliability
– response
– security.
Plan increments
• Steps typically should consist of 1% to 5% of the total
project;
• non-computer steps should be included;
• an increment should, ideally, not exceed one month and
should not, at worst, take more than three months;
• each increment should deliver some benefit to the user;
• some increments will be physically dependent on others;
• value-to-cost ratios may be used to decide priorities.
Feasibility
Business study
Implement
Agree schedule
Create
Functional Identify
functional Review Implementation Train
mode iteration functional
prototype business users
prototype
User approval and user
Review prototype
guidelines
Identify design
prototype
Review
Agree Design/build design
schedule iteration prototype
http://www.agileapproach.co.uk/html/dsdm_lifecycle.html
Software Project Management Slide# 57
Selection of an appropriate project approach
4.13 Dynamic Systems Development Method (DSDM)
Problems in
software development
Risks:
• Schedule slips
• Business misunderstood
• Defect rate
• Project cancelled
• System goes sour
• Business changes
Schedule slips
• What if:
most business value is delivered on time
Business misunderstood
• What if:
an on-site customer steers development
Defect rate
Project cancelled
Size of project Early On-Time Delayed Cancelled Sum
1 function point 14.68% 83.16% 1.92% 0.25% 100.00%
10 function points 11.08% 81.25% 5.67% 2.00% 100.00%
100 function points 6.06% 74.77% 11.83% 7.33% 100.00%
1,000 function points 1.24% 60.76% 17.67% 20.33% 100.00%
10,000 function points 0.14% 28.00% 23.83% 48.00% 100.00%
100,000 function points 0.00% 13.67% 21.33% 65.00% 100.00%
Average 5.53% 56.94% 13.71% 23.82% 100.00%
Table 1: Percentage of projects early, on-time, late, canceled
(from Patterns of Software Systems Failure and Success, by Capers Jones)
What if:
short releases deliver at least some useful working software, reflecting
investment to date
• What if:
the design is simple and the code quality is high
Business changes
• What if:
the customer can change their mind, substitute
functionality, and change priorities
cost of change
What if…
cost of change
Time
XP Practices
• Planning Game • Pair Programming
• Small Releases • Collective Ownership
• Metaphor • Continuous Integration
• Simple Design • 40 Hour Week
• Testing • On-site Customer
• Refactoring • Coding Standard
Description of XP Practices
XP Practice Summary Industry Practice
Planning Game Determine the scope for the next release by Project Planning
selecting stories on which release is based Fundamental
Small Releases A release containing some new business value Evolutionary Prototype
occurs approximately every two weeks Best Practice
Metaphor The high level vision of the entire system is used Requirement Engineer
to drive the detailed design & construction Fundamental
Simple Design The design of the system should be as simple as Simple Design
possible to support the current functionality needs Fundamental
Testing Developer’s create until tests prior to construction, Testing
referred to as Test First. Customers create Test Cases
functional tests. Tests are reused during project Fundamental
Refactoring The system is restructured and reworked Refactoring
throughout the project to decrease complexity, Incremental Dev.
increase flexibility, etc. Fundamental
Fundamental – identifies activities that all software projects should always do to allow basic success.
Best Practice – a common term used to identify practices proven through experience in software industry.
Description of XP Practices
XP Practice Summary Industry Practice
Pair Code is written by two people on the same Extreme Practice
Programming machine at the same time
Collective Any code in the system can be changed by Unselfish Teams/Egoless
Ownership anyone at anytime Good Practice
Continuous Code change or additions are integrated into Integration
Integration production build every time a small task is
completed and no less than one a day Best Practice
40 Hour Week Overtime is required no more than one week Quality of Life
at a time Good Practice
On-site A customer or the selected customer Requirement Engineer
Customer representative is always available to provide and
select stories and answer questions Fundamental
Coding Code is written according to a set of rules to Coding Standard
Standard help improve communication via code Best Practice
Good Practice – covers practices that have not been proven to provide excellent results on a consistent basis.
Extreme Practice – used to identify practices identified exclusively with extreme programming.
http://www.extremeprogramming.org/
Iterate as
required
Macroprocess
Stop/checkpoint
Microprocess
Iterate as
required
Macroprocess
Stop/checkpoint
Microprocess
Iterate as
required
http://www.objectivasoftware.com/En/Methodology/IterativeProcess.htm