Originally posted by tomtomagain
View Post
There is a massive difference between the engineering design and construction of a project such as a bridge or deep water oil platform and that of engineering design and construction of an IT project, such as a web site or trading platform.
The core difference being some projects involve atoms and some projects involve bytes.
Once you've built 100km of steel pipes of a certain diameter and quality and placed them on the seabed in water depths of 2000m then change is very, very expensive.
If you've built the software that models the flow of oil, gas and water through those pipes then decide that you wish to report on different KPI's or show the information in a different way then the cost of change is small.
It is not a sign of immaturity to accept change or alter the specification or requirements in a software project. It's a recognition that software does not have the physical constraints of a "real" engineering project.
The largest project I worked on had 10,000 people at peak, a budget of $10B and involved building out a 360m FPSO ( you can google it ) and positioning it 100 miles off the coast of Angola.
I had the privilege of working with some fantastic engineers, really clever men and women, who design and build the infrastructure that you and I all rely on for our daily lives.
One thing that really struck me though as a software guy is that their initial design phase,where they effectively build the "spec" that is later used to manufacture the facility, is much more like the software development - and they do that in an iterative "Agile" way.
So if you look at the "Back end" of a big engineering project, then it can seem like, they have designed everything perfectly and are simply following the spec ( not in reality, as problems occur and need to be solved ). Whereas if you look at the "Front End" of an engineering project it's much more akin to software development.
The core difference being some projects involve atoms and some projects involve bytes.
Once you've built 100km of steel pipes of a certain diameter and quality and placed them on the seabed in water depths of 2000m then change is very, very expensive.
If you've built the software that models the flow of oil, gas and water through those pipes then decide that you wish to report on different KPI's or show the information in a different way then the cost of change is small.
It is not a sign of immaturity to accept change or alter the specification or requirements in a software project. It's a recognition that software does not have the physical constraints of a "real" engineering project.
The largest project I worked on had 10,000 people at peak, a budget of $10B and involved building out a 360m FPSO ( you can google it ) and positioning it 100 miles off the coast of Angola.
I had the privilege of working with some fantastic engineers, really clever men and women, who design and build the infrastructure that you and I all rely on for our daily lives.
One thing that really struck me though as a software guy is that their initial design phase,where they effectively build the "spec" that is later used to manufacture the facility, is much more like the software development - and they do that in an iterative "Agile" way.
So if you look at the "Back end" of a big engineering project, then it can seem like, they have designed everything perfectly and are simply following the spec ( not in reality, as problems occur and need to be solved ). Whereas if you look at the "Front End" of an engineering project it's much more akin to software development.
Comment