Civil Engineering & Software Engineering. The context is not the same.
Too often I
see principles of Civil Engineering being used in Software Engineering, like
BDUF and elaborate Gantt charts, and WBS, and….
For a long
time, it was OK. But the world has changed, and almost everything has become
frighteningly fast. Be it Cricket, making a movie, or building and launching software.
As PaulGraham said, if you are running on the road and if you want to come to a halt, all
you have to do is incline your body a little bit backward, and you will stop
quickly. But while skiing if you want to halt, and if you do the same trick of
leaning backward, you will have a spectacular fall.
Using
principles from one context in another context could be a bad idea, even if
those are solid and proven principles. Manufacturing tangible goods (like pens,
shirts, airplanes) and building intangible things like software are quite different
contexts.
For
tangible goods, specifications are known & frozen before you make them.
For
intangible things, specifications start evolving as you start making them.
In Civil
Engineering it is perfect to adopt the policy of Ready-Aim-Fire.
In Software
building the right way is…
Ready-Fire-Aim-Ready-Fire-Aim-Ready-Fire-Aim-Ready….
The context
matters.
No comments:
Post a Comment