Name the steps necessary to develop a process.

Determine your needs and priorities.
Define the process objectives, goals and quality criteria.
Characterize your current process.
Characterize your target process.
Establish a strategy.
Define and validate your initial process.
Enhance your process.

Name the basic process measures.

Time spent in each phase.
Defects injected in each phase.
Defects removed in each phase.

Name the benefits of an structured design process.

Captures lessons learned.
Records and manages issues.
Tracks design status.
Reduces rework.

What is the essential design information?

Where the program fits into the system.
How the program will be used.
Specification for all classes and parts.
Structural view of the product.
Specification of all external calls and references.
List of all external variables, parameters and constants.
Clear statement of the program´s logic.

Describe the characteristics of a good design notation.

Commonly understood.
Communicates the designer´s intent.
Helps to identify design problems & omissions.
Precisely defines all significant design aspects.
Suitable to represent a broad range of designs.

Why is design verification necessary?

Design defects are difficult to detect and cause significant rework.
Common design defects are caused by overlooked conditions.
Unlikely situations are more common in complex systems.
Impossible conditions may present themselves when a program is modified.

What is the purpose of Design Standards?

To provide a criteria against which to verify design.

Why is a negative value for BetaOne unacceptable?

BetaOne is the relationship between proxy and program size; a negative relationship would mean that the larger the proxy, the smaller the program, and that is impossible.

Why do we use log normal distribution for size estimating?

Because there are no negative sizes and there are many small values.

What should you check when you analyze Time Estimating Accuracy?

Changes in effort estimating accuracy.
Is productivity stable? Why or why not?
How are time estimates affected by size estimates accuracy? Would multiple regression help?
Is the time estimating goal realistic? What are the necessary actions to achieve it?

What should you check when you analyze Size Estimating Accuracy?

Changes in size estimating accuracy.
Tendency to add or miss entire parts.
Tendency to misjudge relative size of parts.
Do you need to calculate relative size range data?
Is the size estimating goal realistic? What are the necessary actions to achieve it?

What should you check when you analyze Schedule Accuracy?

Commited dates vs commited dates missed rate, what are the root causes?
Variance of expected number of task hours per week, what are the root causes?
Tendency to overestimate or underestimate tasks.

What should you check when you analyze Defects and Yield?

Type of defects injected during Design & Coding.
Trends in defects density found in Reviews, Compile and Testing.
Comparison of Defect Removal Rates for Reviews, Compile and Testing.
Review Rates for Design Review & Code Review.
Defect Removal Leverage for Reviews, Compile and Testing.
Relationship between yield & review rate for reviews.

What is the selection criteria regarding time?

3 or more data points that correlate with r2>=0.5
Beta Zero < Expected development time and close to 0.
Beta One should be withint the 50% of 1/historical productivity
where productivity = A&M/hours of development

What is the selection criteria regarding size?

3 or more data points that correlate with r2>=0.5
Absolute value of Beta Zero<25% of the expected size of the new program.
0.5<Beta One <2.0

What is the recommended Review Rate for Code?

200 LOC per hour.

What is the process for selecting a candidate size measure?

Rank products by development effort.
Create a graph with the candidate size in the x and the effort in the y.
Plot each pair of the historical data in the graph.
If the points define a line, then the candidate size measure is related to effort and can be used for planning.

What is the meaning of a negative Beta Zero?

Since overhead can only be positive, a negative means you are overestimating.

What is the meaning of a high (process) yield?

A high (process) yield means that less defects are found before Unit Testing.

What is the effort measure?

Time.

What is the earned value of a half done task?

Zero.

What is the difference between PROBE methods A, B and C?

Method A uses Estimated Proxy Size.
Method B uses Planned A&M.
Method C uses development time to date and planned A&M to date.

What is the Percentage of Failure COQ (Cost of Quality)?

It is the proportion of time spent in fixing and reworking against total development time.

