How we take on projects

It is called Risk Aware Software Engineering. Investment should grow only as awareness grows.

Every project carries three uncertainties

Functional

Requirements are incomplete, or they change while the project is under way. In any living domain this is the norm, and it has to be taken into account from the start.

Technical

It concerns architectural constraints, integrations with the systems you already have, the required performance and the code inherited from whoever came before.

Organisational

It depends on how many teams are involved, how clear the roles are and how mature the processes are. It is often the most underestimated.

Who takes the risk?

Time & Material or Fixed Price: the risk
should match the real uncertainty of the project

In a Time & Material contract the risk stays with the client, in a Fixed Price contract almost all of it passes to the supplier. Both formulas work, but only if the risk the contract assigns matches the real uncertainty: a highly uncertain project run as Fixed Price produces disputes over scope and a result that disappoints everyone, while a project with little uncertainty run as Time & Material costs more than it should and nobody answers for the result.

In practice

When uncertainty is high we work first of all to reduce it, with targeted analyses, controlled prototypes and technical checks. As it decreases we widen the scope and take responsibility for the result. When the context is stable and mature, more linear models can be used.

The tools we measure with

To measure uncertainty we apply to risk management in software projects two methods born in the aerospace field and now standard in safety-critical sectors, FMECA (Failure Mode, Effects and Criticality Analysis) and FTA (Fault Tree Analysis).

With these tools we identify the weak points in the architecture and the organisation, estimate how likely the project is to drift from the plan and calculate what it really costs to prevent each deviation.

Where you will find it applied

The analyses on the Where to start page are the fixed format we use to measure uncertainty before development. The service models are the ways in which, once uncertainty has been reduced, we commit to developing.

Want to find out which model suits you?

The guidance survey takes three minutes, brings your situation into focus and points to the model that makes most sense right now. Or write to us. It will not be a salesperson who replies, but an engineer.