Software Engineering

do you see much software engineering in your travels?

in chatting with the Sun guys behind the new UML effort in NetBeans, i thought of the following. i have often wondered what has caused such a dearth of interest in software engineering and using modeling tools:

  • the focus on hurry up, get it done/get started coding?
  • people trained in hammering nails, but who have no clue about true engineering
  • a lack of “connecting the dots” between stakeholders/management and what is truly needed for doing software engineering, hence illusions of progress in app development projects, and the lack of transparency into the true cost of lousy-engineering
  • over hyping of tools like Rational’s — which didn’t really work as well as advertised — causing a backlash due to the disillusionment of management/development teams
  • people getting stuck in over analysis and modeling without a purpose
  • the creation of architect roles by people who could not really understand building the code and therefore were relegated by the team into non-essential folks who sit in the corner
  • tools that did not give good ROI
  • tools that tried to do too much
    • later versions of Together fell victim to this (feature lust) and i couldn’t convince peter coad to not include such features

just some random thoughts…

Heinz Kabutz Interview

You can read a nice interview with my friend Heinz Kabutz.

The bits about doing timing for various code approaches reminded me of my early days in teaching C/C++ and doing various compares.

Though these are “micro” performance numbers, there are a couple of key points to take away:

  • You have to measure that which you wish to improve
  • Don’t lose sight of the big picture — clear code is far superior to overly optimized and obtuse code
  • Big performance gains for a major system typically come from architectural decisions, not micro-code

Thanks Heinz!