What is the Percentage of Appraisal COQ (Cost of Quality) and what are the acceptable ranges?

It is the proportion of time invested in reviewing and inspecting design and code against total development time.
At least 50% of design time should be spent in reviewing, the same proportion goes for coding.

What is the COQ A/F Ratio and what are the acceptable ranges?

It is the proportion of assessment activities against failure (fixing and reworking) activities.
A/F Ratio>>2 is good.

What does an A/F Ratio>>10 mean?

It means you are spending too much time on reviewing and inspecting.

What is process yield?

It is the efficiency of defect removal for the whole process

What is phase yield?

It is the efficiency of defect removal for a phase

What is clutching?

Tendency to perform poorly under pressure, thereby negating successful performance in past projects when using the same process.
It is a common problem when trying to implement improvements.

What is bolstering?

Selective recall of results that reinforce an opinion by forgetting failures.
It is a common problem when trying to implement improvements.

What is an outlier? What does it indicate?

Points that are unusual in one or more respects.
It could indicate that requirements changed or that there was an unusual mistake in the conceptual design.

What is an acceptable correlation in PROBE methods A & B?

r2 between 0.5 and 1.0

What is an Execution Table?

It is a verification method used to trace a program execution in an orderly way, against the specification.

What is a leading indicator?

A leading indicator is a measurable factor that changes value IN ADVANCE of a new trend or condition and can be used for prediction, such as the Component Quality Profile.

What is a lagging indicator?

A lagging indicator is a measurable factor that changes value AFTER the underlying conditions it measures have begun to exhibit. It is used for confirmation, NOT for prediction. Keywords: Total and Actual.

What is a Trace Table?

It is a generalized form of execution table, that examines general program behavior rather than individual cases.
It is more efficient and provides more general proof.

What is a PSP (Personal Software Process)?

A defined set of steps that developers use, modify and improve to guide their work.

What is Earned Value?

Earned Value is the planned value for a task completed.

What is Defect Removal Leverage (DRL)?

It is the measure of the relative effectiveness of defect removal of one phase A against phase B

What is Beta Zero?

It is the constant bias.
It is the overhead (fixed cost).

What is Beta One?

It is the factor for the ratio of overestimates and underestimates.
It is the slope in the linear relation between a proxy size and program size.
It is the average development time required per element.

What happens to Earned Value (EV) if you add tasks?

Adding tasks reduce the earned value of all the planned and completed tasks.

What happens to Earned Value (EV) if you delete tasks?

Deleting tasks increases earned value.

What does a yield measure?

Yields measure the effectiveness of phases (and reviews) to remove defects.

What are the objectives of using the Earned Value Method?

Calculating the percentage of job completion, regardless of task order.

What are the necessary conditions for Earned Value Tracking to work?

Accurate plans.
Consistent rate of estimate.
Constant Project resources.
Task size granular enough so several tasks per weeks can be completed.

What are the necessary activities to create Task & Schedule Plans?

Obtain requirements.
Create an ordered task list.
Obtain historical data.
Estimate size of each task.
Estimate effort for each task.
Check resources availability.
Define a completion date for each task.
Define a completion date for the task list.

What are the advantages and disadvantages of an execution table?

Advantages: Simplicity and reliable results.
Disadvantages: Time consuming (one case at a time), subject to human error.

What are the Cost of Quality Elements?

Failure Cost.
Appraisal Cost.
Prevention Cost.

Process Yield Formula

(Defects Removed before Compile /Defects Injected before Compile) * 100

Phase Yield formula

(Phase Removed Defects/
((Accum. Injected Defects 
Accum. Removed Defects)
+ Phase Injected Defects))
* 100

Name the formula for Planned Value.

PV = (Planned Task Time/Total Planned Tasks Time) * 100

Name the characteristics of an execution table.

It is a manual check.
It has an Initial Condition.
It has set of variable values.
Each execution step is examined.
Every change in variable values is entered.

