Introduction to Computer Science

advertisement
Objectives
Explain the elements of project management and the
responsibilities of a project manager
Describe how the UP disciplines of business
modeling and environment relate to the inception
phase
Describe the project management activities that are
done during the inception phase
Develop a project schedule using a work breakdown
structure (WBS) and PERT and Gantt charts
Object-Oriented Analysis and Design with the Unified Process
2
Objectives (continued)
Use Microsoft Project to build the project schedule
Perform a risk analysis of potential project risks
Develop a cost/benefit analysis using net present
value calculations
List the key deliverables and activities of the end of
the inception phase
Discuss three techniques for monitoring and
controlling a system development project
Object-Oriented Analysis and Design with the Unified Process
3
Overview
Unified Process (UP) development methodology
Consists of phases, iterations, and disciplines
Provides framework for project definition and
execution
Project management: a critical support discipline
Project Management prominent in inception phase
Tasks include monitoring and controlling projects
Object-Oriented Analysis and Design with the Unified Process
4
Project Management
Development project artifacts (products)
Development of a new software system
Enhancement or upgrade of an existing system
Integration of software into existing environment
Projects constrained by schedule and resources
Project novelty presents great challenges
Different products are produced
Different activities required for varying schedules
Different resources are used
Object-Oriented Analysis and Design with the Unified Process
5
Project Success & Complexity
Development projects produce software systems
Projects are wide ranging
Simple Web sites
Implementation of real-time business applications
Issues complicating project management
Sophisticated business needs
Changing technology
Integrating OS, support programs, and new systems
Project success rate very low: 34 percent as of 2004
Object-Oriented Analysis and Design with the Unified Process
6
Sample Criteria for Defining Rigor or Complexity of Project
Controls
Object-Oriented Analysis and Design with the Unified Process
7
Project Success Factors
Clear system requirements
Substantial user involvement
Support from upper management
Thorough and detailed project plans
Realistic work schedules and milestones
Adequate project resources
Proper execution of control processes
Object-Oriented Analysis and Design with the Unified Process
8
The Role of the Project
Manager
Project manager coordinates project development
Specifications in a detailed plan at project inception
Activities that must take place
The deliverables that must be produced
Resources needed
Project manager accountable for success or failure
Project manager has internal/external responsibilities
Many career paths lead to project management
Object-Oriented Analysis and Design with the Unified Process
9
Figure 3-1
Various Roles of Project Managers
Object-Oriented Analysis and Design with the Unified Process
10
Project Management
Knowledge Areas
The Project Management Institute (PMI)
Appendix
A
Reading
Professional organization promotes project management
PMI provides extensive support material and training
Defines specialist’s body of knowledge (BOK)
PMBOK organized into nine knowledge areas
PMBOK principles to be applied to iteration activities
Object-Oriented Analysis and Design with the Unified Process
11
Knowledge Areas
 Project Scope Management
 Project Time Management
 Project Cost Management
 Project Quality Management
 Project Human Resources Management
 Project Communications Management
 Project Risk Management
 Project Procurement Management
 Project Integration Management
