project tracking. questions... why should we track a project that is underway? what aspects of a...
TRANSCRIPT
Project TrackingProject Tracking
Questions...Questions...
Why should we track a project that is underway?
What aspects of a project need tracking?
Reasons for Late ProjectsReasons for Late Projects
1. overly optimistic scheduling bad estimations during proposal or planning
2. tardy identification of schedule and budget problems
noticing too late that we are late
3. tardy reactions to important events bad risk management
Software Quality Assuranceby Galin page 401
Solution to previously listed problems
1. better estimation
2. better project tracking
3. better project tracking
Objectives of Project Tracking
Short Term: early detection of irregular events
Long Term: creation of preventive actions improvement of estimation accuracy
modified from Galin page 402
What do we need to track? Project Schedule
are we hitting the milestones on time what about the "critical path" milestones
Risks what might happen how likely is the problem what can/should we do
Resources Humans Budget
Galin section 20.1
How do we track projects?
Use tools!!! a tool can track the critical path a tool can track the budget a tool can alert you to potential resource conflicts
Status Reports both formal and informal
Key Aspects of Continuous Risk Management Identify – Continually asking, “what could go wrong?” Analyze – Continually asking, “which risks are most
critical to mitigate?” Plan – Developing mitigation approaches for the most
critical risks Track – Tracking the mitigation plan and the risk Control – Making decisions based on data Communicate – Ensuring a free-flow of information
throughout the project
Carnegie Mellon SEI
Example 1 You notice that design, implementation,
and testing of the database component is running about a week behind.
Instead of one week for each of the three tasks, the database tasks will take a total of four weeks.
However, the database can be a week late because it is not on critical path.
Any potential problems?
Example 2 Task:
Testing the Database
Estimated Duration: 3 days
Required Resources: the database requirements specs the implementation (source code) real data from customer test person that has a DB Test certificate
Any Special Scheduling / Tracking Issues?
Example 3 Initial Unit Testing reports indicate a bug
rate of 4.5 / KSLOC. Should you be concerned? Further checking finds
Average initial bug rate is 3.1 per KSLOC StdDev of 0.5 weighted rate is also higher than average
What actions should be taken?
Example 4 Well into development, you get an email
indicating changes in the interface requirements are necessary based on a demo of the prototype done for the customer. The changes will require a good amount of recoding.
Any SQA tasks necessary?
And of course, Follow Up
Audit the Tracking Procedures are we really seeing what is going on? are the progress reports reporting the important info? are we tracking what needs to be tracked? are we talking to the right people?
CMM on Project Tracking"The purpose of Software Project Tracking and Oversight is to provide adequate visibility into actual progress so that management can take effective actions when the software project's performance deviates significantly from the software plans."
Goals1. Actual results and performances are tracked against the software
plans.
2. Corrective actions are taken and managed to closure when actual results and performance deviate significantly from the software plans.
3. Changes to software commitments are agreed to by the affected groups and individuals.
adapted from http://www2.umassd.edu/swpi/sei/tr25f/tr25_l2c.html
CMM on Project Tracking
Ability to Perform1. A software development plan for the software project is
documented and approved.
2. The project software manager explicitly assigns responsibility for software work products and activities.
3. Adequate funding and resources are provided for tracking the software project.
4. The software managers are trained in managing the technical and personnel aspects of the software project.
5. First-line software managers receive orientation in the technical aspects of the software project.
CMM on Project Tracking Activities performed1. A documented software development plan is used for tracking the software activities and communicating
status.
2. The project's software development plan is revised according to a documented procedure.
3. Software project commitments and changes to commitments made to individuals and groups external to the organization are reviewed with senior management according to a documented procedure.
4. Approved changes to commitments that affect the software project are communicated to the members of the software engineering group and other software-related groups.
5. The size of the software work products (or size of the changes to the software work products) are tracked, and corrective actions are taken as necessary.
6. The project's software effort and costs are tracked, and corrective actions are taken as necessary.
7. The project's critical computer resources are tracked, and corrective actions are taken as necessary.
8. The project's software schedule is tracked, and corrective actions are taken as necessary.
9. Software engineering technical activities are tracked, and corrective actions are taken as necessary.
10. The software risks associated with cost, resource, schedule, and technical aspects of the project are tracked.
11. Actual measurement data and replanning data for the software project are recorded.
12. The software engineering group conducts periodic internal reviews to track technical progress, plans, performance, and issues against the software development plan.
13. Formal reviews to address the accomplishments and results of the software project are conducted at selected project milestones according to a documented procedure.
Maintenance
Types of Maintenance
Corrective bug fixes, security fixes, etc
Adaptive new hardware, new OS, …
Perfective adding new functions
Preventative Y2K
Where the money goes
Software Quality Assuranceby Galin, page 256
40%
12%15%
33% Rest of Project
CorrectiveCorrective
AdaptiveAdaptive
FunctionalFunctional
The big questions…The big questions…
Why does so much money go into maintenance?
How do we reduce the maintenance costs?
Does software wear out?
errorsper KSLOC
Time
Expected Actual - due to Maintenance Effective
Essential SQA Maintenance TasksEssential SQA Maintenance Tasks Maintain Accurate Design Document
Quality Source Code is Cheaper to Maintain set and maintain coding standards
conduct peer code reviews set testing guidelines via a Maintenance Test Plan
Track Maintenance Metrics mean time to correct errors mean time to add new function …
Determine Root Cause of ErrorsDetermine Root Cause of Errors
Up Next in the CourseUp Next in the Course
YouYou