Name the characteristics of an Unit of Measurement

Useful for planning (Size & Time have a significant correlation).
Precise.
Automatically countable.
Adaptable to the types of work you are likely to find.
Provides the means to judge the accuracy of our estimates.

Name the characteristics of a Proxy

Easy to visualize from the beginning of a project.
Customizable to organizational needs.
Sensitive to implementation variations that impact development and effort.

Name some verification methods.

Execution Table, Trace Table,
Case Checking.

Name some common problems when trying to implement improvements.

Bolstering.
Clutching.

Name some Quality Measures.

Defect Removal Rate.
Phase Yield.
Process Yield.
Appraisal COQ.
Failure COQ.
A/F Ratio.
Defect Density.

Name other estimating methods.

Wideband Delphi.
Fuzzy Logic.
StandardComponent.
Agile Story Points.
Function Points.

How do you use PSP Forms?

Forms are used to gathering and retaining data.

How do you use PSP Measures?

Measures quantify the process and the product, providing insight on the status of the work.

How do you use PSP Scripts?

Scripts are used as a guide to execute a process.

How do you use PSP Standards?

Standards are consistent definitions that guide the data gathering.

What are PSP core measures?

The PSP core measures are Quality,
Effort (Time), Size and Schedule.

How do you collect PSP core measures?

En each phase, we measure the time spent, defects injected, defects removed and the productsize (only when the work package is complete).

Where are PSP core measures gathered and retained?

The measures are gathered and retained in the Time Log and Defect Log.
Information about the size is gathered in the Project Plan Summary.

How do you calculate test defect density?

Test Defect Density = 1000 *
(Test Defects/Actual Added & Modified Size)

How do you calculate size ranges?

Medium=Mean Value.
Large=Mean+Standard Deviation.
Small=MeanStandard Deviation.
Very Large=Mean+(2*Standard Deviation).
Very Small=Mean(2*Standard Deviation).

How do you calculate size ranges with a log normal distribution?

Take the lnv(natural logarithm) of the data.
Determine mean and standard deviation.
Determine size ranges.
Take the inverse log of the ranges to obtain the real range size values.

How do you calculate the A/F Ratio?

A/F Ratio = Appraisal COQ/Failure COQ

How do you calculate an individual project completion date with Earned Value (EV)?

Calculate the EV needed to finish.
Calculate the rate at which the individual is earning value (average EV earned per week).
Calculate how long it will take to earn remaining EV, at that rate.

How do you calculate an adjusted estimate and what does it mean?

Adjusted estimate (y) = (BetaOne*Estimated Proxy)+BetaZero
It means adjusting our proxy by using bias measures.

How do you calculate Unit Testing Quality? What is the recommended range?

Unit Test Defects/KLOC = 10/(5+unit test defects/KLOC)
Where defects/KLOC = (Removed Defects/Actual A&M) * 1000
Recommended: 5 or less defects/KLOC

How do you calculate Projected Added & Modified Size?

Project Added & Modified Size (P) = BetaZero + (Estimated Proxy Size*BetaOne)

How do you calculate LPI & UPI?

For 3 data points A, B, C, with their respective variances:
Combined Estimate = A+B+C
Variance = SquaredVariance of A + SquaredVariance of B + SquaredVariance of C
Combined Estimate Range = Square Root of Variance
UPI=Combined Estimate + Combined Estimate Range
LPI=Combined Estimate  Combined Estimate Range

How do you calculate Failure COQ Percentage?

Failure COQ =
((Compiling Time + Unit Testing Time)/Total Development Time)
* 100

How do you calculate Estimated Development Time?

Estimated Development Time = BetaZero + (Estimated Proxy *BetaOne)

How do you calculate Design Review Quality?
And what is the recommended range?

Design Review Time = 2*(Design Review Time/ Design Time)
Recommended: DR Time should at least be 50% of Design Time.

