Do Magic Here

RUP, the Rational Unified Process, is a methodology to develop software. It describes the software development process step by step.

In RUP there are four phases:
* *Inception phase:* figure out what your customer wants you to do.
* *Elaboration phase:* analyze the software requirements and come up with a design.
* *Construction phase:* do the coding, testing and documentation.
* *Transition phase:* install the software at the customer’s site and maintain it.

The reason that methodologies, such as RUP, exist is firstly to have a uniform way to take on a software project and secondly to provide guidelines on how proper software development should take place. There, however, are people who do not believe RUP is the true way to good software.

“This guy”: for example:

Every methodology I’ve come across has, at its kernel, a very small section labelled “do magic here”.

RUP is much the same. You draw the user interaction diagrams, you do the flow things, [magic happens here], you draw class diagrams with methods and stuff and then they get turned into code and the application falls out of the bottom of the process.

Reciprocity talks about something called “complexity smearing”. Which is where the class of people referred to as “packers” shuffle things around and write larger and larger documents, with the end result that the complexity is all broken up and spread out and no single page actually contains noticable complexity. It’s still there, but it’s hidden inside a lot of words.

And there’s something missing…

And at the core of RUP is a small area where you have to use OO design talents…. if you don’t have them, it’s like having a methodology for running the 100m.

“Step 1: write about running really fast. Step 2: Go and draw a plan of the racetrack. Step 3: go and buy really tight lycra shorts. Step 4: run really, really, really fast. Step 5: cross line first”

It’s that step 4 that’s the tough one. But if you put lots of emphasis on 1,2,3 and 5 it’s possible no-one will notice and then you could probably make a lot of money selling the methodology to would be athletes who think there’s some “secret” to being a 100m runner over and above being born with the ability to run fast.