Tag Archives: Information Systems

Applying the Science Process to Process Change (see Recursion)

Now that we’ve established that very few people who work in “IT” have anything to do with technology, except as a tool, and that “computer science” isn’t about computers, we’re back at the original reason I began to write a book. I was once an ‘Information Systems Engineer’ and wasn’t very sure what any of those words meant, particularly “information”.

Software development teams often see their role as solving their customer’s problems. Software package providers say they are “solution providers”. What does the ‘unspeakable profession’ actually do? We got some clues from Hal Abelson in the video I linked to in my last post, that new areas of intellectual endeavour often confuse the ‘essence’ of their subject with their tools; so do we really engineer software?

Hal said that writing software is the process (or function) of formalising our intuitions about process (function.) Our software is a speculative formal abstraction of our intuitive understanding of a process we may not entirely understand. No wonder software projects so often fail. Like the rest of science, software is built on ideas that haven’t been proved wrong yet.

Software developers are presented with, or attempt to discover, experts’ (declarative) knowledge of the business process in the ‘domain’ we are about to change. This is ‘the abstract requirements’. Some of this may have to be implied from imperative knowledge embedded in existing software. It may be presented as imperative solutions. It may be incomplete.

We then follow our own process (function) for: ‘the way we do software’, in order to design a new process, some of which is also likely to be have to be embedded in software. Applying functions to change functions? That’s what functional programming does, isn’t it?

I believe that the ‘stuff’ of ‘computer science’, is state-change of systems of process and data. Who remembers ‘Data Processing’? Functional programming points out that the processes themselves are data and dynamic state-change is unpredictable and therefore dangerous.

Engineering would apply ‘project thinking’ to this unstable, poorly defined change. I may once have tried to be an information systems engineer but I saw that it didn’t work and took a 20 year break from software development.

Agile frameworks recognise such changes as risky experiments and carefully apply the scientific method, incrementally with feedback loops, to check assumptions.

We may need to return another time to see what functional programming has to say about 2 projects making concurrent changes from the same initial state. Until then, good luck with those.

The British Computing Society

I just engaged in a debate about the BCS on LinkedIn . Yes, THAT again: https://andywootton.wordpress.com/2013/11/08/is-it-whats-in-a-name/

Officially, the three letters B, C and S, don’t stand for anything. They used to mean British Computer Society and that is what it still says on the Royal Charter that bestows upon the BCS the royal privilege of awarding Chartered status to members. I’ve suggested we get out the correcting fluid (or an appropriately skilled scribe) and change the middle word to “Computing”.

In his famous book title, Niklaus Wirth said, “Algorithms + Data Structures = Programs”
https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs

My suggestion was that ‘Computing + Information = what BCS members do’

Look what Wiki-P says about the word “computing”: https://en.wikipedia.org/wiki/Computing

“Computing is any goal-oriented activity requiring, benefiting from, or creating algorithmic processes—e.g. through computers. Computing includes designing, developing and building hardware and software systems; processing, structuring, and managing various kinds of information; doing scientific research on and with computers; making computer systems behave intelligently; and creating and using communications and entertainment media. The field of computing includes computer engineering, software engineering, computer science, information systems, and information technology.”

At the moment, the ambitions of BCS Council only extend as far as the ‘IT’, which comes last in the list. Some of us “software engineers, computer scientists and information systems” people feel we are not being adequately represented. I promise I didn’t change Wikipedia to prove my case.

There aren’t many things in informatics (the Anglicised version of what the rest of Europe call ‘computing + information’) that can’t be represented by a ‘directed graph’.
https://en.wikipedia.org/wiki/Directed_graph#/media/File:Directed.svg

The ‘blobs’ normally show the ‘processes’ where the computing happens (people or machines) or ‘information at rest’, typically with a different colour or blob-shape. The ‘arcs’ or ‘edges’ typically show potential ‘flows of information’ or ‘control’. It is an unfortunate coincidence that the directed graph example I found shows us going around in circles.

IS, IT, What’s in a Name?

I’m a Member of the British Computer Society. In order to be granted a Royal Charter to take its place alongside all the old professional engineering institutions, the BCS needed to decide its members were going to be Chartered something Engineers.

There was a big debate. The obvious choice was “IT Engineer” but that proved unpopular with members. Some felt it sounded like the bloke who comes to fix your photocopier and some people didn’t really see themselves as technologists. They were more interested in things like business processes or theoretical data models. The outcome was that BCS Members who also passed the entry requirements of the Engineering Council got to call themselves Chartered Information Systems Engineers. I was one of those people.

Now, I may have stopped watching for a while because the next thing I knew, MBCS who weren’t also Engineers were going to become Chartered too. Clearly they needed a different title. Maybe I was busy that year but suddenly I wasn’t a CISE any more – I’d been B.O.G.O.F.ed. My CISE got swapped for a CITP and a C.Eng. Yo!

Hang on!… a C IT P? Yes, a “Chartered IT Practitioner”. But I thought we all decided we didn’t want to be called “IT”.
‘Well, yep,  you did, but Marketing has tested it with focus groups and it has poor public recognition. They don’t know what “IS” is. They want to call us “IT”.’

Well, that’s All Very Well BUT “The Public” are totally devoid of clue. If they don’t know, it’s because Marketing have failed to explain it to them properly and by now they probably have a PC at home and might actually be interested in listening. If we could have explained the difference between a system and the technology it runs on then maybe people wouldn’t have gone out and bought a Linux netbook and had to take it back because it didn’t have Microsoft Word on “and the kids need that for school” – because the government don’t understand either!

I was working in an “Information Systems” department so, obviously, it needed to be restructured about every 18 months.
Clearly this is dangerous so you don’t want anyone internal to do it, in case it all goes wrong. Instead, you get in a consultancy to tell you whatever they are telling everyone else at the moment, until they either run out of customers and have to have a new idea, or everyone finds out what a really bad idea it is. They are VERY good at moving on just before that happens though. It is their second core skill, right behind ‘recycling old ideas with new names’. (I know this doesn’t sound likely to be true but we found the slide pack on the Interwebs with only the logo changed.)

This time The Plan was to split “IS” into Demand (analysis), Domain (development) & Delivery (operations).
Names in parenthesis are the names from the 1990 restructure, for reference and because they make more sense.

Then you simply rename the department to “IT” to show it’s all shiny and new.

Stage 2: Outsource Delivery – with all the hardware and communications technology
Stage 3: Outsource Domain – with all the software and database technology

Leaving: an “IT” department that has no “technology” and very few people who know anything about “technology” but is the customer for all the “Information Systems”. You know IT makes sense.