IDEF0 – a neglected but very useful enterprise architecture tool
I have been using IDEF0 for thirty years.?I’ve found it a great way of capturing business function dependencies, and a simple tool to capture the dynamic interrelationship between process and data. ?I’d like to give you an overview of the tool, and then show you an extension I have used in my work.
I’m not going to spend time telling you the story about how IDEF0 came to be.?There is a good Wikipedia entry ( IDEF0 - Wikipedia ) you can go to for that.?You can even go right back and read the now obsolete FIPS publication (Federal Information Processing Standards Publication: integration definition for function modeling (IDEF0) (nist.gov)).??This modelling approach came from the need to map the structure and flow of complex manufacturing systems, which much like enterprises today, are complex business processes with flows of information, control and materials.
There is much formalism in the IDEF0 spec, which is great as it can therefore be used in a formal way when needed.?I tend to use it in a slightly looser way, keeping to the core principles but not worrying too much about the decomposition rules and process numbering.
Let’s discuss some core concepts.
Function
A function is a business process or process area.?It is represented by a box.
At the core of the IDEF are the rules about how lines connect to these process boxes.
The best way to remember this is via the acronym ICOM.
·??????INPUTS???????????????the physical and data inputs to the process
·??????CONTROLS????????data inputs to the process that controls how the process operates.
·??????OUTPUTS???????????the physical and data outputs of the process
·??????MECHANISMS??The people or systems needed by the process
领英推荐
There is one special type of mechanism called a CALL.?These are not used a lot but are for when a process hands off to another process temporarily to complete part of a process.?Remember this came from manufacturing, where this is a thing.?Personally, I rarely use CALLS.
So let’s look at a trivial example, our house’s “cash to food” value chain.
An important difference between this method and a method such as BPMN is that, even when we are modelling the current state, we are looking at the flow of input and control requirements.?Instead of starting at the beginning “Make shopping list”, we start with the end “Eat Meals”, and then work backwards logically from there.?If we want to eat, we have to have something to cook and that comes from cooking, so the upstream process should be “Cook Meals”.?Now, what do we need to have to cook a meal??Where we are dealing with very complex material and informational flows, where the detail can easily swamp us, this helps us orient to an optimal scope for our analysis.
Before proponents of BPMN jump in and tell me that this is also possible with BPMN, I’ll acknowledge that this is, of course, true but what I have observed is that the BPMN methodology, being detailed-oriented like flowcharts, tends to drag the analyst into this detail where they get lost.?IDEF0 on the other hand, like ArchiMate, does not encourage capturing this complexity in the diagram.?In this sense, IDEF0 is more ‘architectural’, in that its very simplicity forces a gestalt mindset, where only relevant information is modelled.
Extensions
Over the years I have developed some extensions to IDEF0 which I have found useful.?One that I want to share with you is colour-coding the type of flow.?I use black for information, blue for physical goods and red for money.?The last one has been useful in my work in banking and finance.
I’d encourage you to try out this old but very useful modelling technique.?If you do, please let me know you useful you found it.?If you have used IDEF0 in the past and moved away from it, what were the reasons?
Business Architect at BAE Systems Applied Intelligence
8 个月Great article! Agree! Its very useful in 'implicit' modelling; captures the functions and many domain elements in an easy fashion, and with calls and FEOs allows you to easily integrate with / acts as a framework for other notations. 'Explict' notations like UML, Sysml, BPMN are great, and can the same job at a push, but don't replace IDEF0 (all compliment) in my humble oppinion!
--
1 年Duncan, I could not agree more! I have been working with IDEF0 since the late 1990s when we were still doing business process re-engineering ?? Today, I am still promoting its use as a powerful tool for modelling and analyzing complete value chains (as defined by Porter) in order to understand dependencies between functions (where do the procedures entering as Controls get produced? Who produces them? etc.), to identify, quantify and justify resource costs (activity-based costing) and to identify the “weak links” in current business/mission processes (where are errors introduced, delays incurred etc. and why). It serves the Internal Business Processes perspective of the balanced scorecard very well. Done properly, IDEF0 models focus on the genuine interdependencies between the functions to be performed, leaving open the options for sequencing their performance, automation of sequences of functions etc. I am frustrated that a number of otherwise great tools no longer support IDEF0 at all, let alone as an integrated “view” of the underlying architectural data. UML and SysML are great, and BPMN has its place, but IDEF0 is a unique language that serves an important need. I would love to see it make a “comeback.” Scott
Program/Project Manager | ISC2 CC | PRINCE 2 Practitioner | Professional SCRUM Master
3 年Thanks Duncan. Could be a good time in my current project to consider ths approach. P.S - I am disappionted that your cook meals flow is so gender baised though - Dads cook meals too :-)