liveBook · Manning

Risk management

As explained in Functional Design and Architecture: Examples in Haskell

The systematic identification, evaluation, and mitigation of potential problems affecting a project or system.

Risk management treats software design as a process of identifying problems, weighing their costs, and choosing compromises among goals, requirements, simplicity, and quality attributes. section 1.2.1

Typical risks that shape design decisions include:

  • Low budget can limit access to experienced architecture and reduce production quality. section 1.2.1
  • Changing or misunderstood requirements can make an initially adequate system or feature unusable. section 1.2.1
  • New requirements, limited time, and overcomplicated code can create redesign, discarded implementation, and maintenance costs. section 1.2.1

Scaling beyond the requirement

A system designed to serve a thousand clients may face severe problems when popularity brings millions. The original capacity requirement was met, but changing demand exposes a design risk. section 1.2.1

Figure 1.4 Compromising between simplicity, goals, and requirements

Use the radar chart to compare progress toward goals and requirements while making trade-offs with simplicity and cost. section 1.2.1

How Functional Design and Architecture: Examples in Haskell covers it

How deep it goes
Enumerates common software risks and their consequences but stops short of prescribing a mitigation procedure.
Examples
Uses client growth, misunderstood features, changing product needs, limited time, and overcomplicated code as risk scenarios.
What you can do after
Evaluate design compromises by comparing goals, requirements, simplicity, cost, and the consequences of identified risks.
How it connects
Connects risk management with software design, requirements, simplicity, fault tolerance, scalability, and maintainability.

Also explained in

Compare how 5 books explain risk management →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Functional Design and Architecture: Examples in Haskell. The section links point to the parts of the book it draws on.