From ad5826b83be2138aa9b424d401c7237dbe11373a Mon Sep 17 00:00:00 2001 From: Rob Moffat Date: Mon, 2 Dec 2024 22:35:35 +0000 Subject: [PATCH] Added schedule risk --- dictionary.txt | 2 + .../Deployment-And-Operations/Automation.md | 2 +- .../External-Relations/Outsourcing.md | 2 +- .../Planning-And-Management/Estimating.md | 2 + .../Planning-And-Management/Prioritising.md | 2 +- .../Scarcity-Risks/Schedule-Risk.md | 86 +- numbers/Practices.numbers | Bin 331654 -> 330219 bytes .../risks/posters/schedule-risk1.adl | 24 + .../risks/posters/schedule-risk2.adl | 24 + .../risks/posters/schedule-risk1.svg | 1911 ++++++++++++++++ .../risks/posters/schedule-risk2.svg | 1912 +++++++++++++++++ 11 files changed, 3955 insertions(+), 12 deletions(-) create mode 100644 src/images/generated/risks/posters/schedule-risk1.adl create mode 100644 src/images/generated/risks/posters/schedule-risk2.adl create mode 100644 static/img/generated/risks/posters/schedule-risk1.svg create mode 100644 static/img/generated/risks/posters/schedule-risk2.svg diff --git a/dictionary.txt b/dictionary.txt index ca043b40c..4590707eb 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -362,3 +362,5 @@ croft accrete decommissioned ratchets +laborious +reimplement diff --git a/docs/practices/Deployment-And-Operations/Automation.md b/docs/practices/Deployment-And-Operations/Automation.md index fd580175d..8f5560ae2 100644 --- a/docs/practices/Deployment-And-Operations/Automation.md +++ b/docs/practices/Deployment-And-Operations/Automation.md @@ -18,7 +18,7 @@ practice: - tag: Operational Risk reason: "Introduces more consistency in process operations and removes opportunity for human error" - tag: Schedule Risk - reason: "Too much focus on automation can distract from more important tasks" + reason: "Automating laborious tasks clears the schedule for higher-value work." attendant: - tag: Complexity Risk reason: "Introducing automation adds to the complexity of a project" diff --git a/docs/practices/External-Relations/Outsourcing.md b/docs/practices/External-Relations/Outsourcing.md index fabecbd37..db34a87e1 100644 --- a/docs/practices/External-Relations/Outsourcing.md +++ b/docs/practices/External-Relations/Outsourcing.md @@ -18,7 +18,7 @@ practice: - tag: Funding Risk reason: "Can be cost-effective by leveraging economies of scale." - tag: Schedule Risk - reason: "Can speed up project timelines by adding more workforce." + reason: "Can speed up project timelines by increasing the workforce." attendant: - tag: Agency Risk reason: "Creates dependencies on third-party vendors and their reliability." diff --git a/docs/practices/Planning-And-Management/Estimating.md b/docs/practices/Planning-And-Management/Estimating.md index 1937d95d4..8e1cae8f3 100644 --- a/docs/practices/Planning-And-Management/Estimating.md +++ b/docs/practices/Planning-And-Management/Estimating.md @@ -40,6 +40,8 @@ practice: Estimation in software development involves predicting the time, effort, and resources needed to complete tasks or projects. Accurate estimation is crucial for planning, budgeting, and managing the development process, helping to set realistic expectations and reduce the risk of overruns. +See the Risk-First section on [Estimating](/estimating/Start) for a thorough breakdown of this topic. + ## See Also diff --git a/docs/practices/Planning-And-Management/Prioritising.md b/docs/practices/Planning-And-Management/Prioritising.md index 1840c8577..089bbf1b5 100644 --- a/docs/practices/Planning-And-Management/Prioritising.md +++ b/docs/practices/Planning-And-Management/Prioritising.md @@ -17,7 +17,7 @@ practice: - "Scheduling" mitigates: - tag: Schedule Risk - reason: "Helps in focusing on high-priority tasks and meeting deadlines." + reason: "Helps in focusing on high-priority tasks." - tag: Market Risk reason: "Ensures that the most valuable features and opportunities are addressed first." - tag: Funding Risk diff --git a/docs/risks/Dependency-Risks/Scarcity-Risks/Schedule-Risk.md b/docs/risks/Dependency-Risks/Scarcity-Risks/Schedule-Risk.md index 550cb0859..c404beeab 100644 --- a/docs/risks/Dependency-Risks/Scarcity-Risks/Schedule-Risk.md +++ b/docs/risks/Dependency-Risks/Scarcity-Risks/Schedule-Risk.md @@ -1,6 +1,6 @@ --- title: Schedule Risk -description: A particular scarcity risk, due to lack of time. +description: The aspect of dependency risk related to lack of time. slug: /risks/Schedule-Risk @@ -18,15 +18,83 @@ part_of: Scarcity Risk -[Schedule Risk](/tags/Schedule-Risk) is very pervasive, and really underlies _everything_ we do. People _want_ things, but they _want them at a certain time_. We need to eat and drink every day, for example. We might value having a great meal, but not if we have to wait three weeks for it. +[Schedule Risk](/tags/Schedule-Risk) is very pervasive, and really underlies _everything_ we do. People _want_ things, but they want them _at a particular time_. We need to eat and drink every day, for example. We might value having a great meal, but less so if we don't have any idea when it might be served. -And let's go completely philosophical for a second: were you to attain immortality, you'd probably not feel the need to buy _anything_. You'd clearly have no _needs_. Anything you wanted, you could create yourself within your infinite time-budget. _Rocks don't need money_, after all. +So [Schedule Risk](/tags/Schedule-Risk) is the risk around schedules we try to impose on our work, usually because we cannot know _a priori_ how long a piece of work will take. Unrealistically low estimates are therefore the source of [Schedule Risk](/tags/Schedule-Risk): the more aggressive the estimate, the more risk you are running, even though every now and again you might win the estimation lottery and find _just the right piece_ of open source code to take a short-cut through time and hit the estimate. -In the section on [Feature Risk](/tags/Feature-Risk) we looked at [Market Risk](/tags/Feature-Risk), the idea that the value of your product is itself at risk from the whims of the market, share prices being the obvious example of that effect. In Finance, we measure this using _price_, and we can put together probability models based on how much _money_ you might make or lose. +:::note -With [Schedule Risk](/tags/Schedule-Risk), the underlying measure is _time_: +You'll notice that I've split out [Schedule Risk](/tags/Schedule-Risk) from [Deadline Risk](/tags/Deadline-Risk). They're slightly different things, and often, a schedule will include a deadline to meet at the end of it. However, from my experience in software development _schedule slippage_ has a different quality to _missed deadlines_. So it's worth looking at how these two things differ: - - "If I implement feature X, I'm picking up something like 5 days of [Schedule Risk](/tags/Schedule-Risk)." - - "If John goes travelling that's going to hit us with lots of [Schedule Risk](/tags/Schedule-Risk) while we train up Anne." - -... and so on. Clearly, in the same way as you don't know exactly how much money you might lose or gain on the stock-exchange, you can't put precise numbers on [Schedule Risk](/tags/Schedule-Risk) either. +- [Deadline Risk](/tags/Deadline-Risk) is the risk you face from missing a deadline. + +- [Schedule Risk](/tags/Schedule-Risk) occurs when things take longer to complete than you have scheduled for them. We'll discuss reasons this happens below. + +::: + + +## Worked Example + +With [Schedule Risk](/tags/Schedule-Risk), the underlying measure is _time_ and our inability to be precise about how long things might take. + +So many things affect schedule risk: The more work you try to implement, the more complexity you take on, the more novelty you introduce, the more activities become dependent on one another. + +![Schedule Risk 1](/img/generated/risks/posters/schedule-risk1.svg) + +In the example above, a team are working to produce new features for their clients, however there are complaints of bugs. The team diagnose the problem down to some design choices in the codebase which have cascaded down into much more complex code than is necessary. They decide to [refactor the code](/tags/Refactoring), aware that by doing this they are embarking on a task that may be much more long-winded than they anticipate. + +![Schedule Risk 2](/img/generated/risks/posters/schedule-risk2.svg) + +Conversely, a team might work to _reduce_ schedule risk: In the diagram above, a team realises that it is terrible at estimating and lots of development tasks are running longer than expected. In order to bring discipline to the team, the manager adds [Pressure](/tags/Pressure) (perhaps in the form of punishments for late delivery or bonuses for on-time delivery). Suddenly, work _is_ completed according to the set schedule. But corners are cut and [complexity](/tags/Complexity-Risk) and [bugs](/tags/Implementation-Risk) creep in. + + +## Example Threats + +### 1. Optimism / Inadequate Risk Management + +**Threat**: Estimates on pieces of work are too low, because the failed to account for the complexity of the problem. + +**Threat**: The estimating process is compromised by deadlines or social pressure, making it hard to + +**See:** The section on [Estimating](/estimating/Start) + +### 2. Hidden Risks / Technical Challenges + +**Threat**: You're working in a new area and therefore have an under-developed [Internal Model](/tags/Internal-Model) of the domain. + +**Threat**: You're necessarily working with cutting edge / novel technology and having to invent best practices as you go. + +**See**: [Interference Checklist](/estimating/Interference-Checklist) For a long list of technical challenges that have high [Schedule Risk](/tags/Schedule-Risk) + +### 3. Long-Tail Delays + +**Threat**: Certain tasks have a much higher completion-time variance than others. + +**Mitigation**: Try to identify those up-front to begin them early. + +### 4. Slack + +**Threat**: [Parkinson's Law](https://en.wikipedia.org/wiki/Parkinson's_law) says that work expands to fill the time available. Therefore _padding estimates_ only works so long as there is the illusion that _there isn't time available_, + +**Mitigation**: Keep slack a secret, from yourself too if possible. + +### 5. Expanding The Team + +**Threat**: As Fred Brooks points out: + +> _Adding manpower to a late software project makes it later._ - [The Mythical Man-Month](https://en.wikipedia.org/wiki/The_Mythical_Man-Month) + +:::tip Anecdote Corner + +I've worked on lots of very large, expensive IT projects. A general rule is the bigger the project, the less under-control the Schedule Risk will be. I believe this is because Schedule Risk thrives on complexity. However in this case I want to talk about a rare case where things went _right_. + +I worked in part of a team trying to build what we called, "Data Access Service" or "DAS" for other parts of a bigger system of risk calculations. There were various layers involved in the service - from loading data out of various databases, converting into different formats, batching, buffering, grouping and sending over HTTP connections. Adding new functionality was time-consuming and a source of much grief for other, downstream teams depending on the service. Oh, and there were lots of political challenges too. + +However, at some point a lot of the political players moved on to something else, leaving just me and one other guy in the team. We decided to roll up our sleeves and reimplement the DAS using off-the-shelf Spring libraries in Java which (claimed to) do a lot of this stuff out-of-the-box. We converted DAS from being a service running on servers over HTTP to just a library that other services could just call, which removed the need for the batching, buffering and different data formats and Spring did the rest. There was a bit of heavy lifting but we re-wrote the whole thing in about two months. + +This compares to being members of the original 7-strong team for well over a year beforehand and getting a lot less done. + +But the only reason this was allowed to happen was because we'd been bullish in our estimates: the original DAS was over-encumbered with technical debt and was therefore too hard to change and improve. We estimated it would take two months to implement the new design and it did. This was both an educated guess plus a lot of luck. + + +::: \ No newline at end of file diff --git a/numbers/Practices.numbers b/numbers/Practices.numbers index af49bdfa19d1746da66a674a6df57de0aff306b6..501cd6482daf2ac1ea36899f360b8ccd2d290a37 100644 GIT binary patch delta 19469 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 delta 21302 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 diff --git a/src/images/generated/risks/posters/schedule-risk1.adl b/src/images/generated/risks/posters/schedule-risk1.adl new file mode 100644 index 000000000..a9508fe2c --- /dev/null +++ b/src/images/generated/risks/posters/schedule-risk1.adl @@ -0,0 +1,24 @@ + + + + + + + + + Refactoring + + + + + + diff --git a/src/images/generated/risks/posters/schedule-risk2.adl b/src/images/generated/risks/posters/schedule-risk2.adl new file mode 100644 index 000000000..a4c6f6ffc --- /dev/null +++ b/src/images/generated/risks/posters/schedule-risk2.adl @@ -0,0 +1,24 @@ + + + + + + + + Pressure + + + + + + + diff --git a/static/img/generated/risks/posters/schedule-risk1.svg b/static/img/generated/risks/posters/schedule-risk1.svg new file mode 100644 index 000000000..c1159c3af --- /dev/null +++ b/static/img/generated/risks/posters/schedule-risk1.svg @@ -0,0 +1,1911 @@ + + + + http://robs-pro:8080/api/renderer?format=svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/generated/risks/posters/schedule-risk2.svg b/static/img/generated/risks/posters/schedule-risk2.svg new file mode 100644 index 000000000..c78618c6e --- /dev/null +++ b/static/img/generated/risks/posters/schedule-risk2.svg @@ -0,0 +1,1912 @@ + + + + http://robs-pro:8080/api/renderer?format=svg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +