Вы находитесь на странице: 1из 31

Project Management

Define project, project management, RAD, JAD Describe the project triangle and its tradeoffs Describe project management activities Discuss the advantages and disadvantages of functional, project (purpose) and matrix structures Describe the advantages, disadvantages and characteristics of SDLC (System Development Life Cycle) and prototyping Describe the phases of SDLC Describe project dimensions affecting risk Discuss integration in dealing with risk Discuss issues in managing behavioral factors Discuss open sourcing as a development approach

Project Management
Project - temporary endeavor undertaken to create a unique product or service
may be divided into subprojects

Project management - application of knowledge, skills, tools and techniques to project activities to meet or exceed stakeholder needs and expectations from a project

Project Triangle

Time
QUALITY

Cost

Scope

Project Management Activities


Ensuring progress of project using metrics Identifying risks and assessing the probability of them occurring Ensuring progress toward deliverables within constraints of time and resources Running coordination meetings of the project team Negotiating for resources on behalf of the project

Development Models
Systems Development Life Cycle Rapid Applications Development (RAD) Prototyping Joint Applications Development (JAD) (like RAD with users) Agile Programming Object-Oriented

Systems Development Life Cycle (SDLC)


Overview Software Acquisition Choices SDLC Overview SDLC:Phases Alternative Approaches

SDLC - Prior Problems


Failure to meet:
Budgets Schedules Expectations

SDLC - Characteristics
Problem or Opportunity Many names; Widely applicable Analysis vs. Synthesis Variance across stages

SDLC - Characteristics
Disciplined approach Systems approach Iterative (not sequential) Cyclical

SDLC - Advantages
Focus on tradeoffs Focus on goals Controls: milestones, checklist, accountability Tools, models, CASE Hierarchical decomposition Designed for user & manager involvement

SDLC - Reasons for Failure


Scope too broad or too narrow Lack of needed skills Incomplete specifications No control/no framework Lack of management/user involvement Too time-consuming

SDLC Phases
Initiation and Feasibility Requirements Definition Functional Design Technical Design and Construction Verification Implementation Test Maintenance & Review

SDLC Cycle

I. Initiation & Feasibility


Project objectives & Scope Preliminary survey & feasibility
Technical Economic Operational

Project proposal and schedule Identify assumptions & constraints

II. Requirements Definition


Problem/Opportunity definition Analyze current system Focus on decisions and related information needs Define business functionality Plan for training, user acceptance

Problem/Opportunity Definition
Symptoms vs. real problems Question decision makers statement of problem Bound problem realistically Try to ascertain actual cause Sometimes figuring out the problem is half the solution

Analyze Current System


+ Understand activities involved + Identify decision points + Identify problems & efficiencies + Be aware of history - Bias thinking

III. Functional Design


Focus on business needs
usability, reliability

Logical design
Outputs Inputs Presentation Processes Databases Personnel

IV. Technical Design and Construction

Finalize architecture and acquire hardware Complete technical definition of data access and other system components Make (program) vs. buy Develop test plans Revise schedule, plan and costs

V. Verification
Program Testing
Structured walkthrough Code inspection Unit test Pairs testing

Verification, stress, user and security testing

VI. Implementation
Cut-over
Parallel conversion Direct cut-over Pilot conversion Phased conversion

User training

VII. Maintenance and Review


Post-implementation audit
Ends - information requirements (information, performance) Means - process

Maintenance (correcting bugs & scheduled maintenance) Enhancement (adding functionality)

Iterative Development
System Concept Version 1

Version 2
Version N

Software Development Process

Uses of Prototyping

Verifying user needs Verifying that design = specifications Selecting the best design Developing a conceptual understanding of novel situations

Uses of Prototyping

Testing a design under varying environments

Demonstrating a new product to upper management

Implementing a new system in the user environment quickly

Prototyping
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 Documentation is difficult

Observed Effects of Prototyping


Software Product ease of use (+) user needs (+) unrealistic user expectations (-) added features (?) poorer performance(-) mixed design quality mixed maintainability less need more difficult to do Software Process

effort decreased (+) difficult costestimation (-) end-user participation increased (+) more expertise needed (-) difficult planning & control (-)

Rapid Applications Development (RAD)


+ Like prototyping, uses iterative development + Uses tools to speed up development
GUI reusable code code generation programming, language testing and debugging

- Requirements may be frozen too early - Basic standards often overlooked

Joint Applications Development (JAD)


+ Saves interviewing and data collection time + Structured process + Highly collaborative with business units - Expensive - Low use of technology

Project Dimensions Affecting Risk


Project Size (relative to others)
The pregnant lady

Complexity
Extent of difficulty Interdependence of components Relative

Clarity
High vs. Low

Integration Tools
EXTERNAL
User project manager User specification approval process User-managed control process Users as team members User responsibility for education&installation

INTERNAL
IT professional team leader Frequent team meetings Regular technical status reviews Outside technical assistance Goal setting by team

Вам также может понравиться