Object-Oriented Analysis and Design with the Unified Process
12
Project Management within the
Unified Process
Project management is a support business discipline
Project management tasks prominent at inception
Other important disciplines of inception phase
Business modeling
Environment
Requirements
Design
Object-Oriented Analysis and Design with the Unified Process
13
UP Phases and Iterations with Disciplines
Object-Oriented Analysis and Design with the Unified Process
14
The Unified Process and the
Inception Phase
Inception phase of the UP has (5) objectives
Identify the business need for the project
Establish the vision for the solution
Identify scope of the new system and the project
Develop preliminary schedules and cost estimates
Develop the business case for the project
Inception phase may be completed in one iteration
Object-Oriented Analysis and Design with the Unified Process
15
Understanding the Business
Environment
Objective: understand project operational context
Define the business problem
Evaluate existing architecture
Define needed interfaces to other systems
Perform stakeholder analysis
◘ Stakeholders: people with an interest in the system
– Users, sponsors and support staff
Object-Oriented Analysis and Design with the Unified Process
16
The Stakeholders for Rocky
Mountain Outfitters
Identify all of the stakeholders
Most important executive stakeholders
RMO project sponsor: VP William McDougal
Executive stakeholders: John and Liz Blankens
Other stakeholders
Operational users such as sales reps and mail
Warehouse workers
Technical staff
Object-Oriented Analysis and Design with the Unified Process
17
Sample Stakeholder Analysis Form for RMO
Object-Oriented Analysis and Design with the Unified Process
18
Creating the System Vision
Purpose: justify strategic importance of new system
Clear vision statement includes (3) essential pieces
Precisely specified objective(s)
Concrete (dollar value) benefits tailored to sponsors
System capabilities meeting objective(s)
Project charter: defines need, objective, benefits, scope
System vision
Statement of business need
Stakeholder analysis form
Object-Oriented Analysis and Design with the Unified Process
19
Objectives, Business Benefits, and System Capabilities
Object-Oriented Analysis and Design with the Unified Process
20
Objectives, Business Benefits, and System Capabilities
Object-Oriented Analysis and Design with the Unified Process
21
Creating Business Models
Three major areas normally require business models
Business events (what triggers a process to start)
Business processes
Information repositories and flows
Business models are tied to system requirements
Model format and rigor may vary with each project
Object-Oriented Analysis and Design with the Unified Process
22
Environment and the Inception Phase
 Discipline concerned with development of the project environment
 Several activities are included
 Design and configure the physical environment
◘ Cubes, desks, chairs, phones
 Select and configure project tools
◘ Development tools IDEs, CASE, modeling tools, database tools
◘ Office desktop (i.e. Word, Excel, Outlook, scheduling)
◘ Project management tools (i.e. Project, ReqPro, Risk monitor, issues mgt)
 Tailor the UP development process
 Defining the rigor of a project
◘ Determine high risk issues
 Setup technical support services
Object-Oriented Analysis and Design with the Unified Process
23
Finalizing the System and Project Scope
 Scope
 Project scope: describes what the project will include
 System scope: defines capabilities of new system
 System scope is part of the larger project scope
 Use Case Model
 Essential use case model helps delineate scope
 Essential business use case list is attached to the project
 Some Project tasks outside of the business problem scope
 Provide staffing model and training
 Provide data conversion information
 Define standards for analysis & design, coding, data modeling
 Define quality control measures for documents, deliverables,
testing, and system migration
Object-Oriented Analysis and Design with the Unified Process
24
System Scope and Project Scope
Object-Oriented Analysis and Design with the Unified Process
25
Processes
The System
Must Do
Sample Essential Use Case List for RMO
Object-Oriented Analysis and Design with the Unified Process
26
Developing the Project and
Iteration Schedule
Project Manager and Development team sets
schedule for project and iterations
Tasks involved in scheduling:
Develop the work breakdown structure (WBS)
(outline of work to be completed)
Develop the schedule
Develop resource requirements and staffing plan
Object-Oriented Analysis and Design with the Unified Process
27
Developing the WBS
Two general approaches for building a WBS
By deliverable timeline
By a sequential timeline
Four techniques for identifying WBS tasks
Top-down: Identify major activities first
Bottom-Up: List all tasks first and organize later
Template: Use standard template of tasks
Analogy: Copy tasks of similar completed project
Object-Oriented Analysis and Design with the Unified Process
28
Developing the Schedule
Project schedule orders all activities and tasks
Building the schedule
Identify dependencies between the tasks on WBS
Estimate the effort that each task will require
Dependencies: identify related tasks
Finish-start relationships
Start-start relationships
Finish-finish relationships
Select a scheduling tool like Microsoft Project
Object-Oriented Analysis and Design with the Unified Process
29
Entering the WBS into MS
Project
Two types of charts used to show project schedule
PERT/CPM chart
Gantt chart
Charts show same information in different formats
Key metrics
Critical path, slack time, or float
Milestone due dates
Estimate cost of project and establishing a baseline
Object-Oriented Analysis and Design with the Unified Process
30
Entered
Outline
Of
Tasks
Entering the WBS Into MS Project
Object-Oriented Analysis and Design with the Unified Process
31
Entered
Dependencies
Entered
Durations
Gantt Chart of RMO’s Inception Iteration
Object-Oriented Analysis and Design with the Unified Process
32
Pert or Network Diagram
Red is Critical Path
Object-Oriented Analysis and Design with the Unified Process
33
Develop the Resource
Requirements and the Staffing
Plan
Core team members very active in inception iteration
Most early tasks are project management activities
Must enter resources in MS Project (Project allows
several ways to input resource information)
Formula for effort: Effort = Duration x Persons
Object-Oriented Analysis and Design with the Unified Process
34
Resource
Entry
Entering Resources for the Scheduled Tasks
Object-Oriented Analysis and Design with the Unified Process
35
Project Management Processes
Case Examples
Object-Oriented Analysis and Design with the Unified Process
36
Project Management – “Not an
Easy Job”
 Standish Group Study of IS Projects:
