Upload
godwin-cooper
View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Computer Engineering 203 R SmithProject Tracking 12/20081
Project Tracking
Why do we want to track a project? What is the projects MOV?
– Why is tracking important to management?
What is the MPV in project tracking for developers?– What can an individual developer gain form project
tracking?
What do we track? If we are not on track what can be done? What is the best method to communicate the data?
Computer Engineering 203 R SmithProject Tracking 12/20082
Why do we want to track a project?
Initially a project plan was developed, which is a road map for the project and instructions.
Tracking is the periodic checking of where we are on that road map.
Why create a road map if we do not intend to follow it or care if we are on track?
Computer Engineering 203 R SmithProject Tracking 12/20083
Why do we want to track a project?
Tracking gives us the opportunity to make corrections if we are off-plan.
Tracking provides a check on the quality of our planning process.
Tracking allows us to see if our basic assumptions were correct.
Computer Engineering 203 R SmithProject Tracking 12/20084
What is the MOV?
What is the measurable value to the organization to project tracking?
Why is it important to management?– Coordination with other departments– Commitments and dependencies– Forecasting revenue– Management goals– Customer expectations
Computer Engineering 203 R SmithProject Tracking 12/20085
What is the MPV?
What personal value is there in project tracking:– Less schedule pressure– More resources– Making management aware of problems while
there is still time to correct problems– Provides a wider audience for exploring possible
solutions
Computer Engineering 203 R SmithProject Tracking 12/20086
What Is the MPV?
Project tracking involves tasks that developers do not like to do or do poorly.
Telling developers that what they are doing is for the good of the organization is not very effective motivation.
Developer motivation needs to come from an understanding of what personal value is derived from providing tracking data.
Computer Engineering 203 R SmithProject Tracking 12/20087
What do we track?
The role of metrics Things we can track:
– Estimated size versus actual size– Predicted work completed versus actual work
completed– Planned dates versus actual dates– Expected resources versus actual resources– New or changed requirements
Computer Engineering 203 R SmithProject Tracking 12/20088
What do we track?
Any project can be off the expected plan for multiple reasons.
Each reason may require a different solution and often the wrong solution will only make the problem worse.
Metrics help provide information on what the specific problem is.
Computer Engineering 203 R SmithProject Tracking 12/20089
Estimated Size
The Software Development plan should contain estimates by size of each of the work products.
Tracking the actual size lets us know if the estimates for future work products will be accurate or not.
Actual size numbers can be accumulated outside the normal development process.
Computer Engineering 203 R SmithProject Tracking 12/200810
Predicted work completed versus actual work completed
When the project is estimated and scheduled a production rate is assumed. Tracking expected work completed per resources expended gives us a check on how valid the assumed production rate is.
Other estimates based on the same production rate should be called into question.
Computer Engineering 203 R SmithProject Tracking 12/200811
Production Rates
Things that can effect production rates:– Work more complex than expected– Developer learning curve– Actual versus expected tool performance– More complex logistics or communications than
expected– Over optimism for a new process
Computer Engineering 203 R SmithProject Tracking 12/200812
Changes to production rates
In general changing tools or process in the middle of a project will not help the production rate.
If the project is long enough it is possible to overcome the learning curve.
Computer Engineering 203 R SmithProject Tracking 12/200813
Planned versus actual dates
Are dependencies being met? Expecting dates to improve without taking
action.
Computer Engineering 203 R SmithProject Tracking 12/200814
Planned versus actual resources
Our size estimates, production rates and dependencies can be right on plan and we still are missing dates, why?
Our estimates are correct yet the developers just are not spending hours expected on the project.
– Failure to hire or high turnover rate– Priority conflicts– Unscheduled vacations, sick time, or company shut downs.
Computer Engineering 203 R SmithProject Tracking 12/200815
New or Changed Requirements
Tracking how and when requirements change can predict further changes in the project.
This can reflect on the requirements gathering process.
Introduction of better control methods. Did we select the correct development model?
– A model that facilitates change
Computer Engineering 203 R SmithProject Tracking 12/200816
Other things to track
If a project has significant costs other than direct labor then those costs should be tracked.
You should be looking at both price and quantity
Computer Engineering 203 R SmithProject Tracking 12/200817
What Data is Required for Project Tracking
Estimates Actual Size Defects Change Requests Actual Resources Expended
Computer Engineering 203 R SmithProject Tracking 12/200818
Time Cards
For most of these measures actual developer time must be accurately tracked.
How many hours spent even if over 40 or less than expected.
All time needs to be accounted for. Questions
– Recording frequency and increments– Quality checks
Computer Engineering 203 R SmithProject Tracking 12/200819
Now that we know where we are what can we do about it?
The four dimensions of control:– Resources– Time– Function– Quality
If nothing changes can we expect any different results?
Computer Engineering 203 R SmithProject Tracking 12/200820
Resources
Adding more resources generally does not help, why?– Training time– Added integration and communications costs– Integration into the team
Adding the right resources does help– Experience or special skills
Computer Engineering 203 R SmithProject Tracking 12/200821
Time
Most projects do not have the option to add more time.
If you can add time make sure you add enough time.– Estimated sizes– Actual resources– Changing requirements
Computer Engineering 203 R SmithProject Tracking 12/200822
Function
Reduce function if possible– Works best when functions are implemented in
priority order
Establish better control over changing requirements.
Computer Engineering 203 R SmithProject Tracking 12/200823
Quality
Quality is always an easy target.– It comes at the end of the development cycle– Less objective measures are used
Is there a bottom line to quality?– Does reduction in quality just postpone work until
after release when it is more expensive.
Computer Engineering 203 R SmithProject Tracking 12/200824
What else can be done?
Many times removing road blocks is the most effective way to get a project back on track.
Common road blocks– Communication issues– Minimum hardware resources– Training– Priorities
Computer Engineering 203 R SmithProject Tracking 12/200825
How can we communicate the data?
Before deciding how to communicate your tracking data you need to decide on your objective.
Are you conveying information and with no expected action needed?
Do you want action if so what and when?– Be prepared to say what you want by when.
Lay the ground work so there are no surprises
Computer Engineering 203 R SmithProject Tracking 12/200826
Metrics
What are project metrics?– Data/facts– Metrics are measured– Metrics are objectives
Examples
Computer Engineering 203 R SmithProject Tracking 12/200827
Metrics
Metrics are important because they give management an objective way to look at progress, quality and performance
Metrics must provide solid data without subjective input such as
– The code is 80% done There are very few institutional-standard software
metrics, metrics need to be team and project based.
Computer Engineering 203 R SmithProject Tracking 12/200828
Metrics
The importance of meaningful data GQM– Goal, Question, Metrics
Goals: what are we trying to determine? Questions: what data pertains to this goal? Metrics: How can we measure it? Is the data useful?
Computer Engineering 203 R SmithProject Tracking 12/200829
Metrics
It is important to remember that our goal is to use the data we get through metrics gathering to make a decision.
If the data does not lead to making a decision either now or later then why are we collecting data.
Most resistance to collecting data comes from a lack of understanding of how the data will be used or the belief that the data will not be used.
Computer Engineering 203 R SmithProject Tracking 12/200830
Other basic Metrics Concepts
Reliability– Is the data repeatable
Validity Criteria for Causality
– Is there a logical reason to expect that the action can actually cause the results.
– Which league wins the Superbowl predicts the stock market
Computer Engineering 203 R SmithProject Tracking 12/200831
Common uses of Metrics
Tracking progress– Use of resources– Schedule– Size
Defects– Density– Arrival rate
By project phase
Process Improvement
Computer Engineering 203 R SmithProject Tracking 12/200832
Tracking Progress
Are the resources we planned for available? Are we using more resources than we
planned? Looking at actual hours not just days or
weeks.
Computer Engineering 203 R SmithProject Tracking 12/200833
Tracking Progress
Are milestones being completed as planned? Are milestones really being completed or do
we expend resources even after the milestone is marked completed?
Are milestones objective and binary?
Computer Engineering 203 R SmithProject Tracking 12/200834
Tracking Progress
How does actual size compare to estimated size?
What is our actual production rate compared to our historical production rate?
Is our measure of size a true reflection of the resources being used?– Criteria of Causality
Computer Engineering 203 R SmithProject Tracking 12/200835
Tracking Progress
Typical problems– Size Estimate incorrect– Production Rate incorrect– Resources expected not available– Dependent milestones not fully met
Each of these problems would appear as a schedule slip, but the corrective action for each is different.
– What would be examples of corrective action?
Computer Engineering 203 R SmithProject Tracking 12/200836
Defect Tracking
What can we do with the defect tracking information?– Defect density points to code that needs to be
reviewed, recoded or designed.– Predict customer experience.– Metrics of early phases can indicate corrective
actions needed in later phases.– Is testing as good as expected?
Computer Engineering 203 R SmithProject Tracking 12/200837
Defect Tracking
Defect Density– By code module, feature or function– Determine where resources should be focused to achieve
the greatest results. Provides insight as where problems are occurring.
Computer Engineering 203 R SmithProject Tracking 12/200838
Defect Tracking
Arrival rate– Are we discovering problems at an unexpected rate?– Results should be normalized over hours of testing
Determine the trend line of the arrival rate– A declining rate indicates product is stabilizing– A raising rate indicates an unstable product
Defect fix rate, are more being found faster than being fixed.
By phase allows us to look at the success of our development process.
Computer Engineering 203 R SmithProject Tracking 12/200839
Defect Tracking
By project phase– When was the problem created and when was it
discovered?– Does the quality plan discover problems early enough– Helps determine if development processes can be improved
Computer Engineering 203 R SmithProject Tracking 12/200840
Process Improvement
Process improvement drives most metrics programs yet the improvement process is rarely the focus of study itself.
It is important to understand if the changes being introduced in the name of process improvement actually do produce changes not just additional work.
Computer Engineering 203 R SmithProject Tracking 12/200841
Process Improvement
Do we have a baseline?– How good are our estimates?– How good is our quality?
How do the changes we make in the process effect our progress and quality?
What is the value of our changes compared to the cost?