Fork me on GitHub
Risk First Logo

Home of Risk-First Software Development

Start Here

Quick Summary
A Simple Scenario
The Risk Landscape


Please star this project in GitHub to be invited to join the Risk First Organisation.


Consuming Hacker News 14 May 2019
Twitter Cards 22 March 2019
Next - Scrum? 7 March 2019
Available On Amazon 25 February 2019
New Proof 10 February 2019


Click Here For Details

A Pattern Language

Hopefully, after reading this, you’ll come away with:


This is not intended to be a rigorous, scientific work: I don’t believe it’s possible to objectively analyze a field like software development in any meaningful, statistically significant way (things just change too fast).

Does that diminish it? If you have visited the TVTropes website, you’ll know that it’s a set of web-pages describing common patterns of narrative, production, character design etc. to do with fiction.

“Sometimes, at the end of a ‘Dream Sequence’ or an ‘All Just a Dream’ episode, after the character in question has woken up and demonstrated any ‘[lesson]’ that the dream might have been communicating, there’s some small hint that it wasn’t a dream after all, even though it quite obviously was… right?. “ - Or Was It a Dream?, TVTropes

Is it scientific? No. Is it correct? Almost certainly. TVTropes is a set of empirical patterns for how stories on TV and other media work. It’s really useful, and a lot of fun. (Warning: it’s also incredibly addictive).

In the same way, “Design Patterns: Elements of Reusable Object-Oriented Software”, is a book detailing patterns of structure within Object-Oriented programming, such as:

“[The] Adapter [pattern] allows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class…” - Design Patterns, Wikipedia

Patterns For Practitioners

Design Patterns aims to be a set of useful patterns which practitioners could use in their software to achieve certain goals. “I have this pattern” was a phrase used to describe how they had seen a certain set of constraints before, and how they had solved it in software.

That book was a set of experts handing down their battle-tested practices for other developers to use, and, whether you like patterns or not, knowing them is an important part of being a software developer, as you will see them used everywhere you go and probably use them yourself.

In the same way, Risk-First aims to be a set of Patterns for Software Risk. Hopefully after reading this, you will see where risk hides in software projects, and have a name for it when you see it.

Towards a “Periodic Table”

In the latter chapters of “The Menagerie” we try to assemble these risk patterns into a cohesive whole. Projects fail because of risks, and risks arise from predictable sources.

What This is Not

Risk-First isn’t an exhaustive guide to every possible software development practice and methodology. That would just be too long and tedious.

Neither is this a practitioner’s guide to using any particular methodology: if you’ve come here to learn the best way to do Retrospectives, then you’re in the wrong place. There are plenty of places you can find that information already. Where possible, this site will link to or reference concepts on Wikipedia or the wider Internet for further reading on each subject.

Found this interesting? Please add your star on GitHub to be invited to join the Risk-First GitHub group.