21% cancelled before finished
51% over time and original budget or
lacking original functionality
◘ 43% had cost exceeding budget
◘ 42% contain original functionality
15% failed projects
34% successful projects
Standish Group, “CHAOS Chronicles ”, 2004,
https://secure.standishgroup.com/reports/reports.php?rid=500
Object-Oriented Analysis and Design with the Unified Process
37
Project Scope Management
ABC Project Description
 ABC Project Characteristics
 Major Retirement System Replacement
◘ Use of a customized COTS system as replacement
◘ Custom development of security, reporting, and Internet system
functionality
◘ Custom integration with existing systems
◘ Need to convert legacy data from replaced systems
◘ Full lifecycle initiation, analysis, design, testing, training, and
implementation
 Environment
◘ Multiple language (Forte, Java, Fortran, COBOL, Natural,
PeopleSoft, PowerBuilder, Visual Basic) and database (AdaBase,
Oracle, VSAM) technologies
◘ Multiple platforms (MVS, Unix, Windows XP)
◘ Large geographic distribution with 8 regional offices
 Size
◘ Budget over 20 million dollars
◘ Total implementation timeframe 2.5 years
◘ 1000 internal users, 1.5 million plus external users
39
ABC Project: Scope & Change
Control
Challenges
 RFP was incomplete as to the extent and
complexity of system interfaces
 Existing systems were not compatible with
financial data in new system
 Complexity of organization and approval
much greater than estimated
 Information systems staff limitations
greatly restricted workflow
 Contract was a fixed price bid with
penalties for late deliverables
Object-Oriented Analysis and Design with the Unified Process
40
Escalate to the
Program Review
Board
Issue
Identified
Document
Issue in
(Access Database)
•Tracking Number
• Impacted Activity
• Impact to Project
• Identifier
• Date
• Target Resolution
• Criticality
• Status
• Name
• Description
• Possible Solution
• Resolution
• Resolution Date
Issue Documentation
Issues
Object-Oriented Analysis and Design with the Unified Process
Owner Assesses
and Resolves
Analyst Assigned
to Investigate
and Present
Options
Resolution
Risk
Options
Issue
Resolved
Status Changed
To Risk
Mitigation/Contingency
Generate Reports
Review and Status
Issues at Weekly
Meeting
Issue Tracking
External
Factors
Issue Analysis
Internal
Factors
Issue Resolution
Issues Management
Escalate to
Change Control
Board
41
Change Control Process
Status Logged
Change Requested
Project Staff will
Schedule and
Implement the
Requested Change
Request is Logged
in the Change
Control Register
Change
Implemented and
Tested
PM
Adjusts PMP, Budget,
and Schedule to Reflect
Impact
Triage Change
Through PM
CCB Considers
Findings
Approved
Rejected
Change
Control Board
Reviews Request
Analysis
Object-Oriented Analysis and Design with the Unified Process
Impact Analysis
of Making the
Change or Not
42
ABC Project: Scope & Change Control
Key Issues
 Scope of interfaces grew by 23 additional system interactions




Each interface needed to be addressed separately for client
Client interpreted broad requirements as being all inclusive of additional interfaces
New interfaces were estimated to cost $2.5 million and take 8 months to complete
Client Project manager was involved in creating RFP so the additions were
politically unacceptable
 Existing system would not support financial data integrity
 Lengthy analysis would need to carried out to determine how to change existing
system
 Rewrite of current systems would be necessary to correctly handle record deletes
 Current business processes would need to reengineered to to support changes in
existing system
 Existing system built on obsolete technology platforms
Object-Oriented Analysis and Design with the Unified Process
43
ABC Project: Scope & Change Control
Key Issues
 Organization complexity greatly under estimated
 Analysis sessions involved as many as 50 to 60 people
 Couldn’t get user agreement and achieve sign-off on analysis
