Title: CIS 302 Introduction to Systems Analysis and Design
1CIS 302Introduction to Systems Analysis and
Design
- Managing the Information Systems Project
2.3
2Learning Objectives
- Discuss skills required to be an effective
project manager - Describe skills and activities of a project
manager during project initiation, planning,
execution and closedown - Explain Gantt and Pert charts
- Review commercial project management software
packages
2.4
3Managing the Information Systems Project
- Focus of project management
- To ensure that information system projects meet
customer expectations - Delivered in a timely manner
- Meet constraints and requirements
2.5
4Managing the Information Systems Project
- Project Manager
- Systems Analyst responsible for
- Project initiation
- Planning
- Execution
- Closing down
- Requires diverse set of skills
- Management
- Leadership
- Technical
- Conflict management
- Customer relations
2.6
5Project Management Process
- Project
- Planned undertaking of related activities to
reach an objective that has a beginning and an
end - Four Phases
- Initiation
- Planning
- Execution
- Closing down
2.7
6Initiating the Project
- Establish project initiation team
- Establish relationship with customer
- Establish project initiation plan
- Establish management procedures
- Establish project management environment and
workbook
2.8
7Planning the Project
- Describe project scope, alternatives and
feasibility - Scope and Feasibility
- Understand the project
- What problem is addressed
- What results are to be achieved
- Measures of success
- Completion criteria
2.9
8Planning the Project
- Divide the project into manageable tasks
- Work breakdown structure
- Gantt chart
- Estimate resources and create a resource plan.
- Develop a preliminary schedule
- Utilize Gantt and PERT charts
2.10
9Planning the Project
- Develop a communication plan
- Outline communication processes among customers,
team members and management - Types of reports
- Frequency of reports
- Determine project standards and procedures
- Specify how deliverables are tested and produced
2.11
10Planning the Project
- Identify and assess risk
- Identify sources of risk
- Estimate consequences of risk
- Create a preliminary budget
- Develop a statement of work
- Describe what the project will deliver
- Set a baseline project plan
- Estimate of projects tasks and resources
2.12
11Executing the Project
- Execute baseline project plan
- Acquire and assign resources
- Train new team members
- Keep project on schedule
- Monitor project progress
- Adjust resources, budget and/or activities
2.13
12Executing the Project
- Manage changes to baseline project plan
- Slipped completion dates
- Changes in personnel
- New activities
- Maintain project workbook
- Communicate project status
2.14
13Closing Down the Project
- Termination
- Types of termination
- Natural
- Requirements have been met
- Unnatural
- Project stopped
- Documentation
- Personnel Appraisal
2.15
14Closing Down the Project
- Conduct post-project reviews
- Determine strengths and weaknesses of
- Project deliverables
- Project management process
- Development process
- Close customer contract
2.16
15Representing and Scheduling Project Plans
- Gantt Charts
- Useful for depicting simple projects or parts of
large projects - Show start and completion dates for individual
tasks - PERT Charts
- Show order of activities
2.17
16Comparison of Gantt and PERT Charts
- Gantt
- Visually shows duration of tasks
- Visually shows time overlap between tasks
- Visually shows slack time
- PERT
- Visually shows dependencies between tasks
- Visually shows which tasks can be done in
parallel - Shows slack time by data in rectangles
2.19
17Gantt and PERT Charts -- How to Proceed
- Steps
- Identify each activity
- Requirements Collection
- Screen Design
- Report Design
- Database Design
- User documentation
- Software programming
- Installation and testing
2.20
18Gantt and PERT Charts -- Continued
- Determine time estimates and expected completion
times for each activity. - Determine sequence of activities
- Determine critical path
- Sequence of events that will affect the final
project delivery date
2.21
19Commercial Project Management Software
- Many systems are available
- Three activities required to use
- Establish project start or end date
- Enter tasks and assign task relationships
- Select scheduling method to review project
reports
2.22
20Summary
- Skills of an effective project manager
- Activities of project manager
- Initiation
- Planning
- Execution
- Closedown
- Gantt and PERT Charts
- Commercial PM Software
2.23
21Project ManagementAn Overview
22Agenda
- Focus
- What is a Project?
- What is Project Management?
- Project Management Skills
- Why is Project Management Needed?
- Checklist for a Doomed Project
- Leading Contributors to Project Success
- The Cost of Failure An Example
23Objectives
- Define a project.
- Describe the phases of a project.
- Define project management.
- List project management skills.
- Recognize the need for good project management.
- Identify various reasons for project success and
failure.
24Course Focus
- We will focus on
- IT project management,
- Skills needed to succeed and,
- The use of those skills for you career
enhancement skills - As a program Manager, technical or business
skills alone will not carry the day. You must
have a combination of knowledge to be successful
in this endeavor. This course will continue to
expand and enhance your existing skills in those
areas.
25Why Businesses Exist.
- First and foremost, businesses exist to maximize
the value of their owners equity. - Non-profits may have a definition of value that
is not based on monetary worth, but they do what
they do to increase that value. - Successful businesses never loose this focus nor
deviate from it in the development and execution
of their business plans. - Methodologies may vary but the goal is constant.
- DO NOT FORGET THIS!
26Vision and Strategies
- Executives are tasked to develop Vision
- The Project manager is the tool to implement that
Vision. - What is the goal?
- Is it a strategic business goal or tactical
objective? - Strategic considerations for the creation of
Vision are many. - The project manager must be given clear
directions as to what that Vision is and a clear
understanding of what the end result is. - The Project(s) must be defined.
27So what makes a Project?
- Specific objectives defines concisely what you
are trying to do and what you will deliver.in
detail. This will be to solve some problem. - Schedule define specifically the duration of
the effort - Budget Identify what will be your budget and
all variables and what you can and cannot
control. - Resources Identify who will do the work and
commitments that those resources will be
available.
28So what makes a Project?
- One-time series of efforts rather than ongoing.
- To build a web site is usually considered a
project that consists of multiple tasks. - Sample Tasks requiring business leadership
- Mission statement, Marketing plan, User thread
definition, Finance, Business case analysis,
others. - Sample Tasks requiring technical leadership
- Content creation, page design, software
selection, hardware selection, labor estimating,
others.
29Characteristics of a Project
- Sequence or phases of activities
- Unique (Non-repetitive)
- Simple and/or Complex
- Inter-related activities
- Specific Goal
- Specific Time-frame
- Specified Budget
- Defined Specifications
30Project Stages
31Who are the Project Players?
- The Sponsor The individual who has requested
that the project be undertaken. They usually get
or provide the funding and face the executives. - (Remember the golden rule he who has the gold,
rules) - The Stakeholders Those who are affected by the
project and its implementation, - The Project Manager The individual responsible
for the management of the project. - Project Team The grunts. Individuals tasked to
perform the work identified in the project plan.
32Why is Project Management Needed?
- To avoid
- High Failure rates and High Costs to the
Enterprise. - 30 of IT projects never reach fruitful
conclusion - Waste75 billion annually
- 51 exceed budget by 189 and deliver only 74
functionality - The Project Manager is tasked to avoid these
problems. - On time, on budget, to specification
33Leading Contributors to Project Success
- Effective Project Management
- Formal guidelines
- Accountable sponsors
- Project management skills
- Measurement systems
- Formal priorities
- Regular communication
- Clear tracking
- Automated tools
34 Why Projects Fail
- Lack of Scope Control
- Poor requirements Definition
- Schedule/Cost overruns
35Leading Contributors to Project Failure
- Undisciplined project management
- Poor requirements gathering in the initial stages
of a project. - Poor communications between the IT and business
side leading to different expectations. - Uncontrolled changes in project scope. scope
creep.
36The Project Manager
- As a project manager, your execution of corporate
strategy is accomplished by the efficient
execution of individual projects. - There are tactical and political issues with each
project. You will need to face them and overcome
those challenges. - The primary skill that you will use is
communications to those above you and those below
you. - Communication requires that you listen as well as
speak.
37The Project Manager
- The key difference between a Program Manager and
a Project Manager is usually a matter of scope
and duration, depending on the corporation. - A Program Manager usually has duties that are
more comprehensive than managing, building and
delivering a single or integrated solution. - Program Management often entails managing and
transitioning a series of projects from inception
to operational support and management. This
could cover all aspects of a product line or
service, from marketing to ILS and everything in
between.
38The Project Manager
- A Project Manager is usually tasked with a more
limited scope of work with a more finite
duration. - That duration is scheduled and not necessarily
subject to market forces as is the case with a
complete product line or program. - The following slides discuss Project Management
though references will be made to Program
Management in this context.
39Project Management Functions
- Staffing Planning - A primary function of the
Project Manager is to perform - staffing analysis, staffing acquisition (via HR
or subcontracts) and/or requirements analysis
and - plan the performance and execution of the
project. - Organizing Scheduling Once the staffing and
planning functions are identified, it is the
project managers responsibility to organize those
individuals into teams and schedule their work.
This includes coordinating their work assignments
with other Project and managers.
40Project Management Functions
- Directing Controlling day to day operational
direction is usually needed and required. - As the project evolves, these skills become
increasingly important. - Tools and techniques- The organization,
scheduling and controlling, as well as
performance capturing and knowledge management
functions are the responsibility of the Project
Manager. - Providing feed back to executive management is
key to the overall strategic implementation
process.
41Planning Leadership Model
VISION
STRATEGIES
TASKS
Listen gt Learn gt Help gt Lead
42Staffing and Planning
- Develop a Plan
- Base the plan on System Development/Life Cycle
(SDLC) and other process Activities - Solicit Resources to Deliver System
- Planning Considerations
- What is required?
- What resources are needed?
- What is the duration?
- What are the dependencies?
43Organizing and Scheduling
- Identify the Roles and Responsibilities.
- Communicate with the Project Team - must
understand tasks dependencies. - Identify the Deliverables.
- Prepare a Schedule to Match the Deadlines.
- Add resources
- Move deadlines
- Adjust scope
44Directing and Controlling
- PM acts as a Director or Leader
- Makes Key Decisions
- Motivates, Rewards - Traits of a Leader
- Advises, Coordinates, Delegates Appraises
- Controls the Project...from Orientation to
termination
45Directing and Controlling
- Manage the Project
- Status reports and reviews - project walk-through
- Assess skills needed
- Lead the Project Team
- Involve team in planning
- Track project using formal and informal methods
- Set performance objectives and develop staff
46The Project Manager Skills
- A Project Manager is usually associated with
having the following skills - Detail Oriented.
- Methodical.
- Able to multi-task
- Able to understand technical, business and
financial issues. - Cognizant of political realities of the project.
47Project Management for Information Systems
- So, what is a project?
- A project has specific objectives, start and end
dates, and a budget requires resources and has
a definite life cycle. - Who is a project manager?
- Someone who manages the project, ideally, from
conception to completion. - Common project management software tool include.
- Microsoft Project http//www.microsoft.com/office
/project/default.htm - Primavera http//www.primavera.com/
- Others
48Project Management Certification Testing
- As a word of caution. For those who plan to
eventually get certified as a project manager,
there are some differences in what the answer the
certifiers want on a test and the realities of
the working world. - PMI and Gartner think that companies always have
the project manager engaged during the first
phases of a project (Requirements gathering). - Dont bet on it. Requirements gathered and
requirement realities my be two different things
entirely. Dont be complacent.
49Project Management for Information Systems
- An IT project is different from non-IT project
management because of the following - the work is harder to specify,
- Requirements are more difficult to gather and,
- designers are often the implementers.
- The two key factors that can make a project
successful are - Regular communication with all participants and
sponsors and, - Tracking resources and their tasks
50Most Projects Fail
- 30 of IT projects never reach fruitful
conclusion. - 75 billion is wasted annually.
- 51 of projects exceed budget by 189 and deliver
only74 functionality. - Reasons for this include
- Undisciplined project management.
- Poor communication between IT and business side.
- Other reasons?
51Dont Forget
- E-business isnt just technology!
- Simply having a working site doesnt mean the
project was a success. - Need to consider
- Market reaction.
- Response to customer needs.
- On-time delivery, within budget and quality
objectives. - Other ideas?
52Summary
- Program management
- Components of a project
- The interrelation of tasks
53Break
54Project Management
55Week 4 - Learning ObjectivesScope Management
- You should be able to
- Discuss the relationship between scope and
project failure - Explain how projects are initiated and selected
- Define activities, inputs, and outputs of scope
initiation, planning, definition, verification - Prepare a project charter
- Prepare a WBS
56Scope Management
- Processes needed to ensure that
- project includes all required work
- project includes only required work
- Product scope
- features and functions of product deliverables
- measured against product requirements
- Project scope
- work that must be done to deliver them
- measured against project plan
57Scope Management Processes
- Project Initiation
- commitment to next phase
- Scope Planning
- written scope statement
- Scope Definition WBS
- Scope Verification formal acceptance
- Scope Change Control
58Scope Initiation
- New project, or, commitment to next phase of
existing project - Inputs
- product description/business need
- strategic plan/goals
- project selection criteria methods
- expert judgment, historical information
59Strategic Planning, Leading toProject Selection
- Business strategy and goals
- IT systems help companies compete
- Identify and prioritize opportunities
Selected Projects
PotentialProjects
Business Needs
Business Goals
60Methods for Project Selection
- Organizational Need Perspective
- Perceived need?
- Likelihood of funding?
- Willingness to support?
- Source, time, impact, priority
- problem
- opportunity
- directive
- Financial Perspective
61Financial Perspective
- Cost/benefit analysis
- NPV - net present value
- ROI - return on investment
- Payback analysis
- Limitations difficulty of estimating
- Weighted scoring model
- incorporates multiple criteria
62Weighted Scoring Model
- Determine criteria
- Weight criteria by importance
- Score each project on each criterion
- Multiply scores by weights
- Get overall score for each project
- Select project with highest score
- What-if analysis may be helpful
63Scope Initiation Outputs
- Project Charter
- Conceptual baseline
- Project Manager selected
- Constraints
- factors that will limit the teams options
- e.g., fixed budget
- e.g., contractual provisions
- Assumptions
64Project Charter
- Charter Components
- title, date
- project manager
- scope statement
- summary of approach
- roles and responsibilities matrix
- sign-off
- comments (assumptions, constraints)
- Formalizes existence of project
- Provides direction on objectives
- Signoff by key project stakeholders
65Scope Planning
- Inputs to planning outputs of initiation
- description and charter
- constraints and assumptions
- product description and analysis
- cost/benefit analysis
66Scope Planning Outputs
- Written Scope Statement
- justification business need
- product description
- project deliverables
- quantifiable criteria for success
- Common understanding of project
67Scope Definition
- Decomposition of project into more manageable
components - sufficiently detailed for tasks, estimation
- Helps improve estimation accuracy
- Defines a baseline for measurement and control
- Clarifies responsibilities
68Work Breakdown Structure
- Analysis of work needed to complete project
- Hierarchical breakdown of tasks
- Provides basis for planning and change control
- Can be organized around products or phases
- Work package is lowest, detailed level
- Requires involvement of project team and
customers - Helps identify needed coordination
69Approaches to Preparing a WBS
- Use formal templates if available
- Use previous similar projects WBS
- Top-down
- iteratively add levels of detail
- Bottom-up
- team members identify detailed tasks
- tasks are aggregated and summarized
- creates buy-in by project team
- Combination
70WBS Principles
- A unit of work appears only once
- Each unit of work responsibility is assigned to
one person - Clear scope of each unit of work
- WBS reflects how work will be done
- serves project team first
- Must be flexible to accommodate changes
71Scope Verification
- Formal acceptance by stakeholders
- Inputs
- Work results from execution of project plan
- Product documentation
- Inspection
- Outputs
- documented level of completion
- documented acceptance
72Scope Control and Project Failure
- Project failure often due to scope getting out of
control - Did not understand requirements
- Or, allowed requirements to grow
- On average, project scope increases 4-fold
- Requirements (scope) creep
- users see potential for automation, ask for more
- users want new system for current jobs
73Reducing IT Project Scope Creep
- User involvement
- project selection ensure sponsor
- easy access to project information
- users as member(s) of project team
- regular meetings with users
- co-location with users
- focus on completion dates
- prototyping, use cases, JAD, CASE
74Project Considerations
- Is infrastructure setup part of your project?
- Assumptions
- What are you counting on?
- These can be critical to identify
- Resources expected equip/people, approvals
- Availability of partners, connections
- Delineate key limits
- System load expect an maximum of 100 users
75Estimation
- Predictions are hard, especially about the
future, Yogi Berra - 2 Types Lucky or Lousy?
76Planning, Estimating, Scheduling
- Whats the difference?
- Plan Identify activities. No specific start and
end dates. - Estimating Determining the size duration of
activities. - Schedule Adds specific start and end dates,
relationships, and resources.
77Project Planning A 12 Step Program
- Set goal and scope
- Select lifecycle
- Set org./team form
- Start team selection
- Determine risks
- Create WBS
- Identify tasks
- Estimate size
- Estimate effort
- Identify task dependencies
- Assign resources
- Schedule work
78How To Schedule
- 1. Identify what needs to be done
- Work Breakdown Structure (WBS)
- 2. Identify how much (the size)
- Size estimation techniques
- 3. Identify the dependency between tasks
- Dependency graph, network diagram
- 4. Estimate total duration of the work to be done
- The actual schedule
79WBS Estimation
- How did you feel when I asked
- How long will your project take?
- Not an easy answer to give right?
- At least not if I were are real customer on a
real project - How can you manage that issue?
80Partitioning Your Project
- You need to decompose your project into
manageable chunks - ALL projects need this step
- Divide Conquer
- Two main causes of project failure
- Forgetting something critical
- Ballpark estimates become targets
- How does partitioning help this?
81Work Breakdown Structure WBS
- Hierarchical list of projects work activities
- 2 Formats
- Outline (indented format)
- Graphical Tree (Organizational Chart)
- Uses a decimal numbering system
- Ex 3.1.5
- 0 is typically top level
- Includes
- Development, Mgmt., and project support tasks
- Shows is contained in relationships
- Does not show dependencies or durations
82WBS
- Contract WBS (CWBS)
- First 2 or 3 levels
- High-level tracking
- Project WBS (PWBS)
- Defined by PM and team members
- Tasks tied to deliverables
- Lowest level tracking
83A Full WBS Structure
- Up to six levels (3-6 usually) such as
- Upper 3 can be used by customer for reporting (if
part of RFP/RFQ) - Different level can be applied to different uses
- Ex Level 1 authorizations 2 budgets 3
schedules
84WBS Chart Example
85WBS Outline Example
0.0 Retail Web Site 1.0 Project Management 2.0
Requirements Gathering 3.0 Analysis Design 4.0
Site Software Development 4.1 HTML Design and
Creation 4.2 Backend Software 4.2.1 Database
Implementation 4.2.2 Middleware
Development 4.2.3 Security Subsystems 4.2.4
Catalog Engine 4.2.5 Transaction
Processing 4.3 Graphics and Interface 4.4
Content Creation 5.0 Testing and Production
86WBS Types
- Process WBS
- a.k.a Activity-oriented
- Ex Requirements, Analysis, Design, Testing
- Typically used by PM
- Product WBS
- a.k.a. Entity-oriented
- Ex Financial engine, Interface system, DB
- Typically used by engineering manager
- Hybrid WBS both above
- This is not unusual
- Ex Lifecycle phases at high level with component
or feature-specifics within phases - Rationale processes produce products
87Process WBS
88WBS Types
- Less frequently used alternatives
- Organizational WBS
- Research, Product Design, Engineering, Operations
- Can be useful for highly cross-functional
projects - Geographical WBS
- Can be useful with distributed teams
- NYC team, San Jose team, Off-shore team
89Work Packages
- Generic term for discrete tasks with definable
end results - Typically the leaves on the tree
- The one-to-two rule
- Often at 1 or 2 persons for 1 or 2 weeks
- Basis for monitoring and reporting progress
- Can be tied to budget items (charge numbers)
- Resources (personnel) assigned
- Ideally shorter rather than longer
- Longer makes in-progress estimates needed
- These are more subjective than done
- 2-3 weeks maximum for software projects
- 1 day minimum (occasionally a half day)
- Not so small as to micro-manage
90WBS
- List of Activities, not Things
- List of items can come from many sources
- SOW, Proposal, brainstorming, stakeholders, team
- Describe activities using bullet language
- Meaningful but terse labels
- All WBS paths do not have to go to the same level
- Do not plan more detail than you can manage
91WBS Methodology
- PM must map activities to chosen lifecycle
- Each lifecycle has different sets of activities
- Integral process activities occur for all
- Planning, configuration, testing
- Operations and maintenance phases are not
normally in plan (considered post-project) - Some models are straightened for WBS
- Spiral and other iterative models
- Linear sequence several times
- Deliverables of tasks vary by methodology
92WBS Techniques
- Top-Down
- Bottom-Up
- Analogy
- Rolling Wave
- 1st pass go 1-3 levels deep
- Gather more requirements or data
- Add more detail later
- Post-its on a wall
93WBS Techniques
- Top-down
- Start at highest level
- Systematically develop increasing level of detail
- Best if
- The problem is well understood
- Technology and methodology are not new
- This is similar to an earlier project or problem
- But is also applied in majority of situations
94WBS Techniques
- Bottom-up
- Start at lowest level tasks
- Aggregate into summaries and higher levels
- Cons
- Time consuming
- Needs more requirements complete
- Pros
- Detailed
95WBS Techniques
- Analogy
- Base WBS upon that of a similar project
- Use a template
- Analogy also can be estimation basis
- Pros
- Based on past actual experience
- Cons
- Needs comparable project
96WBS Techniques
- Brainstorming
- Generate all activities you can think of that
need to be done - Group them into categories
- Both Top-down and Brainstorming can be used on
the same WBS - Remember to get the people who will be doing the
work involved (buy-in matters!)
97WBS Basis of Many Things
- Network scheduling
- Costing
- Risk analysis
- Organizational structure
- Control
- Measurement
98WBS Guidelines Part 1
- Should be easy to understand
- Some companies have corporate standards for these
schemes - Some top-level items, like Project Mgmt. are in
WBS for each project - Others vary by project
- What often hurts most is whats missing
- Break down until you can generate accurate time
cost estimates - Ensure each element corresponds to a deliverable
99WBS Guidelines Part 2
- How detailed should it be?
- Not as detailed as the final MS-Project plan
- Each level should have no more than 7 items
- It can evolve over time
- What tool should you use?
- Excel, Word, Project
- Org chart diagramming tool (Visio, etc)
- Specialized commercial apps
- Re-use a template if you have one
100Estimations
- Very difficult to do, but needed often
- Created, used or refined during
- Strategic planning
- Feasibility study and/or SOW
- Proposals
- Vendor and sub-contractor evaluation
- Project planning (iteratively)
- Basic process
- Estimate the size of the product
- Estimate the effort (man-months)
- Estimate the schedule
- NOTE Not all of these steps are always
explicitly performed
101Estimations
- Remember, an exact estimate is an oxymoron
- Estimate how long will it take you to get home
from class tonight - On what basis did you do that?
- Experience right?
- Likely as an average probability
- For most software projects there is no such
average - Most software estimations are off by 25-100
102Estimation
- Target vs. Committed Dates
- Target Proposed by business or marketing
- Do not commit to this too soon!
- Committed Team agrees to this
- After youve developed a schedule
103Estimation Methodologies
- Top-down
- Bottom-up
- Analogy
- Expert Judgment
- Priced to Win
- Parametric or Algorithmic Method
- Using formulas and equations
104Top-down Estimation
- Based on overall characteristics of project
- Some of the others can be types of top-down
(Analogy, Expert Judgment, and Algorithmic
methods) - Advantages
- Easy to calculate
- Effective early on (like initial cost estimates)
- Disadvantages
- Some models are questionable or may not fit
- Less accurate because it doesnt look at details
105Bottom-up Estimation
- Create WBS
- Add from the bottom-up
- Advantages
- Works well if activities well understood
- Disadvantages
- Specific activities not always known
- More time consuming
106Expert Judgment
- Use somebody who has recent experience on a
similar project - You get a guesstimate
- Accuracy depends on their real expertise
- Comparable application(s) must be accurately
chosen - Systematic
- Can use a weighted-average of opinions
107Estimation by Analogy
- Use past project
- Must be sufficiently similar (technology, type,
organization) - Find comparable attributes (ex of
inputs/outputs) - Can create a function
- Advantages
- Based on actual historical data
- Disadvantages
- Difficulty matching project types
- Prior data may have been mis-measured
- How to measure differences no two exactly same
108Priced to Win
- Just follow other estimates
- Save on doing full estimate
- Needs information on other estimates (or prices)
- Purchaser must closely watch trade-offs
- Priced to lose?
109Algorithmic Measures
- Lines of Code (LOC)
- Function points
- Feature points or object points
- Other possible
- Number of bubbles on a DFD
- Number of of ERD entities
- Number of processes on a structure chart
- LOC and function points most common
- (of the algorithmic approaches)
- Majority of projects use none of the above
110Code-based Estimates
- LOC Advantages
- Commonly understood metric
- Permits specific comparison
- Actuals easily measured
- LOC Disadvantages
- Difficult to estimate early in cycle
- Counts vary by language
- Many costs not considered (ex requirements)
- Programmers may be rewarded based on this
- Can use defects/ LOC
- Code generators produce excess code
111LOC Estimate Issues
- How do you know how many in advance?
- What about different languages?
- What about programmer style?
- Stat avg. programmer productivity 3,000 LOC/yr
- Most algorithmic approaches are more effective
after requirements (or have to be after)
112Code Reuse Estimation
- Does not come for free
- Code types New, Modified, Reused
- If code is more than 50 modified, its new
- Reuse factors have wide range
- Reused code takes 30 effort of new
- Modified is 60 of new
- Integration effort with reused code almost as
expensive as with new code
113Effort Estimation
- Now that you know the size, determine the
effort needed to build it - Various models empirical, mathematical,
subjective - Expressed in units of duration
- Man-months (or staff-months now)
114COCOMO
- COnstructive COst MOdel
- Allows for the type of application, size, and
Cost Drivers - Outputs in Person Months
- Cost drivers using High/Med/Low include
- Motivation
- Ability of team
- Application experience
- Biggest weakness?
- Requires input of a product size estimate in LOC
115Estimation Issues
- Quality estimations needed early but information
is limited - Precise estimation data available at end but not
needed - Or is it? What about the next project?
- Best estimates are based on past experience
- Politics of estimation
- You may anticipate a cut by upper management
- For many software projects there is little or
none - Technologies change
- Historical data unavailable
- Wide variance in project experiences/types
- Subjective nature of software estimation
116Know Your Deadlines
- Are they Real Deadlines?
- Tied to an external event
- Have to be met for project to be a success
- Ex end of financial year, contractual deadline,
Y2K - Or Artificial Deadlines?
- Set by arbitrary authority
- May have some flexibility (if pushed)
117Other Estimation Notes
- Remember manage expectations
- Parkinsons Law
- Work expands to fill the time available
- The Student Syndrome
- Procrastination until the last minute (cram)