liveBook · Manning

Risk

As explained in Functional Design and Architecture: Examples in Haskell

A risk is a potential problem whose occurrence can increase the cost, delay, or failure likelihood of a software project.

A risk is a potential problem that can raise project cost, delay delivery, or increase the chance of failure. In software development, risks often appear when teams build components without a shared architecture or plan. section 3.1

Risk management connects delivery goals with requirements and maintainability. Overcomplicated code is a risk because it becomes harder to understand, update, refactor, and support, especially when new colleagues join the project. section 1.2.1

A fractured application plan

Imagine separate teams independently building a database, networking, GUI, and application layer without common design guidelines. Their components may work alone but fail to combine, forcing the project toward a costly restart. Testing reduces other project risks by checking behavior through black-box, white-box, functional, and integration approaches. section 3.1 section 15.1

Figure 1.3 Maintainability cost vs. complexity

Use the maintainability-cost relationship to see how increasing complexity can turn into a long-term project risk. section 1.2.1

How Functional Design and Architecture: Examples in Haskell covers it

How deep it goes
Illustrates architectural and complexity risks through scenarios, then identifies testing approaches without providing a complete risk-management procedure.
Examples
Uses incompatible independently built components, overcomplicated code, and black-box, white-box, functional, and integration testing.
What you can do after
Diagnose threats arising from architectural mismatch and overcomplication, then recognize testing as a way to reduce specific project risks.
How it connects
Connects risks with requirements, goals, architecture, simplicity, maintainability, complexity, and testing.

Also explained in

Compare how 8 books explain risk →

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.