scenarios or business rules
 Approval process ran long taking 6 weeks instead of contract 10
days
 Lack of clarity of deliverables forced “analysis paralysis”
 IT resources over committed
 Technical people not adequately represented at meetings causing
issues to reopened after analysis
 Issues could not be brought to timely resolution since technical
people unavailable so design task delayed
Object-Oriented Analysis and Design with the Unified Process
44
ABC Project: Scope & Change
Control
Lessons Learned
 Incomplete or changing requirements – Changes needed to be brought forward
quickly to change control board, so project schedule wouldn’t get into trouble before
approval could occur
 Poor planning – Greater time should have been estimated in the schedule for less
clearly defined interfaces. Also time estimates for approval and review processes needed
to much greater given the size and complexity of organization
 Lack of technical support – Technical representatives must be present in all analysis
sessions to avoid costly rework and schedule delays
 Lack of executive support – Executive action needed to taken as soon as the financial
data integrity issue was discovered
 The project team is demoralized because milestones are not reached – Better
communication of work effort confirmation needed to occur
Object-Oriented Analysis and Design with the Unified Process
45
Project Staffing or Human Resources
Object-Oriented Analysis and Design with the Unified Process
46
DEF Project Description
Europe Merchant
Performing B2B

DEF Project Characteristics
 B2B Financial Transaction System
◘ Internet base B2B financial transaction
◘ Integrate and update an existing bank charge card
system to provide clearing and account
authorization
◘ Market for B2B trading in Europe
◘ Project management in US and London
 Environment
◘ Internet Language Java, Bank card system C and
COBOL and Oracle relational database
◘ Platform (IBM Unix server, Browser client)
◘ Development and service provider in Phoenix,
merchant in Europe, and financial house in London
 Size
London, UK
Financial Clearing
◘ Budget about 2 million dollars
◘ Total implementation timeframe 6 months
◘ > 10,000 B2B traders, > 50 internal users
Phoenix, AZ
Service Provider
Object-Oriented Analysis and Design with the Unified Process
47
DEF Project Human Resources
Challenges
 Needed to ramp up all staff in two weeks
 Needed diverse technical skill sets
including WebSphere (application
server), Java (object developer), HTML
(artists and web front-end), Oracle
(database), IBM Unix (system
administrator), COBOL and C
(programmers for Card System), etc.
 The company had limited availability of
HR people for recruiting
Object-Oriented Analysis and Design with the Unified Process
48
DEF Project Human Resources
Key Issues
 Had to hire many contractors to meet time goals for
staffing
 Contractors very expensive and changed planned costs
 Schedule had to change to reduce contractor use
 Contractor loyalty is always a question, and project
knowledge is lost when a person leaves the team
 Needed to put relationships in place with placement firms
 Contracts needed to negotiated is a very short time
 Conflict with placement firms and internal HR
Object-Oriented Analysis and Design with the Unified Process
49
DEF Project Human Resources
Key Issues
 Needed to do many interviews
 Interviewed 50 Java programmers to find one hire
 Had to build skill lists to correctly screen applicants
 A big problem was finding time to allocate for interviews
and interaction with placement people
 Lost rate after hire was depressing
 People quit because job was too hard
 People were hired and quit the day they were to report for
work
 The market for contractors makes for difficult hiring
Object-Oriented Analysis and Design with the Unified Process
50
DEF Project Human Resources
Lessons Learned
 Poor planning – Needed to allocate a great amount of schedule time
to the hiring functions. Needed to include time estimates in project
plan for turnover and retraining
 Lack of required resources – Developed a relationship with a Java
consulting organization and contracted with them for many people.
The people had worked together before and were comfortable with
their manager
 Turf wars over ownership – Had to let HR negotiate the rates and
contacts with the placement firms to resolve battles over commission
Object-Oriented Analysis and Design with the Unified Process
51
Quality Control
Object-Oriented Analysis and Design with the Unified Process
52
DEF Project Quality Assurance
Challenges
 Transaction testing and execution from London to Phoenix
 Volume or load testing sufficient to prove US service
provider will work
 Testing of Bank financial posting from Phoenix data center
to UK banks
 Control of requirements and use case document versions
