Lecture Software process improvement: Lesson 21 provide students with knowledge about: implementing personal software process; managing time; managing commitments; logic of time management; product planning; tracking time in PSP; managing your time;... Please refer to the detailed content of the lecture!
Trang 1Lecture # 21
1
Trang 5• The PSP shows engineers how to manage quality from the beginning of the job, how
to analyze the results of each job, and how
to use the results to improve the process for the next project
5
Trang 6Implementing Personal Software Process
• Managing time
• Managing commitments
Trang 7Implementing Personal Software Process
• Key part of implementing personal software process is managing time accurately
• Let’s talk about time management issues
and learn ways to record and store time
7
Trang 8• You will likely spend your time this week much the way you spent it last week
• To make realistic plans, you have to track the way you spend time
• To check the accuracy of your time
estimates and plans, you must document
them and later compare them with what you actually do
Trang 10• The size and important features of the
product to be produced
• An estimate of the time required to do the work
• A projection of the schedule
• Relationship between product and period
planning
Trang 12Tracking Time in PSP
Trang 14• Keep the engineering notebook/handheld device with you at all times
• When you occasionally forget to record the start time, stop time, or interrupt duration, make an estimate as soon as you remember
• You may use a stopwatch to track
interruptions
• Summarize your time promptly
Trang 15• Decide what changes to make to bring your actions into agreement with the budget
Trang 19Variable Time
• What are your highest priority items?
• Are there some tasks that should be done at specific times?
• Are there activities you want to do as soon
as you have time?
Trang 20• Always define your objectives as clearly as possible
– Written goals, which can be reviewed regularly – Long term goals should impact daily activities – Without a goal or object, people tend to just
drift personally and professionally
Trang 22• Action plan analysis
– Problems will occur
– A good plan identifies them early and seek out solutions
– Good time management enables you to measure the progress towards your goals
– What you can measure, you can control
Trang 23• Let’s now talk about commitments
management
• Keep discussion on commitments short and sweet and move to PSP process levels
23
Trang 27PSP Process Levels
27
Trang 29• The baseline personal process provides an introduction to the PSP and establishes an initial base of historical size, time, and
defect data
• Basic process measurement and planning are introduced here
29
Trang 30• Development time, defects, and program
size are measured and recorded on forms. A simple plan summary form is used to
document planned and actual results
• A form for recording process improvement proposals (PIPs) is also introduced. This
form provides engineers with a convenient way to record process problems and
Trang 31Steps in Baseline PSP
31
Trang 33PSP Process Flow
33
Trang 34PSP Process Flow
Trang 35• Personal project management techniques
are the focus at this level, introducing size and effort estimating, schedule planning,
and schedule tracking methods
• The estimated size of the newly developed code is the sum of all new objects, plus any modifications or additions to existing base code
35
Trang 36• Predicted program size and effort are
estimated using the statistical method linear regression
Trang 37• Finally, a prediction interval is calculated that gives the likely range around the
estimate, based on the variance found in the historical data
• The prediction interval can be used to
assess the quality of the estimate
37
Trang 3939
Trang 40• Quality management methods are added to the PSP at this level
• These include: personal design and code
reviews, a design notation, design
templates, design verification techniques, and measures for managing process and
product quality
Trang 41• The goal of quality management in the PSP
is to find and remove all defects before the first compile. The measure associated with this goal is yield
• Yield is defined as the percent of defects
injected before compile that were removed before compile. A yield of 100% occurs
when all the defects injected before compile are removed before compile 41
Trang 43• Engineers also begin using the historical
data to plan for quality and control quality during development
• Their goal is to remove all the defects they inject before the first compile
43
Trang 44• During planning, they estimate the number of defects that they will inject and remove in
each phase. Then they use the historical
correlation between review rates and yield to plan effective and efficient reviews
• During development, they control quality by monitoring the actual defects injected and
removed versus planned, and by comparing
Trang 45• With sufficient data and practice, engineers are capable of eliminating 60% to 70% of the defects they inject before their first
compile
45
Trang 46overhead costs. Above this range, productivity
Trang 4747
Trang 48• At this level, this scalability limit is addressed
by introducing a cyclic development strategy where large programs are decomposed into
parts for development and then integrated
• This strategy ensures that engineers are
working at their maximum productivity and
product quality levels, with only incremental, not exponential, increases in overhead for
Trang 49• At this level highlevel design, highlevel
design review, cycle planning, and
development cycles are introduced based on the personal quality management processes
49
Trang 50PSP Measures
Trang 52• Minutes are the unit of measure for
development time
• Engineers track the number of minutes they spend in each PSP phase, less time for any interruptions such as phone calls, coffee
breaks, etc
Trang 53• Using minutes is precise and simplifies
calculations involving development time
• Recording interruptions to work reduces the number of time log entries, provides a more accurate measure of the actual time spent, and a more accurate basis for estimating
actual development time
53
Trang 54• Tracking interruption time separately can help engineers deal objectively with issues that affect time management, such as a
noisy work environment or inappropriate
mix of responsibilities (e.g., software
development and help desk support)
Trang 55• Time log entries take substantially less than
a minute to record, but provide a wealth of detailed historical data for planning,
tracking, and process improvement
55
Trang 56• A defect is defined as any change that must
be made to the design or code in order to
get the program to compile or test correctly. Defects are recorded on the Defect
Recording Log as they are found and fixed
Trang 57• The example Defect Recording Log shows the information that is recorded for each
defect: the date, sequence number, defect
type, phase in which the defect was
injected, phase in which it was removed, fix time,3 and a description of the problem and fix
57
Trang 58• When an engineer injects a new defect
while trying to fix an existing defect, proper accounting of fix time becomes more
complicated
• A common mistake is to include the fix
time for the new defect twice
Trang 62defects, and size
Trang 63• When you trust your life to someone, you want them to behave professionally. Now consider
your professional life. Should you entrust it to someone who is out of date? If you are looking for career guidance, would you ask someone who has not cracked a technical book since college? Probably not. The skill, knowledge, and ability you bring to your job will determine your future. Your future is in your hands
– Watts Humphrey
Trang 6565