What is complex in SW development

Thursday, May 12, 2005 Posted by Cecilia Loureiro-Koechlin
I found this definition of complex in the dictionary: " ...having parts so interconnected as to make the whole perplexing." Complex is related to complicated, which "stresses elaborate relationship of parts." Anyway, for me, a situation (a problem, a business setting, users, etc.) is complex (in the context of software development) when it is not that clear to the developers' eyes and when it cannot be modeled and transformed into unambiguous programming code. There are many things that can make a business situation complex for developers, and I am of the opinion that most of these things are human and social in nature. The technical aspects of businesses are in a way less complex as there is help from formal methods (e.g. software engineering) that have been proved in the field many times.

So, what are the things that make developers rant? Well, I have a short list of things may be familiar to you:

- Excessive and unnecessary control of information. As developers we build a mental picture of the business processes the software is going to serve. This picture is often different from the one users who like to control everything have. For developers that extra control is not part of the "real process" and only adds more complexity to it.
- Users working in different ways and expecting different things from the same system.
- In social processes many outputs can come from one input.
- Free social interactions, users who do not follow formal procedures but who use their brain to decide what to do on each situation.
- Covert channels, informal activities --> things that users do in real life but which are very different from what's in business documentation (i.e. business rules)

I am not saying that if we changed these things, organisations will be clearer to developers' eyes (mmmh, possibly but that isn't my point). I think that there are reasons for them to exist, otherwise the organisations themselves wouldn't exist. What I am saying is that we need to find a way to deal with complexity in organisations, and so far, we are not doing that well.

Post a Comment