The choice of a particular project management methodology, agile or traditional, can significantly influence the delivery of a complex software project. Rather than exploring numerous pros and cons of competing methodologies (as many have previously), the matter of particular interest is the sensitivity to Black Swan Events.
Firstly, Nassim Nicholas Taleb defines a Black Swan Event as follows:
- The event is highly unexpected from a planning view.
- The event has enormous impact.
- Individuals explain the event in hindsight as predictable.
In short, Black Swan Events (such as notable historical events, scientific discoveries or financial crises) have and will continue to shape our history. It must be noted that Black Swan Events are not limited to significant events affecting society but can also occur during a project, in turn impacting both the schedule and delivery to the client.
Let us analyse the traditional waterfall methodology and Black Swan Events. This methodology is a sequential process where each step is largely or wholly completed before the following step begins. It is clear that for projects such as civil construction, this methodology is appropriate, whereas for many software projects this is not the case.
Take for example a project following the waterfall methodology which has been delivered late by 2 months. The project manager created the schedule based on expectations from similar previous. The late delivery is costing the client millions of dollars a month in lost production. The project manager provides reasons to the client as to why the project is late and that it could not have been avoided because of one or more unpredicted events during the course of the project. Applying Taleb’s criteria, it is clear that a Black Swan has occurred to the project. One can even argue that the Black Swan Event has been designed into the project by following the traditional methodology.
Now let us analyse the agile methodology and Black Swan Events. This methodology is a recursive and iterative process which enables continuous improvement during the project. The project is broken down into a number of short sprints during which the traditional methodology is followed. At the beginning of each sprint, the project team and project owner decide upon the sprint goal to be achieved based on the work currently completed and work to be completed. Due to the complex and less predictable nature of software projects, this methodology compares very favourably to more traditional waterfall approaches.
The agile project management methodology, by nature, provides the ability to overcome Black Swan Events. For example, if a Black Swan occurs during Sprint 5, it can be readily managed in Sprint 6. The ability to act in this way allows the project team to be resilient and adaptive to Black Swans. This is fundamental to agile project management with the short sprint-and-reassess cycles. As a result, since the project schedule is evolving based on the actual progress of a project, the schedule does not suffer from the effects of prior expectations. You can go as far as saying that a project following the agile methodology is inherently Antifragile (another term from Taleb).
Clearly, project managers and teams should be capable of dealing with Black Swan Events. It is evident that depending on the methodology selected, a project will be either more susceptible or resilient to the occurrence of a Black Swan. Hence the design of the project schedule / methodology has a direct relationship to the project outcome. This leads to another subject of significant importance. That is to what extent are project managers and project teams accountable for the project outcome and what level of exposure or “Skin in the Game” do they have. But that's for another time ...