Archive for the 'on software engineering' Category

TextUML - model yes, visual no

August 2nd, 2008

How many things must a developer do, before you call him senior?

March 24th, 2008

The anwer is, 10. Exactly.

  1. Write code to get things done
  2. Solve any task without any prior training whatsoever
  3. Know more than one programming language/IDE/operating system, at heart
  4. Debug, maintain and fix code somebody else wrote
  5. Extend functionality to code somebody else wrote before you, and whom you don’t know
  6. Write code that others think helps them to get things done easier
  7. Specify what others have to implement
  8. Understand what your clients need, in their terms
  9. Manage a continuous build & release process/system over more than one release
  10. Design systems that get used by someone else but yourself or your team

Is offshoring buggy?

May 1st, 2007

Ed Yourdon has an interesting summary on Michael Mah’s analysis of offshored software projects, where he concludes that such projects have 2.8x as many bugs as projects that are “co-located” with end-users. Mah’s study was a very interesting read because it collects data around a feeling that I have hold for quite some time now: If people speaking the same language, located in the same timezone, having a similar cultural background or at least a similar social environment, cannot communicate effectively - how can people not sharing any of the before mentioned?

Top questions to consider:

Stop using processes?

April 8th, 2007

Ivar Jacobson, one of the inventors of the Rational Unified Process (RUP) has published an article in DDJ where he argues that we ought to stop using processes, and concentrate on practices instead. This has caused some irritation. My comment was:

“Brendon, I think to be fair one should mention that the RUP authors have always said that RUP was a framework that needed to be adopted to whatever the requirements of the project. They’ve also stated time and again that the discipline’s workflows are *basic* workflows, and that rarely every activity needed to be worked, nor is every artifact to be completed in all projects. Also, from day 1, the RUP stated that what’s most important is to build executable software rather than to document every step of the way. However, interestingly enough, organisations wouldn’t listen, and started to follow every single step the RUP ever described, getting overwhelmed by so much process overdose. Probably, with hindsight, it was a blunder to call UP a process. It should have been Unified Practices.

So in essense, IMHO Jacobson hasn’t really come up with a new concept, rather he’s finally found another approach where people would listen. But the meaning of what he says seems mostly unchanged.”

EasyEclipse

April 7th, 2007

If you need to get up to speed with a complete development environment, you may want to check out EasyEclipse. The site provides ready-made distributions of Eclipse for Java, J2EE, PHP, Python and Ruby development. It also has a good section on how to set up required servers etc.

I’m currently working on a server-side distribution, called Arthur, that will include a ready-to-run debian image with trac, subversion and trax installed. It will enable plug & run for PHP, Perl and GCC development. And best of all, it will fit on a 1-2GB USB stick, so you can take it with you and are ready to go wherever you are. I’m currently thinking of integrating EasyEclipse so it will be even more useful.

model-as-you-code

April 2nd, 2007

model-first is not necessarily a good idea
code-only neither
but if you can write your classes directly without modelling first, and still come up with a well-modeled solution. why not? everything else is a productivity-hinderer
ergo: what we need is *seamless* code/model transformation.
assumption: the code and the model are different sides of the same coin.

we also need collaberative modeling. i.e. joint-whiteboards for modelling. eclipse plugin: collaberative modeling perspective

interesting links:
http://lightuml.sourceforge.net/
http://www.spinellis.gr/sw/umlgraph/
http://martinfowler.com/bliki/UmlSketchingTools.html