Presentation on theme: "CSIS 3600 Systems Analysis and Design Information Systems Projects/Project Plan."— Presentation transcript:
CSIS 3600 Systems Analysis and Design Information Systems Projects/Project Plan
What is Project Management Project management is the process of planning and controlling the development of a system within a specified timeframe at a minimum cost with the right functionality (Dennis, Wixom and Tegarden, 2002). Project Management can be seen as a job responsibility or it can be a job in and of itself. A Project Manager is not just a senior analyst who happens to be in charge. A project manager must apply a set of skills different from those applied by the analyst.
Roles of the Project Manager Scoping the project: Project managers estimate resource requirements and formulate plans to deliver the target system. Planning Tasks and Staffing the Project Team Once the project has begun, the project manager becomes a supervisor. As a supervisor, the project manager directs the team's activities and evaluates progress.
Roles of the Project Manager continued Organizing and Scheduling the Project Effort The project manager is responsible for securing resources so they are available when needed. Directing and Controlling the Project One of the most difficult and important functions of the project manager is controlling the project. Few projects come off without problems or delays.
Project Management Process Initiating the Project Planning the Project Executing the Project Closing down the Project
3 Steps of Project Management Create the work plan Staff the project Control and direct the project
Pitfalls of Project Management To be successful in project management, you should be aware of some of the common pitfalls that can lead to project failure: Taking shortcuts through or around the system methodology because: Project gets behind schedule and team wants to catch up Project is over budget and team wants to make up costs Team members are not trained or made fully aware of the task requirements so simply miss or skip them
Pitfalls continued: Poor Expectations Management that results in: Scope Creep - unexpected growth of user expectations and business requirements Feature Creep - uncontrolled addition of technical features Poor People Management that results in: Mythical man-month - assigning more people to the project. There is not a linear relationship between number of people assigned to a project and time to completion. No one in charge and no one sure of the progress of the project
Did you notice that many of the causes of failed projects are related? Scope creep causes project to get behind which causes shortcuts to be taken which causes more people to be assigned to the project which causes feature creep which causes project to be way over budget and way behind schedule which causes shortcuts to be taken...
Managing Expectations The Greatest Trait for Success is the ability to Manage Expectations The best way to manage expectations is to Scope the Project. If you cannot scope project expectations and constraints, you cannot manage expectations. If you cannot manage expectations, your chances for success are greatly reduced.
Managing Expectations continued The three most important items of project scope include: Identifying a project champion and executive sponsor Articulation of the statement of the problem or opportunity including project goals Identification of project constraints Failure to achieve consensus on these dooms a project before it even starts (Whitten & Bentley, 1999)
Expectations Management Matrix An expectations matrix is a rule-driven tool for assessing the dynamics of changing project parameters. The parameters include: cost, schedule, scope and quality.
Expectations Management Matrix continued Rules: You must record three X.s No row may contain more than one X. No column may contain more than one X. Priorities/ Measures of Success Max or Min ConstrainAccept Cost Schedule Scope and/or Quality
EMM Example Priorities/ Measures of Success Max or Min ConstrainAccept Cost Estimated at $20 Billion X Schedule – Deadline December 31, 1969 X Scope and/or Quality 1. Land man on moon 2. Get him back safely X Priority One was the Scope Priority Two was deadline (USSR was ahead in the space race) Priority Three was cost – Cost control is a priority but we may to ‘accept’ cost overruns to achieve the scope by the required deadline. Project – Land Man on the Moon before End of Decade and before USSR
Why EMM During the course of an average systems development project, priorities are not stable. Various factors such as the economy, government, politics, etc. may change During systems analysis, unanticipated business problems are identified or requirements modified The EMM helps to deal with expectations management. Simple tool – but sometimes simple tools are most effective
Having a Plan Success is not pre-destined A good project starts with a good plan The plan is based on the manager's understanding of the requirements of the target system at that point in its development. Project planning is challenging - many project plans call for unreasonably precise estimates of costs and time before a project even begins. This, and poor estimation techniques, can lead to missed deadlines and cost overruns.
Techniques for Developing Project Plans
Identification of Tasks A good place to start the development of a plan is the SDLC and the organization’s Systems Development Methodology All tasks required to complete the project must be identified and then planned: How much time will be required? How many people will be needed? How much will the task cost? What tasks will be completed before other tasks are started? Can some of the tasks overlap?
Statement of Work Work Breakdown Structure is a hierarchical decomposition of the project into phases, activities and tasks. Summary Tasks – Related work units combined together Primitive Tasks – Most basic unit of work that will not be broken down any further Milestones – Events that signify major accomplishments
Work Breakdown Structure in Outline Format Phase (1) Activity (1.1) Task (1.1.1) Step of the task ( ) Step of the task ( ) Task (1.1.2) Step ( )….. Task (1.1.3) ….. Activity (1.2)….. Phase (2)
Work Breakdown Structure as a Decomposition Diagram
Time Estimation Forward Scheduling – Establishing a project start date and then scheduling forward from that date. Most common for IS projects. Reverse Scheduling – Establishing a project deadline and then scheduling backwards from that date. Used when a deadline is mandatory.
Estimating Time Estimate system size Estimate effort required Estimate schedule time required
Estimating Size Lines of Code Function Points Inputs Outputs Queries Files Program interfaces
Estimating Effort Function of production rates – how much work can be done Several models have evolved from the research – most well known is the Boehm COCOMO model Basic formula: Effort (in person months) – 1.4 * thousands lines of code
Estimate Schedule Time Historical data can be used as a basis Sample estimation equation: Schedule time = 3.0 * person months 1/3
Task – Time: Expected Duration Calculated for each primitive task There is no foolproof technique for estimating work duration.
Expected Duration continued Suggested estimation technique: 1. Estimate minimum amount of time to perform the task or the Optimistic Time (OT) 2. Estimate the maximum amount of time to perform the task of the Pessimistic Time (PT) 3. Estimate the Realistic Time or Calculate the most likely time (MLT) as an average of the OT and PT. 4. Use weight factors (based on experience) for possible interruptions or delays to project the resulting Expected Duration (ED) ED = [OT + (x * MLT) + PT]/ y Common x factor = 4 Common y factor = 6
Examples Optimistic Time = 7 hours Pessimistic Time = 19 hours Most Likely Time = avg(OT and PT) (7 + 19)/2 = 13 hours Expected Duration: ED = [OT + (x * MLT) + PT]/ y [7 + (4*13) + 19]/6 = 8.67
2 Primary Factors of Software Estimation SLOC (Lines of Code) Function Points Based on the amount of functionality Advantage is more information available early in project life cycle
SLOC Determination Difficult due to conceptual differences Goal is to measure the amount of intellectual work needed
User Function Types External Input (Inputs) Count each unique user data or user control input type that (i) enters the external boundary of the software system being measured and (ii) adds or changes data in a logical internal file. External Output (Outputs) Count each unique user data or control output type that leaves the external boundary of the software system.
Function Points Continued Internal Logical File (Files) Count each major logical group of user data or control information as a logical internal file type. External Interface Files (Interfaces) Files passed or shared between software systems should be counted as external interface file types External Inquiry (Queries) Count each unique input-output combination, where an input causes and generates an immediate output, as an external inquiry type.
What is COCOMO COCOMO II is a model that allows one to estimate the cost, effort, and schedule when planning a new software development activity The COCOMO II capability for estimation of Application Generator, System Integration, or Infrastructure development Original COCOMO was developed by Dr. Barry Boehm in 1981 Reference:
COCOMO II Measures In COCOMO II effort is expressed as Person Months (PM). amount of time one person spends working on the software development project for one month (exclusive of holidays and vacations but accounts for weekends) Person months is different from the time it will take the project to complete; this is called the development schedule. For example, a project may be estimated to require 50 PM of effort but have a schedule of11 months.
COCOMO II Supports either SLOC Or Function Points (Note this is true for download and commercial versions, the Web version supports SLOC.)
Attributes Mode of the project: Organic (project is from a familiar, stable, and fairly unrestrained environment) Semidetached (project is not Organic or Embedded) Embedded (project environment is unfamiliar, tightly constrained, and unforgiving)
Scale Drivers in COCOMO II The selection of scale drivers is based on the rationale that they are a significant source of exponential variation on a project’s effort or productivity variation Each scale driver has a range of rating levels, from Very Low to Extra High.
Scale Drivers Precedentedness Development Flexibility Architecture/Risk Resolution Team Cohesion Process Maturity
Cost Drivers Capture characteristics that affect the effort to complete the project ETSU program lists all options as cost drivers
Platform Attributes Execution Time Constraint Main Storage Constraint Platform Volatility
Personnel Attributes Analyst Capability Programmer Capability Personnel Continuity Applications Experience Platform Experience Language and Toolset Experience
Project Attributes Use of Software Tools Multisite Development Required Development Schedule
Try It Visit Go about ¾ of the way down and you can try it out via the Web COSMOS – Function Point and COCOMO Use this for homework 1 question 4
Other Sources Listing of Cost Estimation Software key.hts?keycode=4:152&islowerlevel=1 key.hts?keycode=4:152&islowerlevel=1
Controlling and Directing the Project Refine estimates Match need to resources and monitor that it happens Manage scope Manage risk Maintain quality
Quality Assurance A development process, methodology, and even a well- defined plan, do not ensure quality. Quality must be managed. Quality begins with establishing standards. Some internal standards in systems development include: Standards for project deliverables such as reports and documentation Modeling techniques Naming standards for models, objects, programs, databases, etc. Quality check-points and sign-offs at various stages of the project Technology standards such as approved graphical user interface components and placement Testing procedures and tolerances Acceptance criteria for implementation
Project Tracking Tools Gantt Charts Pert Charts Understand the critical path and slack
Critical Path and Slack Resource Critical Path is a sequence of dependent project tasks that result in shortest time to project completion. It contains no slack time. Any activity delayed will cause delay in project completion. Activities not on the critical path contain slack time. Slack time available for any task is equal to the difference between the earliest and latest completion times. Tasks with slack time can get behind schedule by an amount less than the available slack time without having an impact on the project’s final completion date.
Critical Path and Slack Resource continued Understanding critical path and slack resources are indispensable. Emphasis can be placed on the critical path, and if necessary, resources temporarily diverted from tasks with slack time to more critical ones.
Gantt Chart A simple horizontal bar chart that depicts project tasks against a calendar. Bars represent detailed tasks. The length of the bar represents duration of the task. The bar is positioned according to its planned start and end dates.
Figure 3-10a -A Gantt Chart
Activity Progress Representation on Gantt Chart
Sequence of Activities Predecessor is a task that must be completed before the start of the task in question Constraints include dependence or a task that is dependent on the start of another task (as opposed to its completion). Other constraints might include specific date for task initialization (programmer start date, etc.) Based on predecessors and constraints, determine activities/tasks and identify all required preceding activities. Activities may have 0, 1, or more preceding activities.
Project Evaluation and Review Technique (PERT) Chart PERT charts represent another view of a project schedule that emphasizes intertask relationships.
Annotated PERT Chart Rectangle contains: Task Name Task ID and Estimated Duration Start and End dates Red indicates task is on critical path
Annotated PERT Chart continued
PERT including Time Completion Estimates Note that when Te = Tl, slack time is 0. Tasks with 0 slack time are on the critical path.
Gantt vs PERT PERT and Gantt charting are frequently presented as mutually exclusive tools. However, they can be used in a complementary manner. PERT is recommended for larger projects with high intertask dependency. Gantt is recommended for simpler projects. Gantt charts seem to be preferred in IS projects. Most project management tools now incorporate critical path analysis.
Sample Base line Project Plans Links to sample project plans are found under Lecture Notes.
Quote of the Week Top 10 Signs of IS Project Failure: 10. All software purchased is Version All hardware purchased come from a discount company called Kludges "R" Us. 8. Project manager is spotted reading PCs for Dummies 7. Application developers think Java OLE is something to be ordered at a coffee shop. 6. Network administrators question the usefulness of an ATM system that doesn't accept bankcards. 5. Hardware technicians try to use RAID to cure software bugs. 4. Size of database balloons reaches IWSTBTB (It Wasn't Supposed To Be That Big) proportions. 3. Consultants revamp system architecture, which had been totally revamped only a month ago by a different group of consultants. 2. After system is finally deployed, end users mistake their computer mouses for foot pedals. 1. CIO is seen faxing resume. (as published by Cahners Publishing Company, a division of Reed Elsevier Business Information, Inc.)