with US and UK deployment
Object-Oriented Analysis and Design with the Unified Process
53
DEF Project Quality Assurance
Key Issues
 Testing of transaction across pond
 Band width availability varied widely depending on the time of
day
 Failover scenarios couldn't be tested successfully with telephone
company limitations on lines
 Difficult to get users in London to use testing software correctly
 Volume testing worked sometimes and didn’t other
 Our Java objects had a memory leak somewhere in the persistence
layer
 The Java was plenty fast, but the back-end card system was
originally designed for batch and we were using it as a real-time
clearing house so performance was a problem to trouble shoot
Object-Oriented Analysis and Design with the Unified Process
54
DEF Project Quality Assurance
Key Issues
 UK bank standards for transactions different than US
 Standards differences forced developers to relearn skills and
transaction types
 Bank encryption software had to reside on physical network in UK
and band-width was a problem as well as management of the
server
 Document management became and issue
 When client disagreed with requirements the excuse was that the
requirements were not received
 We were forced to create common directories with encrypted VPN
connections that created security problems to provide access to
documents
Object-Oriented Analysis and Design with the Unified Process
55
DEF Project Quality Assurance
Lessons Learned
 Poor planning – US service provider made since conceptually, but
physical location of some equipment in UK defeated the original
totally outsourced provider plan
 Lack of required resources – Should have added a dedicated test
management early to the project team and a more complete test plan
would have resulted
 Lack of technical support – Should have used UK banking expert to
resolve bank transaction problems with UK. Also needed to add staff
specialized in memory leaks and diagnosis took long and create bad
client relations
Object-Oriented Analysis and Design with the Unified Process
56
Project Communication
Object-Oriented Analysis and Design with the Unified Process
57
XYZ Project Description
1. Zurich, Switzerland
 XYZ Project Characteristics
 Build Medical System
◘ Develop canned medical system including
2. Phoenix, AZ
Billing
Patient records
Lab
Staffing
◘ Adapt model already used in Europe
◘ Target market State medical insurers
US Medical
System
3. Washington, DC
–
–
–
–
 Environment
