Monday, December 18, 2006

The 'T' in 'IT' is the worst thing ...

...that happened to 'IT' in the last decade.


Once upon a time...
the craft of software development was performed under the umbrella of data processing and those performing the tasks had titles like programmer, designer, analyst or something along that line. Some of them even came from "computer sciences" or "informatics" but: all of them acted on data or information.


Nowadays - I'd say since the late nineties of the last century - there seems to be a clear line between "business" on one side and "IT" on the other. That wouldn't need to be too bad, but since the "T" in "IT" stand for "Technology" it is.


The "Technology*" metaphor affects both sides. Developers, projects managers and even (software) analysts and designers just take the input - be it concepts or orders or functional descriptions - and try to implement it (or design the system) as good as they can. Business analysts - or who ever describes the content of the project - concentrate on their part of the story and ignore any technical implications.


Sounds fine - doesn't it?


Unfortunately it does! But this seemingly sound separation of concerns is in fact one of the main reasons for time-and-budget overruns, immense time to market durations and similar problems (aka "the new software crisis").


Lets have a slightly closer look at the problems arising from that separation.


Technology & method savvy people get confined to the "techno-space"


Putting all those people with systems design education and experience on the technological side of the imaginary "IT fence" leaves no-one with up-to-date knowledge on the business side of that "IT fence". Of course some business analyst are happily nudging away on the business side of the fence, but they are clearly in the minority.


Most businesses are un-precise by definition - so that is what the business people need to be


To be successful in business a certain degree of leeway is absolutely necessary - people (and most customers are people, even if some of them - namely some of those from the centralised purchasing departments - try to hide the fact) are extremely informal in their perception of the world and in order to generate business you'd better be flexible too.


Business problems don't have to be hard to be expensive - it's sufficient if they are based on "common knowledge"


In the early time of software development software simply was the only way to solve very complex but well defined problems. Finding the correct trajectory to shoot three people from florida to the moon would be one of those well defined but complex problems. Later on there came other types of problem: seemingly simple problems with ambiguos definitions - lets say tax collection. Although theses are 'not exactly rocket science' and you easily get along with the four basic calculation types there are volumes and volumes of law textbooks and interpretations even for one type of tax.


The problem gets worse when people try to describe - or even define - a process 'unambiguously' without proper knowledge. Just try to describe the behaviour of a lift without diagrams. Now add time-awareness and route optimization. And add a second lift, coupled with the first one.


Formal methods should be applied much earlier


Now if you thought of all those fancy diagrams from one of your favourite methods to describe the problem above your probably living rather close to the "T-fence". I personally cross the border very often - either from one assignment to the other or during one single assignment - and every time I introduce some little formal method to business people I am overwhelmed how fast and efficient these methods are applied. It's not that these business people are dumb or ignorant - the problem is just that they don't have a focus on formal methods and are often actively separated from them by the IT-departments.


Agile processes try to circumvent this problem but fail to consider typical german mindsets


It's not only that business and IT use different (formal) languages but also the distance a piece of information has to cover to get from people thinking "business" to people thinking "systems" and back. So the poor guy trying to implement something has not only got to figure out how to implement it but also "what did he/she think that he/she thought what he/she was thinking - and what the heck could be the business reason behind all of these interpretations?". These assumptions - made by the last poor guy in the line - are what eventually make the systems work.


In my opinion the agile processes are a very good way to bridge the distance from business thinkers to systems thinkers (e.g. by placing them very close together) but they unfortunately fail to take local (in this case German) mindsets and organisational patterns into account.


To effectively overcome this situation the "fixed price addiction" (as one of the more direct agile protagonists once put it) has to be overcome - but I'm afraid that will still take a while. In the meantime it could help offer more support to business people earlier.


"bring together, what belongs together"


On the other hand it might be a good idea to allow for more business awareness in the IT-Departments to become more of "systems thinking departments". Although most of the systems work in the end they could get there much faster if the implementing departments would be willing to think more business oriented.


Although this will probably not happen any time soon (at least in Germany) this is one of the occasions where a small step backwards might turn out to be a giant leap forward. So perhaps it's not only about insourcing ousourced IT-departments but about integration of IS knowledge.


Stop using the term IT, make it IS (Information Systems) or something even more appropriate.


Any suggestions?


* BTW: It is even worse with the german word "Technik" because that is often interpreted as "mechanics".


Powered by Qumana


Thursday, October 19, 2006

Reuse considered harmfull?

