SOFTWARE PROJECT MANAGEMENT - PowerPoint PPT Presentation

About This Presentation
Title:

SOFTWARE PROJECT MANAGEMENT

Description:

What is Project Management? Getting the job done ... 3% Project and Cost Accounting. 2% Supplier Management. 1994 Scientific American Article ... – PowerPoint PPT presentation

Number of Views:151
Avg rating:3.0/5.0
Slides: 31
Provided by: Collegeof9
Category:

less

Transcript and Presenter's Notes

Title: SOFTWARE PROJECT MANAGEMENT


1
SOFTWARE PROJECT MANAGEMENT
  • SOFTWARE ENGINEERING

2
Software Project Management Basic Concepts
  • What is a Project?
  • goal oriented (clarity vs ambiguity achievable
    vs. stretch)
  • interrelated activities (independence??)
  • finite duration (really? timing issues?)
  • unique (really?)
  • Three Trade-Offs Involved with All Projects
  • technical goals
  • business goals
  • budget/schedule goals
  • What is Project Management?
  • Getting the job done on time, within budget,
    according to specifications

3
Unsuccessful Projects
  • Why Project Management is so difficult
  • uncertainty
  • outside influences
  • inside pressures
  • inadequate skills
  • nature of teams
  • Why Projects Fail
  • organizational/organizing/people issues
  • poor need identification/specification
  • poor planning/control

4
Modern Software Systems
  • Software Quality
  • functionality
  • reliability
  • cost
  • product availability date
  • Inherent Properties
  • complexity
  • conformity
  • changeability
  • invisibility

5
Where the Time GoesBenchmark Database of 1300
FirmsHackett Group, CIO Magazine, Dec. 1998
  • 25 Application Software Development
  • 25 Operations
  • 16 Application Software Maintenance
  • 8 End-User Support Training
  • 8 Planning and Decision Support
  • 6 Infrastructure Development
  • 4 Risk Management
  • 3 Standards/Tools Development
    Administration
  • 3 Project and Cost Accounting
  • 2 Supplier Management

6
1994 Scientific American Article
  • IBM Study of 24 leading companies
  • 55 had cost overruns
  • 68 had schedule overruns
  • 88 had to be redesigned to be used
  • 1/3rd of all large-scale software programs are
    canceled
  • The average software program overruns its
    schedule by 50 larger programs usually by more
  • 3/4ths of all large-scale developments are
    operational failures they do not function as
    intended or are not used at all
  • Software is still hand-crafted by artisans using
    techniques they can neither measure nor
    consistently repeat

7
Project PerformanceBenchmark Database of 1300
FirmsHackett Group, CIO Magazine, Dec. 1998
  • Large IT Projects
  • only 37 on-time
  • only 42 on-budget
  • Small IT Projects (lt 30 days)
  • only 80 on-time/on-budget

8
Sources of Most Software Development Problems
  • Thin spread of application domain knowledge
  • Fluctuating and conflicting requirements
  • Communication and coordination breakdowns
  • Poor problem solving and decision making

9
Strategies for Improving Software Development
  • New Technologies
  • new languages (Ada, Visual Basic, C)
  • graphical programming object-oriented
    programming
  • application of AI/ES automatic programming
  • environments/tools/workstations
  • New Management Approaches
  • buy vs. build
  • requirements refinement via rapid prototyping
  • incremental/evolutionary development
  • reuse
  • Software Engineering

10
Software Engineering
  • Software engineering encompasses a set of three
    key elementsmethods, tools, and proceduresthat
    enable the manager to control the process of
    software development and provide for the building
    high-quality software in a productive manner.
  • Methods define the technical how-tos for
    software development.
  • Tools give automated (or semi-automated) support
    to the methods.
  • Procedures merge the methods and tools for
    rational, timely software development.
    Procedures establish the order in which the
    methods are applied, deliverables are required,
    and controls are enacted.

11
Software Engineering Goals
  • Supportability
  • Reliability
  • Efficiency
  • Understandability

12
Software Engineering Principals
  • Abstraction
  • Information Hiding
  • Modularity
  • Localization
  • Uniformity
  • Completeness
  • Confirmability

13
Successful Project Management
Textbook Elements
PMI Competencies
  • project requirements
  • organizing
  • team
  • planning
  • control
  • risk and opportunity management
  • project visibility
  • project status
  • corrective action
  • leadership
  • scope management
  • time management
  • cost management
  • human resource management
  • risk management
  • quality management
  • contract management
  • communication management

