Monthly Archives: August 2012

Getting back to the sharp end

The nature of careers is often that, as you get older, you spend more time managing, negotiating and facilitating rather than actually doing software engineering. I’m no exception to this and I haven’t had operational involvement in a significant systems project for quite some time. However, I’ve now had the opportunity of getting involved again in some real systems requirements engineering.

I’ve been asked to lead a group looking at the architectural requirements for a replacement system for Glow – a system that’s supposed to support collaborative learning and resource sharing in all Scottish schools. The Glow system does not have a great reputation amongst teachers and we hope that the replacement system will be more acceptable and better suited to what they need.

I’m at the stage at the beginning of the project where I’m overwhelmed by the complexity of the problem and it’ll take a bit of time to work through this and get started.  As always, the real problems with this system are not technical but are political  – senior politicians will have egg on their face if this goes wrong and the governance of the system is split between a number of different bodies. There’s a very wide variety of stakeholders and many, maybe most users, frankly, couldn’t care less if the system is replaced or not.

Luckily, this has come up at a time when I’ve just finished a major job and hadn’t yet started anything else so I will be able to give it some time. We have a group of motivated and enthusiastic teachers involved and at least one very articulate student user. This is a major challenge but I’m very excited by the prospect of getting back to the sharp end and doing some practical engineering.

So, when it comes to the next edition of Software Engineering,  expect a new case study on IT systems for education.


Filed under Uncategorized

Is it possible to validate LSCITS research?

For the past 5 years or so, I’ve been working on a UK research programme of research and education into large-scale complex IT systems (LSCITS). This has involved partners in other universities and industry. Overall, I think we’ve done a good job with lots of interesting research results. Thanks to the flexibility of EPSRC funding, we’ve been able to be responsive to new development that weren’t anticipated when we put the proposal together such as social networking and cloud computing.

You can see a list of what we’ve produced at the LSCITS web site.

So, academically all is well. Lots of publications, students have received PhDs and staff have been promoted. We’ve ran successful workshops and achieved our aim of creating an LSCITS community.

Yet, in spite of this, I am left with a feeling of unease. So far, very few of our results have had any impact on practice. This is not, in itself, a problem as it takes a while after a project finishes before the results can have an impact. But, if and when they are used, how will we know how good they are? I feel uneasy because, frankly, even with commitment and support from industrial users, I have no idea how we can assess the value of our work for improving real large-scale systems engineering practice.

Let us assume that some company or collaboration decides to take some of our ideas on board – let’s say those on socio-technical analysis.  They apply these on a project and eventually go on to create a system that the stakeholders are happy with. Does this mean our ideas have helped? Or, if the project is deemed to be a failure, does this mean that our ideas don’t work?

The problem with large-scale systems is just that – they are large-scale and their size means that there are lots of factors that can affect the success or otherwise of development projects. These factors are present in all projects but the influence of particular factors varies significantly – for example, real-time response is a key success factor in some systems but less important in others. Not only do we not know in advance which factors are likely to be significant, but we don’t really maintain enough information from previous projects even to hazard a guess.  We don’t understand how these factors relate to each other so we don’t know the consequences of changing one or more of them.

So, is it impossible to validate if LSCITS research makes a difference? If so, what is the purpose of doing that research? My answer to the first question is that I think it is practically if not theoretically impossible; the second, I’ll make the topic of another blog post.


Filed under LSCITS, research