Although sometimes treated like the "holy grail of the software industry" reuse has never appealed to me as a primary goal.
After I discussed this topic with Olli (sorry: no blog, no personal homepage => no link) last week he dug up the diploma theses from Rupert Stützle (in German) called "Wiederverwendung ohne Mythos" (roughly: "Reuse without myth") which puts a little foundation behind my gut feeling.


I've personally always considered reuse to be an indicator of good architecture and design but the real goal for me is to to have flexible systems where the change impact is as localised as possible. I'll have to take a look at the theses to see if that point of view is also backed up by hard facts.


Powered by Qumana


Sunday, September 03, 2006

Location Changer: Good Idea, unlucky (for me) implementation

I just gave WiLMa a try run and prompty had to reconfigure my mail system. Here is an excerpt from my mail to the author:


One of the great things in apples Mail.app (unlike the last version of T-Bird I tried or some other mail clients) is that it handles SMTP-Servers on an account basis.
I don't use an open SMTP-Gateway and I neither like nor encourage open SMTP-Gateways. Therefore each of my outgoing mail addresses (private, business, community work) has to use its own SMTP Server/Gateway.
The first time I started WiLMa and went to the 'SMTP Servers' pane I knew I was in (mild) trouble: Only one SMTP-entry...
I switched to Mail.app and guess what: All accounts already bore the same entry for their SMTP-Servers. And obviously one of them even disappeared from the list (probably because I have two account on the same machine).


At least my other system settings were left alone (sigh), and it only took about 10 Minutes to reconfige the accounts. (Testing included)


Update, less than a day later:
I just got Mail from the author - he really seems to be very responsive, so I think I'll give it another try in december.


Here's (part of) what he wrote:
[...]As for the software's initial behavior, I hadn't thought of it from that angle and will try to get this fixed in time for the October release. Perhaps an opt-in for features instead of an opt-out would be a good solution?[...]


Powered by Qumana


Thursday, August 31, 2006

O/R-Mapping: A loose-loose situation?

Today (while researching SOAP-Bindings...) I stumbled across a great (and comparatively recent) article from Ted Neward  where he compares O/R-Mapping with the vietnam war. Although this seems a little unpopular to some I'll have to go deeper into the article as time permits. From a first glance I have to say that I couldn't agree more (at least on the technical side)


Powered by Qumana


Sunday, August 27, 2006

Cynical Reengineering ?!?!

I'm not shure really about it right now, but Daniel pointed me to an article about "Cynical Reengineering" wich really appealed to me from the title alone. I'll have to go deeper into this as soon as I find the time.


Powered by Qumana


Wednesday, August 23, 2006

Online Feed reader


Sometimes it's usefull to read your feeds - like blogs or update sites - via a browser.


From Stefan I learned about bloglines which seems quite OK - except that the confirmation mail they sent me was "considered spam" by Apple-Mail (at least it passed my providers Mailfilters ;-) )


Might be a handy way to stay up to date when no internet-access is available for my laptop.



Powered by Qumana


Saturday, August 19, 2006

Automated acceptance tests @ agile-cologne

tonight at the 15th meeting of the agile cologne user group (in German) Andreas Thiel reminded me (and all of us at the meeting) of an important statement from the Fitnesse Website (cited a bit liberally):


Unit tests help to build the system right


while


Acceptance tests help to build the right system


A good thing to remember!


Powered by Qumana


Friday, July 07, 2006

Thats why.

Today I learned about the real reasons behind working Software - it's all based on quantum-theory... (via Burghard)

Wednesday, May 17, 2006

Mac OS X newbies

Perhaps this thread should be read by all Win to OS-X convertees. Although it's a little long it's worth scanning through it.

OS-X Simple Graphic Tools

One thing - apart from the cd-copy stuff - that really bugs me in OS-X is the absence of anything even remotely resembling MS-Paint. I suppose most Mac users own some Version of Photoshop or the like but I'm a consultant and developer not an artist that's why I'd like to have something lightweight, easy and free.
After some googling I found
Seashore (probably a little heavy)
Seashore
Seashore
and
Posterpaint

let's have a look at them... more to come
-mm

P.S.: Drawing could be done with
Inkscape or
ArtRage 2.1

Tuesday, April 11, 2006

Moving from windows to mac

Well, since a week or two I own a shiny new MacBook and I think it's time to wrap up my experiences so far.
Although I spent a few night trying to get the new feeling I was able to be productive almost from day one.
The build in Apps are a breeze, Mail does just what it's meant to do, the browser works like a charm and after installing the PalmDesktop my Palm synchronized (almost) perfectly with iCal and the addressbook. I only miss the categories but i'll have a look at the MissingSync (for Palm OS) and I might be completely happy again;-)

[posted with ecto]