3. India
◘ Language C++ and relational database
◘ Platform (Unix server, Windows client)
◘ Development in India, US (Phoenix, Washington
DC, with engineering staff in Zurich
 Size
◘ Budget over 40 million dollars
◘ Total implementation timeframe 2 years
◘ > 100 internal users, > 500 external subscribers
Object-Oriented Analysis and Design with the Unified Process
58
XYZ Project Communications
Challenges
 Get three companies with different culture backgrounds on
three continents to work together
 Make technology work effectively for development and
testing across three continents
 Provide timely direction and control communications
 Manage subcontract communications effectively across
geographic boundaries
Object-Oriented Analysis and Design with the Unified Process
59
XYZ Project Communications
Key Issues
 Culture and time differences
 Swiss company, German CEO and engineering staff, India offshore development, US management of development caused
conflicts
 Time differences limited the available teleconferences
 Multiple companies with conflicting statements of work
 Swiss owned parent to build and sell end product
 US consulting firm to provide US management
 India developers in both DC and India
 Who does analysis for US? Who does screen design for German
code generators? How is the QA handled?
Object-Oriented Analysis and Design with the Unified Process
60
XYZ Project Communications
Key Issues
 Provide delivery of components, test and new product
releases
 Problem was keeping everything in synchronization
 Delivery of test result was very problematic for engineers to
review
 Managers in Zurich didn’t understand status reports from US
 Management staff on-site in DC were not effective
 Manager misrepresented credentials
 Manager lacked understanding of technology
Object-Oriented Analysis and Design with the Unified Process
61
XYZ Project Communications
Lessons Learned
 Unclear objectives – Communication of analysis work for US market needed
to be rule based specification for the German engineers
 Poor planning – Extremely clear and detailed technical specifications were
required to get productivity from India
 Lack of required resources – A native speaking person should be in both
countries to avoid miscommunications. Also hire screening needed to be
improved
 Lack of technical support – Communication lines between countries was too
costly for the bandwidth needed, concluding that joint development could not
be done and US team was moved to Zurich
 Turf wars over ownership or further business development – India firm
wanted to push out consulting firm management
Object-Oriented Analysis and Design with the Unified Process
62
Project Management
Challenges
Identify Project Risks and
Confirm Project Feasibility
Feasibility analysis: verifies project viability
Activities used to evaluate a project’s feasibility
Assess the risk to the project (risk management)
Determine the organizational/cultural feasibility
Evaluate the technological feasibility
Determine the schedule feasibility
Assess the resource feasibility
Perform cost/benefit (economic) analysis
Object-Oriented Analysis and Design with the Unified Process
64
Assessing the Risks to the
Project (Risk Management)
Feasibility analysis also includes risk management
Risk management: identify potential trouble spots
Organize potential problems in risk matrix
Project manager bases two strategies on matrix
Preventing the negative event
Developing a contingency plan
Object-Oriented Analysis and Design with the Unified Process
65
Determining Organizational
and Cultural Feasibility
Identify organizational and cultural risks
Some potential human risks impacting new system
Low level of computer competency among employees
Perceived shifting of organizational power
Fear of employment loss due to increased automation
Reversal of long-standing work procedures
 One way to counter risks: training sessions
Object-Oriented Analysis and Design with the Unified Process
66
Evaluating the Technological
Feasibility
Staffing should have technological proficiency
Solutions to problem are straightforward
Provide additional training
Hire consultants
Hire more experienced employees
Possibly alter scope and approach of the project
Realistic assessments speedup corrective response
Object-Oriented Analysis and Design with the Unified Process
67
Determining the Schedule
Feasibility
Development of project schedule involves high risk
Assumptions and estimates made without adequate
information
Adaptive projects very susceptible to schedule risks
Project managers use milestones to evaluate pace
and compensate for slippage
Contingency plans help reduce the risk of slippage
Object-Oriented Analysis and Design with the Unified Process
68
Assessing the Resource
Feasibility
Human and other resources to assess
Primary resource consists of team members
◘ Systems analysts, system technicians, users
Support staff
Computer resources and physical facilities
Factors adversely impacting human resource
Lack of required people skill sets
Relocations or departures
Object-Oriented Analysis and Design with the Unified Process
69
Determining the Economic
Feasibility
Economic feasibility consists of two questions
Does anticipated value of benefits exceed project costs?
Is there adequate cash flow to fund the project?
Cost/benefit analysis determines economic feasibility
Developing cost/benefit analysis is a three-step process
Estimate anticipated development and operational costs
Estimate the anticipated financial benefits
Subtract costs from benefits
MS Project supports cost/benefit analysis
Object-Oriented Analysis and Design with the Unified Process
70
Figure 3-18
MS Project Showing Project Labor Costs
Object-Oriented Analysis and Design with the Unified Process
71
Net Present Value, Payback Period, and Return on Investment for RMO
Object-Oriented Analysis and Design with the Unified Process
72
Completing the Inception Phase
Inception activities are project foundation
Summary of key deliverables of inception
Project charter package
Essential use case list
Project schedule
Cost/benefit analysis
Project feasibility and risk analysis
General scope and approach should be clearly defined
Scope and essential use case lead to elaboration phase
Object-Oriented Analysis and Design with the Unified Process
73
Project Monitoring and
Control
Maintaining pace requires periodic adjustments
Methods for overseeing UP phases
Manage and control plan (schedule and deliverables)
Manage and control internal/external communications
Manage and control the risks and outstanding issues
Schedules should balance flexibility with firm targets
Project manager is communication gateway or nexus
Project manager should maintain log of open issues
Object-Oriented Analysis and Design with the Unified Process
74
Summary
Project management processes: initiating, planning,
monitoring, controlling, closing
Project manager is liaison and project focal point
Project Management Institute divides knowledge into
nine major areas (PMBOK)
Develop skills managing integration, scope, cost,
quality, communication, human resources, risk, and
procurement
Object-Oriented Analysis and Design with the Unified Process
75
Summary (continued)
Unified Process (UP): methodology for software
development
UP basic premise: software developed in iterations
Iteration: mini-project
Four phases: inception, elaboration, construction,
and transition
Phases include development activities, called
disciplines
Object-Oriented Analysis and Design with the Unified Process
76
Summary (continued)
Nine disciplines in UP
Chief inception phase disciplines: (1) business
modeling (2) environment (3) project management
After inception, project manager tracks and
controls project
Object-Oriented Analysis and Design with the Unified Process
77
Download