Cause and Effect / Ishikawa (fishbone) diagram: problem, causes, and causes of causes
Decision tree: decision nodes (squares) and change nodes (circles)
Risk assessment
Types of risks
Technology
People
Tools
Static risk assessment matrix (scale versus probability)
Risk mitigation
Accept
Mitigate
Avoid
5. Project Planning
Five functions
Planning
Organizing
Staffing
Directing
Controlling
What to plan
Time
Effort
Quality
Schedule
Resources
Risks
Nine deadly sins of project planning
Not planning at all
Failing to account for all project activities
Failure to plan for risk
Using the same plan for every project
Applying prepackaged plans indiscriminately
Allowing a plan to diverge from project reality
Planning in too much detail too soon
Planning to catch up later
Not learning from past planning sins
Planning pain curve: good planning should have its pain upfront instead of later
Planning importance
Reduced uncertainty
Increases understanding
Improve efficiency
Work Breakdown Structure (WBS): a hierarchical description of all work that must be done to meet the requirements
Goal -> Function -> Subfunction -> Activity
6. Product Planning
Product manager
Asks what to make and how to make it
Ensures the product makes business sense
Defines roadmap
Product marketing
Asks how to best sell it
Ensures the product will make market and customer sense
Understands customer needs
Project manager
Asks how to best execute a project
Ensures project is executed as defined
Performs staffing and scheduling
Feature: a set of logically related requirements that provide a capability to the user and enable the satisfaction of business objectives
Stakeholder: anyone who has an involvement/interest in the product
Stakeholders
Management
Customers
Board of Directors
Legal
Developers
Investors
Criteria for feature selection
Customer satisfaction
Cost
Value
Time
Frequency/ease of use
Feature dependencies
Coupling
Either or
At most one
At least one
Weak precedence
Strict precedence
Value dependency
Effort dependency
Resource constraints
Class 1: local to the release
Class 2: global across release periods
Total number of stakeholder feature points (TSFP)
Made up of
Features
Stakeholder
Criteria
Releases
Plan
The objective of planning is to maximize the TSFP
The diversification principle: a single solution is less likely to reflect reality when compared to a set of diverse solutions
7. Feature Prioritization
Overview
Prioritization: arranging items in order of importance.
Who prioritizes?
Users
Developers
Legislators
Decision-makers
Functional approach
Normalize criterion to compare
Associate each criterion with a weight
Use an aggregate function to obtain the global evaluation
E.g. Weighted average
Biggest problem is that it assumes very strong assumptions which might not match reality
Multi-scoring: convert verbal scores using predefined categories and compare them using a web graph.
Relational approach
Doesn’t require any assumptions
Results obtained are weaker but requires fewer assumptions
Uses binary relations to express the outcome of comparisons
x P y: x is preferred to y
x I y: x and y are indifferent
x R y: x and y are incomparable
P, I, and R are preference relations
To aggregate these relations, an assertion “a S b” is true if and only if
Concordance: the arguments for “a S b” are strong enough.
Non-discordance: the arguments against “a S b” are weak enough.
Partial order: if certain pairs can’t be compared.
Analytic hierarchy process (AHP)
Decomposes the goal into a hierarchy of criteria and sub-criteria
Goal > Criteria > Alternatives
Kano method
Functional form of the question: if a function was provided
Dysfunctional form of the question: if a function wasn’t provided
Kano table
Must-be (M)
Indifferent (I)
One-Dimensional (O)
Reverse (R)
Attractive (A)
Questionable (Q)
Maximize customer satisfaction and minimize customer dissatisfaction
8. Software Effort Estimation
How to estimate software cost
Expert judgment
Top-down estimation
Empirical factor models
Estimation by analogy using case-based reasoning (CBR)
Expert judgement
Estimate effort using experts
Iterate until consensus is reached
Inaccurate if no experts
Top-down estimation
Estimate effort by reducing functions into sub-functions
Based on logical function rather than components implementing the function
Inaccurate if judgement of low-level functions is inaccurate
Empirical factor models
Estimates effort using cost drivers
Constructive cost model (COCOMO)
Elements
Lines of code
Cost drivers
Effort equation
Effort adjustment factor
Schedule equation
Cost driver: a factor/attribute that drives/affects the cost of a project.
Analogy reasoning
Estimates effort using past projects
Accurate if project data is available
Inaccurate if no comparable project exists
9. Case Studies
Case studies: investigations that attempt to understand and explain phenomenon or to test theories.
Pros
Detailed answers
Gain insights into cause and effect
Test theories
Cons
Hard to find appropriate cases
Hard to quantify
Reasons to conduct a case study
To gain a deeper understanding of a phenomenon
Exploration, characterization, validation
Study design always starts with research questions
“How does technical debt influence development?”
“Why do devs prefer this tool?”
Types of Case Studies
Explanatory
Exploratory
Descriptive
Causal
Controlled experiments: investigate a testable hypothesis in which conditions are set up to isolate the variables of interest and test how they affect certain measurable outcomes.
Surveys: a system for collecting information to describe, compare, or explain knowledge, behaviors over a large population.
Pros
Investigating large populations
Testing theories where there is little control
Cons
Relies on self-reported observations
Subjective data
10. Project Time Management
Parts of time management
Develop and control schedule
Define and sequence activities
Estimate activity resources and durations
Project schedule: plan that links tasks with resources to do them.
Critical path: the sequence of project activities which add up to the longest overall duration.
The critical path determines the shortest time possible to complete the project.
Forward Pass: Early schedule determines early start and early finish
ES = max(connected EF)
EF = ES + Duration
Backward Pass: Late schedule determines late start and late finish
LF = min(connected LS)
LS = LF - Duration
The critical path is path of nodes where the ES = LS and EF = LF for the node.
Update the critical path diagram to show progress
CPM Pros
Consistent
Aids communication
Shows tasks that can be done in parallel
CPM Cons
Relies on estimates and assumptions
Too many activities might make the diagram complicated
CPM doesn’t guarantee project success
Crashing an activity: special measures to reduce the duration of an activity.
Crashing the project: specials measures to reduce the duration of the project.
11. Staffing
Goal: Best match between requested and available skill profiles
Problem
All features are done
All dependencies are fulfilled
Total duration minimized
Conway’s Law: organizations design systems that mirror their own communication structure.
12. Project Monitoring & Control
How to bring the project back on track?
Behind schedule
Over budget
Poor product quality
Low productivity
5 types of project status reports
Current period
Cumulative
Exception
Stoplight
Variance
Key Performance Indicators (KPI): a set of measures used to gauge performance in terms of meeting goals.
E.g.
Project completion estimation
Number of unresolved issues
Current resource allocations
Project Control (PC): how to bring the project back on track.
4 M’s
Money
Manpower
Materials
Machinery
Use the 4 M’s to
Adjust the resources
Adjust the project
Heatmap: values are represented as colors.
Kanban board: a board designed to visualize work.
Burndown charts: chart showing work left to do versus time. Useful for predicting when work will be completed.
Work left on y-axis
Time on x-axis
Bar chart: shows specific categories versus another measured value.
Pareto principle: 20% of the input accounts for 80% of the output.
Project dashboards: show KPIs.
Benefits
Facilitates communication
Supports decision making
Easy to access
Centralized
Customizable
The ultimate goal of PC is to bring the project back on track.
13. Technical Debt
Technical debt: the accumulated cost of rework needed to move from the current state to the requested state.
Implications of technical debt
Product doesn’t achieve full potential
Higher cost/effort to develop
Technical debt is the gap between following the best practices of development and making the change work.
Symptoms of technical debt
A lot of problems
A lot of time to fix those problems
Code smells: systems that point to potential problems.
Testing debt: the accumulated cost of poor testing.
Architecture debt: unstable, not modular, too much coupling.
Documentation debt: the accumulated cost of not keeping documentation up-to-date.
14. Project Monitoring & Statistical Process Control
Detect out-of-control situations because of their impact on process performance variation.
Process variance
Center process
Reduce spread
Statistical process control (SPC): understand the process, causes of variation, and eliminate special cause variation.
False positive and false negative
Six Sigma: business philosophy focused on continuous improvement
Everything is a process
All processes have inherent variability
Use data to reduce variability
A six sigma process is one in which 99.99966% of all opportunities to produce some feature of a part are statistically expected to be free of defects
Key terms to process variation
Common cause: natural variation
Special cause: one time/atypical variation
Defect: any variation that doesn’t meet customer expectations
Specification limit: a required expectation set by the customer
Defects per million opportunities (DPMO): the average number of defects per unit observed during an average production run, divided by the number of opportunities to make a defect on the product during that run, normalized to one million.
DPMP = ((observed defects) / (total possible defects)) * 1,000,000
15. Management of Kanban and Scrum Development
Range from highly predictive to highly adaptive
16. The Essence of Scrum
Scrum: a software project management framework with
Short, fixed schedule per cycle
Repeating events and meetings
Practice of implementing and testing new requirements
3 types of Scrum stories
Functional
Non-functional
Defect
Minimum viable product (MVP): min functionality with min effort that’s viable by user base.
Technology adoption lifecycle
Innovators
Early Adopters
Early Majority
Late Majority
Laggards
They differ by their willingness to take risks early
17. Lean and Kanban
Lean development: reduce waste to produce higher valued product
Basics
Waste: adds no value
Value: what customers want
Value stream: actions to bring the project to completion