Monthly Archives: January 2016

This is all about reducing software costs

All of our discussion here is really about working out how to reduce the costs of providing software for expert / professional users.

There are no techologically original ideas here, in that an expert user with unlimited budget can have whatever software they want and always has been able to. There probably are examples of this – perhaps in the security services or with Arab sheikhs. Another example is the company CEO who can get any computer problem fixed within seconds, perhaps with the company CIO personally coming into his office to set up a disk scan because his computer is running slow.

But everybody else has difficulties.

There’s also enormous amounts of effort going on to cover the gap between what people expect for the money they are paying and what the software industry is capable of delivering – so we end up with software companies developing fairly simple database applications and marketing them as ‘solutions’ (ie something which solves a big problem).

Nobody talks about this friction for some reason – perhaps there’s a secret (and unconscious) code of software journalists and programmers (which I may have been part of myself) that software should never be criticised, the price should never be mentioned. Technologists like software products which promise to change the earth and expect the industry to provide them.

Elon Musk understood this when he launched his ‘Powerwall battery’ in May 2015. As far as I understand, it is just a battery and some cabling, and the batteries are mass produced in China. It was presented as revolutionising the home energy industry and the company took a year’s advance orders for it.

So there may be an argument that this is old technology dressed up as something new, to meet technology enthusiasts endless hunger for something which will change the world.

Perhaps technology companies would be better off working on a more humble question – how do we develop software which can better meet the demands of expert users at lower cost – including the cost of service and customisation?


India’s “Smart Cities” – where could better Software for Domain Experts help?

India has a very interesting initiative to develop ‘smart cities’ with $15bn funding released.


The core elements are Adequate water supply; Assured electricity supply; Sanitation, including solid waste management; Efficient urban mobility and public transport; Affordable housing (especially for the poor); Robust IT connectivity and digitization; Good governance (especially e-governance and citizen participation); Sustainable environment; Safety and security of citizens (particularly women, children and the elderly); Health; Education


Let’s try and understand this better from a ‘Software for Domain Experts’ perspective.


The task of maintaining an adequate water supply could benefit from better software – understanding the condition of the water delivery assets (pipelines, pumps, reservoirs), understanding water supply and demand, managing maintenance and workforce. A lot of expert judgement is required in all of this and better software can help.


The ‘assured electricity supply’ is also an area software could help. There are long term supply issues (modelling demand and making sure production capacity is being developed), a challenge of building and maintaining a network (balancing limited budget with demands), and short term issues of matching supply and demand to avoid blackouts.


For ‘sanitation and solid waste management’ – there is the task of allocating budget to sewer construction, designing them and managing this process; and also monirtoring the condition of the infrastructure – for solid waste a service can be continually improved, with more trucks operating efficientyly with trained staff.


Coming onto urban mobility, this is a tough one for software to solve. Software can map traffic in real time, traffic simulation software can model what the traffic flows would be like with a certain change. This is perhaps more one for political judgement.


Affordable housing: it is tough to see where software could contribute to this. If a city has a budget and various sites, perhaps the software could automatically work out the right sites to spend the money on new housing. But it seems more likely that so much deep local knowledge would be required, the software wouldn’t be much use.


Robust IT connectivity: this sounds more like allocating government budgets to building and maintaining IT systems where private compnaies haven’t done it, or trying to create incentives for private companies to fill in the gaps? The software can identify areas of poor connectivity probbaly.


Good governance: this does not have much to do with software. Software is not very good at determining who is governing well and who isn’t.


Sustainable environment: this concept is extremely broad. It could mean CO2 emissions from vehicles and buildings, particulate matter, waste recycling. Within these there are conflicting objectives (diesel cars have higher particulates and lower CO2). If this could be broken down into specific subjects maybe software could help with one.


Safety and security of citizens: also tough to see how software could help. It could track reported acts of violence. Policing software can do various things (like maintain a database of criminals).


Health: software could track many aspects of health management and provide a very useful function into what is working and what isn’t. Money is spent, results are achieved (or aren’t achieved). Other tasks can be made like recruit doctors or do training.


Education: software can track education if there are specific objectives to be met. For example you can see what the test scores are in a certain region, if those are your objectives. You could track employer satisfaction levels. Although I am not sure software for managing education is a good idea.

