Theprocessandblueprintinanutshell 1675882372879
Theprocessandblueprintinanutshell 1675882372879
An introduction
to the universal process
and blueprint for the design
of software applications
Craig Errey
ii
Copyright
All rights reserved. This book or any portion thereof may not be reproduced or used in any manner
whatsoever without the express written permission of the copyright holder except for the use of brief
quotations in a book review.
Front cover image: The Sea Cliff Bridge, By Silas Baisch, https://unsplash.com/photos/-3vU48G830k
Sydney, Australia
www.solvegroup.com.au
iii
About the author
The first thing you need to know about Craig is that he’s an organisational psychologist. Yep, you
read that right.
Now, you’re probably wondering: “What on earth would a psych know about software engineering?”
Frankly, nothing – if you think that software engineering is primarily concerned with planning and
writing code.
But it’s not. It’s about people, first and foremost. It’s about designing tools to help people get things
done. It’s about amplifying human capability, ingenuity and creativity. And that has to start with
understanding people, how they think, how they work, what helps them be their best, and what
doesn’t. That’s something that Craig, as a psychologist, knows quite a lot about.
One of Craig’s key strengths is quickly figuring out the root cause of problems in how people go about
their work. So, when Craig talks about ‘requirements’, he’s actually talking about work requirements,
not software requirements – those come later.
For nearly 30 years, Craig has worked on requirements and UI design for many of the largest
organisations in Australia including Commonwealth Bank, Telstra, and the NSW government. These
apps are used by millions of people, both staff and customers, every day. He’s seen a lot of IT people
struggle to deliver the best they can with what they know and the very little they’re given.
The journey to CoreX started around 20 years ago, but it was only in the last few years that he truly
understood the root cause of the stubbornly low success rate of enterprise apps. And it wasn’t a
people problem. Like almost any other work-related problem, it was the environment they’re in, and
tools they use, that made it hard to be successful.
Having great processes and great tools allows people to do great things – and through CoreX, that’s
Craig’s focus. CoreX is about lifting everyone in IT so they can all design brilliant applications that
make a positive difference to the working lives of people.
Craig reckons that when you spend half your waking life at work, you’d really want to be doing your
best whether you’re making the tools or using the tools.
Having also been involved in many IT projects over the years, with far too many of them not working
out as expected, I’ve never seen anything quite like CoreX. I hope you find it as compelling as I do.
Eric Imbs, Sydney, 2021
iv
Table of contents
1 CoreX in a nutshell ..................................................................................................................... 1
2 CoreX solves the requirements problem .................................................................................... 2
3 The CoreX process: Requirements gathering, Visual requirements modelling, UI design ........ 4
4 CoreX starts with work requirements ......................................................................................... 4
5 The fundamental elements of software applications .................................................................. 6
6 The five requirements models, with four being visual ................................................................ 6
The domain model ........................................................................................................... 7
The workflow model ......................................................................................................... 7
The entity model............................................................................................................... 8
Business rules model ....................................................................................................... 9
Conceptual user interface design .................................................................................. 10
7 Connecting requirements gathering to requirements models to the UI and to development ... 11
8 Key principles in CoreX ............................................................................................................ 12
Key principle 1: Define the problem to be solved before designing the solution ........... 12
Key principle 2: Human-centred design is not about giving people what they say they
want ................................................................................................................................ 12
Key principle 3: Start with the future state, rather than the current state, to stop legacy
thinking ........................................................................................................................... 13
Key principle 4: Non-functional requirements must be converted to functional
requirements .................................................................................................................. 13
9 Key techniques in CoreX .......................................................................................................... 13
Key technique 1: Progressive decomposition with numerical constraints ..................... 13
Key technique 2: Near total separation of concerns across the models........................ 13
Key technique 3: Co-design with preparation ................................................................ 14
Key technique 4: Create the requirements models in two phases: conceptual then
detailed ........................................................................................................................... 14
10 Using CoreX ............................................................................................................................. 15
Real digital transformation: connect your application to change and strategy .............. 15
Buy or build? Actually, you can leave your options open .............................................. 15
Combine the best of Agile and Waterfall to build enterprise applications...................... 16
11 Who is CoreX for? .................................................................................................................... 16
v
CoreX: An introduction to the universal process and blueprint for the design of software applications
1 CoreX in a nutshell
CoreX is the universal process and blueprint for the design of software applications. It is to software
engineering what architecture is to civil engineering. It creates a simple, precise, and shared
understanding between business and IT. It completely replaces ambiguous and incomplete written
requirements with a precise and comprehensive set of visual models to specify the work requirements
for the application that combine the typically separate business, user, functional and non-functional
requirements.
There are three steps in CoreX: Requirements gathering, Visual requirements modelling, and User
interface design. Requirements gathering defines the organisational and work performance problems
to solve. Job analysis and design (JAD), from organisational psychology, is the primary method to
define the work people need to do with the app. This step collects all the information necessary to
create the visual requirements models.
Visual requirements modelling defines the solution to the work performance problems through the
design and behaviour of the application. This step converts the written requirements into a set of five
visual models by extracting the nouns, adjectives, verbs and adverbs from JAD. The five models are
the domain model, workflow model, entity model, business rules model and the conceptual user
interface design and collectively represent the work requirements.
The final step, user interface design, extends the conceptual UI design created during requirements
modelling to complete the design blueprint for the application. The user interface presents the nouns,
adjectives, verbs and adverbs according to the capabilities of the target platform to support people
getting their job done. A classic GUI uses the noun-verb approach, while speech and similar
command-first UIs use a verb-noun approach. CoreX can be used with any interface type including
speech, touch, interactive voice response (IVR) and classic graphical user interfaces (GUIs).
CoreX works whether you buy or build, and you can use it with Agile, DevOps, or any other
development methodology, platform, technology or framework. Keep the CoreX visual models at the
business level to test the market for both buy and build solutions. If you decide to build, continue the
progressive decomposition using the models as the framework for detailed technical software
requirements. Then in development, the nouns and adjectives correspond to the database, while the
verbs and adverbs correspond to the functionality and code of the application. The business rules
mediate the relationship between data, functionality, and the user interface. CoreX creates a clear line
of sight between requirements, visual modelling, user interface design and development.
Another 22 percent of projects fail and are scrapped. The remaining 49 percent are late and over
budget, iteratively and slowly lurching their way towards the original goal. The result is an
astronomical accumulation of technical debt from:
• wasted time and rework
• endless variations and enhancements
• huge cost blow-outs
• loss of productivity from a poor user experience
• and scrapped software.
Can you imagine if buildings, tunnels, vehicles, chemical plants, or electronic devices had the same
low success rate?
Software is at the core of operations for just about every business, but it’s not having the business
improvement impact it should and people’s work performance isn’t getting better. And most apps will
struggle to ever pay themselves back.
The 2020 forecast in IT expenditure for enterprise software and IT services 2 means that the global
cost of the IT failure rate is $275 billion of projects scrapped and $690 billion being late and over
budget. That’s a minimum technical debt, every year, of $275 billion, and probably at least $600 billion
if we then include half of the challenged amount!
1
https://www.standishgroup.com
2
https://www.gartner.com
In the absence of a blueprint, we only have written requirements to rely on to describe the apps we
need. Written requirements are inherently ambiguous, incomplete and open to interpretation.
Would you ever describe a new skyscraper, compound, engine or device in words, without a complete
and accurate visual blueprint? Never! And no-one ever said a thousand words is better than a picture.
Yet businesses continue to commission multi-million-dollar enterprise applications, critical to their
operations, without such a blueprint. 61% of respondents to a survey on requirements methods
reported using natural language to express requirements3.
That low success rate is simply unacceptable in any other engineering discipline. This is what we call
the requirements problem, otherwise known as, ‘That's not what I asked for’.
3
Kassab, M., Neill, C. & Laplante, P. State of practice in requirements engineering: contemporary data. Innovations Syst Softw
Eng 10, 235–241 (2014). https://doi.org/10.1007/s11334-014-0232-4
There are three main steps in CoreX that create the design blueprint for software applications:
1. Requirements gathering focuses primarily on understanding the performance problem to
be solved in the workplace, and the best ways to solve it, including supporting change
management initiatives
2. Visual requirements modelling converts the written requirements information into a set of
visual requirements models to clearly and unambiguously specify the application’s design
and behaviour to solve the problem.
3. User interface design completes design blueprint for the application by designing all user
interfaces for the application.
CoreX is a fusion of many different ideas, principles and techniques from psychology, software
engineering, UI design and other related disciplines. It completely replaces the need for written
requirements with rapidly created visual models based on job analysis and design from organisational
psychology. Let’s go into the fundamentals of how CoreX works, starting with the new concept of
work requirements.
4
Muchinsky, Paul M. Psychology Applied to Work: An Introduction to Industrial and Organizational Psychology. 8th Edition.
Belmont, CA: Thomson/Wadsworth, 2006
5
Conte, J. M. and Landy, F. Work in the 21st Century: An Introduction to Industrial and Organizational Psychology, 6th Edition.
New York : Wiley, 2018
6
Software Requirements (Developer Best Practices) 3rd Ed. Wiegers, K. E., Beatty, J. (2013). Microsoft Press. (chapter 1)
7
https://www.omg.org/spec/UML/
8
https://www.omg.org/spec/BPMN/
9
https://en.wikipedia.org/wiki/Object-role_modeling
10
https://www.omg.org/spec/UML/
11
https://www.omg.org/spec/BPMN/
In this diagram:
• The noun and adjectives from the written requirements are represented in the entity model
(blue lines). They are then presented in the graphical user interface as tables of data, or
forms showing a single instance of a record (red lines).
• The verbs and adverbs (green lines), paired with nouns and adjectives are represented in the
workflow model. They are presented in GUI as buttons, links and other command widgets.
12
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
During the workshop, you can use your models to stimulate engagement if the process stalls, or to
use them as a comparison if the group comes up with something different. Because it’s sometimes
hard for people to imagine a different way of doing things when they’ve done it for so long, the
alternative approach can be compared directly with what they modelled. Your model may be adopted,
or a hybrid, or even something altogether different. If the models are substantially the same, and you
didn’t unduly influence the group, then there’s increased confidence that the workshop models are
valid and reliable.
Because co-design is fast, visual and work relevant, people can participate with confidence. They’ll all
have the same shared understanding because they’re all looking at the same visual models rather
than interpreting the written words. That is, one entity is connected to the next in exactly the manner
shown, and not in a different way. Specific tasks are sequenced in the exact order shown, not some
other tasks or order. The UI is laid out exactly as shown, buttons and fields aren’t imagined to be
somewhere else.