How do you calculate Design Quality?
And what is the recommended range.

Design/Code Time = Design Time/Coding Time
Recommended:Design Time should at least be 100% of Coding Time.

How do you calculate Coding Review Quality?
What is the recommended range?

Coding Review Time = 2* (code review time/coding time)

How do you calculate Coding Quality?
And what is the recommended range?

Compile Defects/KLOC = 20/(10+compile defects/KLOC)
Recommended: Less than 10 defects.

How do you calculate Appraisal COQ Percentage?

Appraisal COQ = (
(Code Review Time + Design Review Time) / Total Development Time)
* 100

How can you improve the accuracy in your estimates?

Record all the prescribed data in realtime.
Evaluate what works and what does not.
Use historical data to guide planning.

Formula for calculating Defects per hour

Defects per hour = (Defects Removed in Phase A/Phase A duration in minutes) *60

What is Failure Cost?

Time spent in repairing and reworking, compiling and testing.

Describe the requirements for PROBE method C

Historical data and averages.
Beta Zero=0
Beta One=Actual Development Time to date/Planned A&M to date.
Projected = BetaOne*E

Describe the requirements for PROBE method B

3 data points
For Size Estimation: Planned A&M, Actual A&M
For Time Estimation: Planned A&M, Actual Development Time
Beta Zero < Expected development time and close to 0
Beta One should be withint the 50% of 1/historical productivity
where productivity = A&M/hours of development

Historical productivity formula

Historical productivity =
A&M/hours of development

Describe the requirements for PROBE method A

3 data points
For Size Estimation: Estimated Proxy Size(BA+PA+M), Actual A&M
For Time Estimation: Estimated Proxy Size(BA+PA+M), Actual Development Time
Absolute value of Beta Zero<25% of the expected size of the new program
0.5<Beta One <2.0

Name the characteristics of a quality design

Captures all design decisions unambiguously.
Has minimum redundancy.
Is complete and precise.
Is sufficiently documented to be reviewed.
Meets the user´s needs.
Guides implementation.

Describe the Trace Table procedure.

Identify Key program variables.
Enter the main program steps.
Identify symbolic execution possibilities.
Determine all of the possible cases and select these to check.
Determine enter and initial conditions.
Trace the variable values through each step.
Use additional tables for each cyclic loop.

Describe the Process Quality Index and the recommended ranges

It is the product of 5 components: Design Quality, Design Review Quality, Coding Quality, Coding Review Quality and Unit Testing Quality.
The range for each component goes from 0.0 to 1.0, but 0.4 is good.

Describe the Execution Table Procedure.

Identify the key program variables
Enter the main program steps.
Determine and enter the initial conditions for each variable.
Trace the variable values through each step.
Use additional tables for each cyclic loop.

Describe the Case Checking Procedure.

Examine to determine behavior categories in the program.
Identify cases to check in each category.
Check the cases to ensure they cover all possible situations.
Examine program behavior for each case.
Once every case has been verified, program behavior has been verified.

Describe Correctness Verification.

Identify all of the program cases.
Consider each verification question while reviewing each nontrivial construct.
If the answer to the following questions is not obvious, use a Trace Table:
The LOOP terminates for any argument of test?
The LOOPPART increments and sets?
The LOOP terminates when TEST is false without further changes to any variables?

Define significance

Measure that indicates the probability that the correlation occurred by chance.

Define correlation.

Degree to which 2 sets of data are linearly related.

Define UPI and LPI for size and time prediction intervals.

A prediction interval is an statistically determined range around your size or time estimate within which the actual value id likely to fall.
The UPI and LPI are the lines that represent the highest and the lowest expected intervals for a regression.

Define Planned Value

Planned value is the percentage of the total project hours that is planned for a task.

DRL Formula

DRL = Defects removed per hour in Phase A / Defects removed per hour in Phase B

Define Appraisal Cost

Time spent in coding and design reviews and inspections.