The weakness of ERP and CRM

For many people, ‘Enterprise Resource Planning’ software is the perfect ‘software for domain experts’ – since it can be used to plan and manage a wide variety of activities.

The limitation is activities which are not process based and require expert judgement.

Ie, activities which need more than “collecting, storing, managing and interpreting data”.

An ERP system will help you track business resources, where your business transactions are (purchase orders), your payroll.

Typical modules can be accounting, HR, managing manufacturing processes, order processing, supply chain management.

This only works for aspects of business which are processes. Plenty of business isn’t.

A customer relationship management system – which is similar in design – basically a database of customers, and a system to analyse the data.

It can gather data from all the different channels customers use, and then be used to put together marketing and sales plans.

But this only works to the extent that customers’ relationships can be managed, and if this is useful. For example, if you work for a music company, your success depends on getting the music (and everything associated with it, ie the people) into the market, which an audience wants to build a relationship with – you end up with Adele or Taylor Swift. This is a task requiring enormous expertise, and not something a computer could help you with.

How would water management ‘Software for Domain Experts’ work?

Here are some ideas from an IBM 2014 White Paper “Employing integrated operations for water resources management“.

Water management is a vast policy area, including managing (drinking) water quality, avoiding floods, managing underlying water infrastructure, managing overall water supply and demand, and managing the workforce which does all of the work. There may be emergency response required if there is any immediate hazard.

In particular the water supply needs to be managed – should it be diverted through hydroelectric schemes, used for agricultural irrigation, or made available for domestic or industrial consumption?

All of these systems are complex and interdependent, with many different vendors, regulators and research organisations involved, and many assets owned by different entities. There may be software systems and data, for example from sensors, going into differnet systems.

There may be large government investments required in reservoirs, tunnels and dams.

As a starting point, experts need to have a ‘single operating picture’ for the water system – showing the current risk of floods, drought, and water quality, shared between whoever needs it.

Using this ‘single operating picture’ data, experts should be able to work together with others, monitor what is happening, do modelling and simulation, and optimise operation of assets, such as pumps.

In one example, the Netherlands National Water Authority “Rijkswaterstaat” implemented a “digital delta” program, aiming to integrate data from a range of different sources, make forecasting models, do analytics and build visualisations, all aimed to help experts anticipate problems in real time.

In another example, the City of Bangalore Water Supply and Sewarage Board (BWSSB) worked with IBM do build an ‘operational dashboard’ as a command centre for monitoring, administering and managing water supply networks. It installed instrumentation in the distribution network, so it could see how water was flowing through the systems. By using ‘big data’ analytics, it could be better manage the water distribution, including modifying control valve settings remotely.

Forrester – developments with BPM platforms

Forrester has published a report “BPM Platforms for Digital Business” which covers many of our ‘Software for Domain Experts’ themes – you can download it here (registration required).


Forrester thinks Pegasystems, Appian and IBM are best, followed by Software AG, Oracle, Newgen Software, OpenText, Bizagi, K2 and DST Systems, followed by Red Hat and TIBCO in level 3.


It says “when asked, most enterprise architects will share that the people and process dimensions of digital business are the most difficult to transform”.

So coming onto our arguments, we think the software should be designed principally to serve people, enterprise architects see people as one of 100 things they need to get right and get annoyed when the people part of it doesn’t work.

It says ” many companies are dumping traditional process methods — including process modeling and Six Sigma techniques — in favor of design thinking and lean experimentation techniques that support rapid delivery”.

I think “design thinking” basically means looking at something from the perspective of people who use it, so that sounds quite close to what we have been talking about.

It says ” BPM platforms must support different work patterns, including casework, heads-down processing, customer collaboration, straight-through processing, and procedural work. And in some cases, the platforms must support all of these work styles across a single end-to-end process”

So that’s about moving beyond software = filling in forms.

Forrester is also assessing the tools on the basis of their ‘low code toolset’.

It thinks Appian, IBM and Pegasystems have the best broad support for “digital scenarios”  ie they can be used in many different ways, including on mobile phones.

Bizagi, DST Systems, K2 and Newgen software are best for fast development (low code etc).

OpenText, Oracle and Software AG have a broad range of software available for companies, including analytics and master data management.

Red Hat and TIBCO are best for systems which integrate with other software.