14
Systems Development Lifecycle
  • Systems Concept
  • System Design
  • System Development
  • System Implementation
  • System Support

15
SYSTEM LIFE CYCLE
Objectives and constraints
Current system descriptions
Analogous problems and solutions
SYSTEM CONCEPT
SYSTEM DESIGN
Enhancement Requests
16
CONCEPT DEFINITION
Objectives and constraints
Working model with resolved issues
Statement of key objectives and constraints
Analogous problems and solutions
Current system descriptions
System model
Working model (functions and features)
Conceptual approaches
Work papers
Project plan
Current system definition
17
SYSTEM DESIGN
Structured specification and system controls
Software and database design
System architecture
Test environment design
Preferred standard software
System inputs and outputs
Operations design
Conversion specifications
Development and implemen- tation plans
Preliminary users guide
Forms, screens and reports
Draft design
Revised design
18
SYSTEM DEVELOPMENT
Operations design
Software and database design
Test environment
Preliminary users guide
Training program design
Prepare user documentation
Unit tested software
Development environment
User documentation
Training program
Project- developed standard software
Tested software and procedures
Production environment
19
SYSTEM IMPLEMENTATION
User documentation
Production environment
Tested software
Trained users
Training program
Operational system
Installed software
Accepted system
Converted data
Conversion software
20
SYSTEM SUPPORT
System changes
Fixes
Operations reports
Tested changes
Develop software and procedures for changes
Defects
Source data
Reports and inquiries
Change specifications
Change requests
Enhancement and change requests
Scheduled change requests
21
Evolution of Software Process Models
  • Code-and-Fix Model
  • Waterfall Model
  • Prototyping
  • Evolutionary Development
  • Spiral Model

22
Waterfall Model
System Feasibility/Validation
Software Plans Requirements/Validation
Product Design/Verification
Detailed Design/Verification
Code/Unit Test
Integration/Product Verification
Implementation/System Test
Operations Maintenance/Revalidation
23
Problems with the Waterfall Model
  • It takes too long.
  • It doesnt result in perfect systems.
  • There are alternatives now available.

24
Uses of Prototyping
  • Verifying user needs
  • Verifying that design specifications
  • Selecting the best design
  • Developing a conceptual understanding of novel
    situations
  • Testing a design under varying environments
  • Demonstrating a new product to upper management
  • Implementing a new system in the user environment

25
Prototyping Advantages and Disadvantages
  • Proposed Advantages
  • Improved user communication
  • Users like it
  • Low risk
  • Avoids overdesign
  • Experimentation and innovation
  • Spreads labor to user department
  • Disadvantages in practice
  • Prototypes are used as is
  • Integration often difficult
  • Design flaws
  • Poor performance
  • Difficult to manage process
  • Creates unrealistic expectations

26
Observed Effects of Prototyping
Software Product
Software Process
  • ease of use ()
  • user needs ()
  • unrealistic user expectations (-)
  • added features (?)
  • poorer performance (-)
  • mixed design quality
  • mixed maintainability
  • less need
  • more difficult to do
  • effort decreased ()
  • difficult cost-estimation (-)
  • end-user participation increased () but what
    exactly does this mean???
  • more expertise needed (-)
  • difficult planning control (-)

27
Iterative Development
System Concept
Version 1
Version 2
Version N
Software Development Process
28
Spiral Model
  • Each Cycle Unfolds as follows
  • identify
  • objectives of portion of product being elaborated
  • alternative means of implementing this portion
  • constraints imposed on applying the alternatives
  • perform risk assessment
  • formulate a strategy for resolving these risks
    (focusing on highest risks)
  • perform some form of prototyping to test the
    risk-resolving strategy
  • implement strategy to accomplish objective (more
    planning, additional requirements analysis,
    enhance specification, produce a design, build an
    operational prototype, implement system, etc.)
  • complete cycle with a formal review

29
(No Transcript)
30
Assessment of Spiral Model
Strengths
Weaknesses
  • focus on high-risk elements
  • defer low-risk items
  • uses prototyping as a key risk-reducing strategy
  • sees reworks and go-backs as positives and
    not negatives
  • difficult to do cost and schedule estimation
  • difficult to apply standard planning and control
    techniques
  • difficult to apply for contract work
  • need for risk assessment expertise
Write a Comment
User Comments (0)
About PowerShow.com