Warnier/Orr diagrams
Warnier-Orr diagram from Structured System Design article

Warnier/Orr diagrams

While I was going through comments under a post written by Jim Highsmith , I came across a term that caught my eye, it read "Does anybody remember Warnier/Orr diagram?" by John Horwath . Link to that post

This term piqued my interest and I started reading about it (link to the wiki article and PDF is at the end). And as I went on browsing through it I just found it to be so relevant, easy and usable in present day context.

It all begins with "Structured System Design (SSD)".

SSD is a structured programming methodology that provides a conceptual framework that facilitates writing programs that would usually run the first time.

Restricted choice of program control structures, elimination of GOTOs, modularity of program segments, reduction of complexity by breaking down programs into smaller pieces, functional analysis of a problem, hierarchical organization of problem components, data flow analysis and data-oriented design are few(but not limited to) of the program and implementation strategies that were considered valuable and notable around 1970's defined by the likes of DeMarco, Dijkstra, Jackson, Mills, Orr, Warnier, Yourdon & Constantine, Ross.

It was cited that following features stood common between above methodologies:

  1. Their emphasis on some set of systematic recursive problem decomposition procedures that are directed towards breaking down complex problems into successively more manageable units.
  2. Specific program development tools & procedures are used as the basic building blocks of a "theory" that is oriented towards efficient and correct system development making it feasible to design, implement and maintain extremely complex systems.
  3. The third important feature of structured approaches is that, they work. From a large body of evaluation data of the computer industry indicates that conscientious application of Structured programming techniques result in the following

1. Fewer programming errors

2. Less maintenance

3. Improved efficiency in use of computer resources

All these components and many more have gone into the making of SSD and how it can be used as a? programs development technique and Systems designing methodology.

After an intensive 15 years of research and working experience, Jean-Dominique Warnier and Kenneth T. Orr termed SSD as a cumulative and evolving method of logical analysis, design and construction.

It is derived from Boolean algebra and set theory. (ok, I am now reliving my schooling days of maths).

SSD asserts

1. Design and coding should not happen separately and must be strictly avoided.

2. Design consists of 2 stages:

a. Hierarchical analysis of a problem is

i. A top-down approach.

ii. Requires successive decomposition of problem into subproblems (processes) derived from set-subset relationship intrinsic in the problem structure.

iii. Continue doing above step until it is no longer possible to subdivide a process.

iv. Each of these smallest sub-division(called functions) is a discrete action.

v. Is systematically implemented to

1) Carefully preserve and demonstrate explicitly all set-subset relationships between functions.

b. Synthesis of a logical process that will provide a correct problem solution. And consists of developing a Structured process that

i. Explicitly organizes functions in one 3 logical control structures

1) Sequence

2) Repetition

3) Alternation

ii. Is a bottom-up process that

1) Starts with desired output and works backward putting together a structured process that provides desired output

To summarize, the complete structured process thus consists of a hierarchical organization of functions linked by one of three logical control structures and, as a whole, represents necessary and sufficient actions required for a specified problem solution.

The final stage of the process is Construction, converting all derived functions in a specified order to statements that a given computer accepts.

To facilitate this hierarchical analysis process, a powerful yet simple notational scheme called the Warnier-Orr diagram was developed.

A simple form of Warnier-Orr diagram would look like this. The best way to read this diagram is from left to right. To the left, you have the biggest picture/problem that you need to solve and then you start decomposing it by moving right and the curly braces is used to group them:

A simple Warnier-Orr diagram telling what happens in a typical weekday and all of its downstream activities

What I have shown above is a very basic level of Warnier-Orr diagram. This diagram also includes various notations as shown in the table below. These notations can be used to depict dependencies and other stuff.

SSD Notations

How can Warnier-Orr diagram help us in Product development?

While working with Product Management, this tool can be used to decompose Features into Epics and User stories. This tool will help us identify the desired relationships between epics. It will also help us identify dependencies and any kind of risks while formulating the requirements.

The usage of Warnier-Orr diagram can be unfathomable. Tools like Miro and mural can help us develop such diagrams with ease.

Another good example of using Warnier-Orr diagram was depicted by Higgins with notations is shown in below picture.


A detailed Warnier-Orr diagram to change flat-tire

SSD and Warnier-Orr diagrams were designed to tackle problems systematically and with an idea that the programmers will get the program right the first time.

Links for you to do further reading:

https://en.wikipedia.org/wiki/Warnier/Orr_diagram

https://r.search.yahoo.com/_ylt=AwrKErUtKP5lCjoel0y7HAx.;_ylu=Y29sbwNzZzMEcG9zAzUEdnRpZAMEc2VjA3Ny/RV=2/RE=1711184046/RO=10/RU=https%3a%2f%2flink.springer.com%2fcontent%2fpdf%2f10.3758%2fBF03207927.pdf/RK=2/RS=oIQv8Euzx925PbmDgEq4cNzfcJQ-



Nandhini Sathyamurthy

Senior Business Analyst | Requirement Gathering | Business Process Optimisation | Facilitation | Agile Methodologies | Stakeholder Management | I help clients succeed by bridging the gap between business and technology

8 个月

Great in-depth analysis of Warnier-Orr diagrams. I've learnt something new today! I particularly liked how you've incorporated an analogy of how this works against a typical weekday. For someone who is new to the concept (like me), this felt like an easy example to connect with! Keep up the writing flair, Vikram. ??

回复
Jim Highsmith

Co-author Agile Manifesto, Agile Pioneer, Writer, Lifetime (agility) Achievement Award (WMAF)

8 个月

Vikram Kanse Warren J. if you want to dig deeper, look at a buddy of mine's website. Dave and I worked together during the structured years with Ken Orr. https://www.davehigginsconsulting.com/ and (from Dave) a website devoted to J.D, Warnier. https://sergemeneut0.wixsite.com/logiqueinformatique

Warren J.

Senior Leader | Program Manager | Release Train Engineer | Business Strategist

8 个月

This is something new to me but would love to dig deaper. I remember talking to you about the problem solving technique that breaks down the issue to the root cause and brainstorm approaches to tackle that. The other side of this is that the initiative is the ultimate result we want to achieve which is then broken to the last unit of work known as a story. While the story remains true to the EPIC, it remains inherently connected to the initiatve via the EPIC and hence the importance of avoiding scope creep. There are many techniques out there. The most important thing to remember is that there's nothing new on earth. Everything is a combination of something else. This is a good piece of work. Keep it up!

Jim Highsmith

Co-author Agile Manifesto, Agile Pioneer, Writer, Lifetime (agility) Achievement Award (WMAF)

8 个月

Vikram Kanse, thanks for your research into Warnier-Orr Diagrams, they were quite useful in the day and SSD was some of the early work in software engineering. In the early 1980's we added a "D" or DSSM (Data Structured Systems Development) to differentiate it from other structured approaches of the time. in the mid-80s we launched a CASE (computer aided software engineering) tool effort that never caught on. I worked with Ken Orr for many years and met Warner once. They were among the early SE pioneers.

Kunwar Soundarya Singh

SAP Data Manager at Deloitte

8 个月

Some insightful information here.. Thank you Vikram!

要查看或添加评论,请登录

社区洞察

其他会员也浏览了