Title: Chapter 6: System Development
1Chapter 6 System Development
- Analyzing designing systems
- Prototyping
- IS project types
2State of the Industry
- There are many good ideas for implementing
computer systems in business - Bringing in a project on time
- within budget
- as specified
- is very difficult
3Software Development Alternatives
- Code-and-Fix
- Waterfall
- Prototyping
- Spiral Model
- Rapid Prototyping
- Others like component assembly projects and CASE
tool which involve a degree of reuse of
previously developed project.
4Waterfall Model
- System feasibility Boehm (1988)
- Software plans requirements
- Product design
- Detailed design
- Code
- Integration
- Implementation
- Operations Management
5Prototyping (Evolutionary)
- Develop system on a small scale
- let user try the system
- User identifies needed improvement
- Especially good if benefits hard to identify
- (better decision making)
- also appropriate to compare alternatives
6Spiral Model
- The spiral model is a systems development
lifecycle (SDLC) model used in information
technology (IT). This model of development
combines the features of the prototyping model
and the waterfall model. The spiral model is
favored for large, expensive, and complicated
projects. - The steps in the spiral model can
be generalized as follows - The new system requirements are defined in as
much detail as possible. - A first prototype of the new system is
constructed from the preliminary design. - A second prototype is evolved by a four
procedure - - evaluating the first prototype in
terms of its strengths, weaknesses, and risks - - defining the requirements of the
second prototype - - planning and designing the second
prototype - - constructing and testing the
second prototype. - At the customer's option, the entire project can
be aborted if the risk is too great. - The existing prototype is evaluated in the same
manner as was the previous prototype, and, if
necessary, another prototype is developed. - The preceding steps are iterated until the
customer is satisfied. - The final system is constructed, based on the
refined prototype. - The final system is thoroughly evaluated and
tested.
7The spiral Model loops
Cycle 1 Cycle 2
Risk analysis Risk analysis
Prototype Prototype
Operation concept Models
Requirements plan Software requirements
Life cycle plan Requirements validation
8The spiral Model loops cont..
Cycle 3 Cycle 4
Risk analysis Risk analysis
Prototype Prototype
Models Models
Software product design Detail design
Validation verification Coding and unit testing
Integration test plan Integration user acceptance, and implementation
9Quotes..
- Some people make things happen, some watch things
happen, while others wonder what has happened. - Those who do not read are no better off than
those who cannot. - Two things are infinite the universe and human
stupidity and Im not sure about the universe.
Albert Einstein - Vision without action is a daydream. Action
without vision is a nightmare. - If I had nine hours to chop down a tree, Id
spend the first six sharpening my ax. Abraham
Lincoln - Failures are divided into two classes those who
thought and never did, and those who did and
never thought.
10Risks and Responses
- Personnel best talent training
- team building
- Budget schedule multiple estimates
- design to budget
- requirements scrubbing
- Wrong functions user surveys, prototype
- User interface prototyping, scenarios
11Risks and Responses
- Excessive features requirements scrubbing
- Many changes high change threshold
- External component problems
-
compatibility analysis, -
benchmarking - Real-time perform simulation, benchmarking
- prototyping
- Technical limits cost/benefit
- prototyping
12Rapid Prototyping
- - Is a software development methodology that uses
minimal planning in favor of rapid prototyping.
The "planning" of software developed using RAD is
interleaved with writing the software itself. The
lack of extensive pre-planning generally allows
software to be written much faster, and makes it
easier to change requirements. - - It involves methods like iterative development
and software prototyping. - - Four phases of RAD are
- Requirements planning
- User design
- Construction
- Cutover, testing training and installation
13Other Systems Development Options
- Component Assembly Model (CAM) has a close
resemblance with the Rapid Application
Development (RAD) model. - CAM uses a lot of previously made components.
- CAM doesnt need to develop programs from
scratch, but it will be putting together powerful
components. All the developers has to do is to
know what the customer wants, look for the
components to answer the need and put together
the components to create the program. - Component Assembly Projects
- typically object oriented modules
- Rapid Application Development
- techniques for compressing the life cycle
- - Computer Aided Software Engineering
- - Joint Application Development
14Software Development Standards
- Standards are the key to effective quality
management - They may be international, national,
organizational or project standards - Product standards define characteristics that all
components should exhibit e.g. a common
programming style - Process standards define how the software process
should be enacted (performed)
15Importance of Standards
- Encapsulation of best practice- avoids repetition
of past mistakes - Framework for quality assurance process - it
involves checking standard compliance - Provide continuity - new staff can understand the
organization by understand the standards applied
16PM International Standards
- CMM, Capability Maturity Model from the Software
Engineering Institute. - GAPPS, Global Alliance for Project Performance
Standards- an open source standard describing
COMPETENCIES for project and program managers. - A Guide to the Project Management Body of
Knowledge. - HERMES method, Swiss general project management me
thod, selected for use in Luxembourg and
international organizations. - The ISO standards ISO 9000, a family of
standards for quality management systems, and
the ISO 100062003, for Quality management systems
and guidelines for quality management in
projects. - PRINCE2, PRojects IN Controlled Environments.
- Team Software Process (TSP) from the Software
Engineering Institute. - Total Cost Management, Framework, AACE
International's Methodology for Integrated
Portfolio, Program and Project Management) - V-Model, an original systems development method.
- The Logical framework approach, which is popular
in international development organizations. - IAPPM, The International Association of Project
Program Management, guide to Project Auditing and
Rescuing Troubled Projects.
17ISO 9001 of JORDAN
18SEI
- The SEI works with industry, academic
institutions and the United States government to
improve the performance and reliability of
computer systems by managing pilot programs,
conducting tests, offering courses and providing
services for licensing and publication. - U.S Defence Dept. funded institute associated
with Carnegie Mellon - Mission is to promote software technology
transfer particularly to defence contractors - Maturity model proposed in mid-1980s, refined in
early 1990s. - Work has been very influential in process
improvement
19Maturity model levels
- There are five levels defined along the continuum
of the CMM and, according to the SEI - Initial (chaotic, ad hoc, individual heroics) -
the starting point for use of a new or
undocumented repeat process. - Repeatable - the process is at least documented
sufficiently such that repeating the same steps
may be attempted. - Defined - the process is defined/confirmed as a
standard business process, and decomposed
to levels 0, 1 and 2 (the latter being Work
Instructions). - Managed - the process is quantitatively managed
in accordance with agreed-upon metrics. - Optimizing - process management includes
deliberate process optimization/improvement.
20The SEI process maturity model
21Key process areas
22SEI model problems (CMM)
- It focuses on project management rather than
product development. - It has no formal theoretical basis.
- It concentrate on process, but ignores people.
- It ignores the use of technologies such as rapid
prototyping. - It does not incorporate risk analysis as a key
process area - It does not define its domain of applicability
23Effect of CMM LevelMcConnell 1993
Level Cost (mill) Time (months) Quality (def/k) LOC/hr
1 33 40 9.0 1
2 15 32 3.0 3
3 7 25 1.0 5
4 3 19 0.3 8
5 1 16 0.1 12
24Quote
- "In times of universal deceit (deception, fraud),
telling the truth will be a revolutionary act." - We are what we repeatedly do.
- If the idiots hate you, it proves you're not one
of them!
25IS Project Types
- maintenance
- conversion
- new systems development
26Mcleod-Smith view IS project differently
- System architecture project, strategic system
plan for the organization. - End user projects.
- Business re-engineering projects, new ways of
doing business. - Technology implementation.
- Package implementation.
27Maintenance Projects
- by far maintenance projects the most common type
of IS - duration
- training
- categories
- fixing errors
- minor enhancements.
- major enhancements, high level of design
28Duration of Maintenance Projects
- Impact on Organizations Master Plan biggest
factor - if significant contribution to revenue, more
likely to have established maintenance team - can contribute as revenue source (royalties) or
as a production tool - if less revenue impact, MORE LIKELY TO HAVE
PROJECT TEAM for maintenance
29Training Maintenance Projects
- some companies use maintenance as a training
ground for new employees - exposure to maintenance can make an
organizations operations much clearer
30FIXING ERRORS
- clear objective - complexity depends on
- nature of the system, error, personnel
- BEST CASE
- small system, easily traced
- can assign to someone familiar with it
- WORST CASE
- nobody familiar with system
- very large complex system
- system evolved from earlier versions
31MINOR ENHANCEMENTS
- adding, modifying, deleting data or reports
- a degree of original design
- constrained by original design
- usually not under critical conditions
- therefore, more likely to examine alternative
approaches - more likely assigned to those with design
capabilities, knowledge of the organization
32MAJOR ENHANCEMENTS
- design implementation scope high
- wide-scale modification of existing module, or
development of new module - can be a collection of minor enhancements with
some common characteristic - need experienced personnel
33MAJOR ENHANCEMENTS
- EASIEST IF
- personnel know system
- clear connection to a corporate goal
- straightforward processes
- CASE tool used to develop
- DIFFICULT WHEN
- new personnel
- hard to assess criticality of system
- no design implementation standards
34CONVERSION PROJECTS
- change an existing system
- (not necessarily computerized)
- manual to computer-based
- one computer platform to another
35Convert Manual to Automated
- closest to pure design development
- major pitfalls
- improper specification
- failure to accommodate changes
- need knowledge of existing system, desired
system, how to make transition
36Conversion Change Management
- need senior management support
- need to convince affected employees that the
change will lead to better working environment - JOB REDEFINITION
- MAY DISPLACE EMPLOYEES - need retraining
37Convert to New Technologies
- from one computer system to another
- NEW JOB DESCRIPTIONS
- example - text only to text image
- keyboard only to scanning, working with objects
- DATA RETRIEVAL changes
- Conversion to new or emerging technologies much
more involved
38Convert to New Technologies
- SIMPLEST
- new hardware similar to old
- new operating system similar to old
- existing applications modular
- vendor supplied routines for conversion
- WORST
- major change single task to multi-task
- line-oriented to icon-oriented
- keyboard to mouse
39Language-Based Conversions
- translate from one language to another
- most from 3GL (COBOL) to 4GL
- need experts in both old new languages
- impact on data code structure
- take full advantage of 4GL
40Non-procedural Conversions
- instead of sequential control, statements written
as rules fired when all conditions satisfied - object-oriented approaches
- objects control processing
- need expertise in old new languages
- more code reuse in object-oriented
41Hardware-based Conversions
- causes
- convert to new platform for marketing purposes
- bring in-house a formerly time-shared system
- purchase new computing platform
- most effort in converting low-level input
output processing routines
42Hardware-based Conversions
- same vendor - little problem
- IBM 32 bit words with 8 bit bytes
- CDC 60 bit words with 6 bit bytes
- code (even in same language) wont run same
- vendors may supply different codes
- BEST CASE - vendor specific I/O localized in
routines supplied by vendor - USUALLY some adjustments required
43New Systems Development
- each type of system has different project
management characteristics - transaction processing (TPS)
- management control
- decision support systems (DSS)
- group support systems (GSS)
- executive information systems
- Enterprise Resource Planning (ERP)
- Internet Commerce (IC)
44Transaction Processing
- high volumes of quantitative data, variety of
input sources - drive standard reports, basis for other systems
- complexity arises from volume
- may involve complex calculations
45Management Control
- more specialized than transaction processing
- monitor manpower allocations
- monitor project activities progress
- monitor production levels
- monitor sales by region
- compare expected with actual
- if variance too great, trigger action
46Decision Support Systems
- explore decision alternatives
- data from a variety of sources
- may include models
- Project Team needs expertise in models
47Group Support Systems
- allow multiple decision makers to work on
decision problem - Process oriented, their primary function is to
allow people to communicate - can be different time, place
- Features of GSS includes
- anonymity
- brainstorming
- consensus building
48Executive Support Systems
- access to data of all types both in house and
external. - much more subjective data, long range, such
periodic government reports. - INTERFACE critical
- drill-down data tools for details about the
summary data. - trend analysis - graphics statistics
- exception reports
49Enterprise Resource Planning
- Design to serve all computing needs of an
organization. - Generally implemented in modules.
- Not trivial to implement
- Vendors are willing to assist.
50Internet Commerce
- Rethinking the business and its key process
- Developing affordable information technology
infrastructure - Constructing specific internet products and
services.
51Recap
- IS project management can involve a wide variety
of tasks - Need to be able to get technical expertise as
well as experience with old systems - Apply systems approach
52Systems Development Approach
- Based on a complete Life cycle analysis.
- Project proposals are measured on cost, time,
and performance - SDLC phases
- Specification
- Design
- Code (acquisition)
- Data conversion
- Testing
- implementation
53Specification
- User identifies need
- Systems analyst plans solution
- Feasibility study clear, concise statement of
the problem - Statement of work specification of what is to be
done - MOST PROJECTS DIE IN THE SPECIFICATION PHASE
54Design
- How software will meet requirements (vendors make
a living telling clients that their system is
exactly what the client needs) - OPTIONS make or buy
- in-house or outsource
- Request for Proposal specify for bidding
- OUTPUT detailed list of user requirements and
system requirements
55Xerox
- Halper (1994)
- Early 1994 outsourced IS to EDS
- had profit of 620 million on 14.6 billion
- shed non-core business
- reduced IS staff by 2,000
56Code
- If acquire, Selection of Builder
- Cost.within the budget
- Feasibilitybidder can do the project
- Experiencebidders record on similar project
- Reputation quality work of bidder
- cost-benefit study
57Data Conversion
- Important in data warehousing, data mining
- Useful for decision support, executive
information systems
58Testing
- User evaluates system performance
- transfer to user (installation)
- TRAINING
59Implementation
- Install and check system
- User Training is a key to success
- Especially for enterprise-wide systems
- User evaluates system performance and any problem
detected will be fixed. -
60Summary
- System analysis development has evolved a great
distance - Many methodologies exist
- Unimportant which
- Helps a great deal to focus on one
- Standards can increase development productivity
- Many types of IS projects
- Development of a system a sequence of functional
tasks