Re: Needs just a tweak.
You didn't... no, you did... oh, boy...
*puts on Civil Engineer's hat* (this is a very simple overview, btw).
You start with a specification. You build to that specification. End of project.
*puts IT developer's hat on* (yes, I really do have both)
You start with a specification. You develop the core components and impliment them. Now start the cycle of refinement.
You can develop with agile methodology - do the core, plus as many extras as you can fit in, but you can always add more later, as and when you're ready, with little to no disruption or performance hits. You get the benefits from the initial development and expand on this as required. This is the normal approach to software development.
You can build in a modular approach, but doing so needs advanced planning and expanding will involve distruption and will probably affect business performance. You may not see any real benefit until all the work is done, either. It is also not always possible to work this way, or desirable, hence why most Civils projects involve getting as much done during the initial build as possible - minimise latter disruption and keep costs down in the process.
So yes, there are similarities, but due to the technical aspects, the methodologies have to vary hence they're not really the same. Interesting comparing them, though - I never thought I'd get to use both my qualifications in one post... thanks :)