Monday, July 25, 2005

Ships and Software

Recently I was watching a program on Ship Building. The preciseness and the project timelines at every phase had to be on schedule. The ship was built as different components like software components and then put together which in our terms mean integration. It had to fit precisely with the room for error non existent to marginal if not they would have to be reworked which means time and money lost. This I thought needed incredible project planning. This made me wonder why cant software projects be built similarly. There is one major difference is that the ship is built where requirements never change except probably the interiors but the structure remains the same whereas in software projects we have creeping requirements. Could this be a reason to state software has more abstractions and therefore molding a software project with all the anticipated change is difficult? But structurally can we not keep the software project firm and let everything else vary. How about integration? Can this also be done with precise architectural definitions? I am sure this can be done. But another interesting note was all the senior engineers in ship building was people with decades of experience and have strong fundamentals. But in software development the opposite is true. If we were to build software like a ship with experience and quality at that level than our projects would increase in cost and would be difficult to get started.

This also means are we ready to reduce the errors or decrease the level of faults. If we do this then the cost of project increases, so it's very important to decide the extent to which this is acceptable else the cost would overrun and the feasibility of the project itself is questionable. With ships there is no room for error and therefore they are build with higher precisions even then nothing is perfect. Look at titanic!!!

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home