Monthly Archives: June 2016
you need a domain expert to understand a situation.
A major theme of Software for Domain Experts is that you need a domain expert to understand a situation.
That is perhaps a definition of an expert – someone who understands a situation, the cause and effect (what leads to what) and how to influence the cause to get the effect you want.
Gaining expertise is something anybody can do – and most of us do become experts at something. Not many things, because the effort and mental energy required to understand a domain is enormous.
Going along with this is the idea that expertise needs to be valued – those of us who use the services of experts need to be willing to make sure that the right expert is in the right position.
A glorious subtext here is that an expert doesn’t need to dress themselves up in grand titles or overcome any prejudice to be recognised – if society needs an expert, the expert can be from any group, any age, any sex, any disability doesn’t matter (except certain mental disabilities which mean you can’t understand a situation..!)
In the past, we would have done this without thinking – if you want shoes mended you find the person who knows how to mend shoes, whose father knew how to mend shoes, and passed generations of knowledge onto him (or her). It doesn’t happen like that today, but it probably should.
How does software best support governance?
Here’s an interesting question – what kind of software can best support the individuals who have to make governance decisions – ie our politicians, council leaders?
How do you set about answering such a question?
There are a lot of reports studied about all kinds of issues of policy. Senior politicians probably don’t get time to read them much. They need to be written well – not biased, offering useful conclusions, presented in a concise manner.
There are probably useful ‘indicators’ for our leaders, although perhaps they don’t need to be checked more than once a day or once a month. Unemployment / job creation, balance of payments, poll readings, this sort of thing.
Perhaps most of all, our leaders need skills in understanding situations. Our schools don’t teach this formally. Yet many of us manage to learn how to do it, through situations at school not linked to formal teaching and anything else in life.
Perhaps what senior politicians need to be able to do most of all is spot an expert – and put people in the various roles who do know how to use expertise – and perhaps the best way to get there, is to have been an expert yourself.
Business process management and SFDE
Business process management is a mature subject – many clever people have thought about it, developed consultancies around it, written books on it, implemented ‘business process management’ projects.
But the software for BPM – as far as we have seen – is usually pretty rigid.
Most BPM software projects are built around a relational database – with logic added on top of that. They try to understand the world by connecting relational databases together.
Or to put it more precisely – the relational databases create a model of how an element of business could work, and the people have to fit with that. So we have our realms of customers, products, purchase orders and invoices, all in interlocking relational databases.
We’d like to suggest a way to take BPM software a few steps forward, and take the relational databases out of the equation. You can have a database but it doesn’t need to be a central part of the software.
The central part of the software can be the “logic” – what leads to what.
Traditional BPM software can be used by people in companies who have very structured work – for example the receptionist in a hotel, the maintenance planner working to a schedule, the airline checkin agent, it is a pretty short list really.
But everyone else in a company has a “business process” which means using their expertise and understanding of a situation to make good decisions – people in investment, marketing, recruitment, valuations, to name a few.
A different approach to software needs to be developed for their business processes.
This is what we try to do here.
Transport for London’s bus website
Transport for London has just stopped providing its simple bus mobile app which told you when the bus is about to come – and forced everyone to try to work with a much more complex one.
In the words of one commenter on an online website run by Transport for London, the new website “needs 6 stylesheets for the main page (2200 lines of HTML code), 21 external javascripts (some fairly hefty), 18 images and 3 fonts (?!). I stopped counting there because there are also numerous frames with their own javascript, images etc…”
“The old page that loaded in no time has 100 lines of HTML code, 3 external javascripts and two lightweight images built for mobiles” – he wrote. See the discussion here.
What is going on? I can understand why in some sectors of the software industry there is a bias for complexity – it is perhaps much easier to sell complex software than simple software. There are some examples of people who managed to sell simple software and electronic products – the iPod comes to mind – but not so many.
Transport for London is not selling software itself, perhaps it is employing an expensive external software company which wants to build something fancy to justify a large bill?
Or perhaps this is just that software programmers feel that they are somehow ‘doing more’ if they build something fancy and complex – rather than something which does the job as perfectly as possible?
We don’t know anything much
It is conventional for people writing blogs or books, or asking for people to listen to them, to try to make out how much they know.
I know this, I’ve learned this, so listen to me. It makes sense, who would want to listen to someone who doesn’t know very much.
But that goes a bit against the culture we are trying to develop here.
We say – the world revolves (or should revolve) around people who understand specific domains, who spend their lives trying to understand them better. If you need someone who understands the domain, you find this person.
As the author of this blog, I can say I understand very few domains well. Piano playing in a certain style. How to run a certain sort of micro media company. The oil and gas industry a little. And this approach we call ‘Software for Domain Experts’ – where we touch on many domains we know very little about.
is that a quandary – how do we get people to read a blog when we can’t convince anyone we know much about what we’re talking about?
Or is this refreshing?
The link between populism and software for domain experts
The big theme of politics in the EU and US at the moment is populism – which basically means, we don’t trust the people who lead us – and we’re looking for a leader which seems to think more like we do – and we’re feeling pretty defensive and angry. So we vote for Donald Trump or to turn our back on the EU.
Why don’t we trust the people who govern us? Because we don’t think our society works. People can’t find jobs, people have less money than they used to, elements of our society seem less reliable than we would like – including whether our children will be able to find jobs.
These are precisely the kind of problems which Software for Domain Experts attacks. We provide a toolkit to show how software can be built which helps the relevant experts to make better decisions, have a better understanding of the world around them, and continually learn.