RSS

Emergent Requirements in Civil Engineering

07 Feb

I often talk about how requirements emerge in software projects – how we initially express what we think is needed and over time the real understanding comes to light. 

This approach is so common because so much of what we do in software projects is exploration – we don’t know what we don’t know and we’re finally acknowledging the uncertainty that surrounds much of software development.  This is far from a new approach, over 20 years ago the Barry Boehm coined an acronym “IKIWISI” – it stands for “I’ll Know It When I See It” – normally preceded by “I don’t know what I want”.

Critics of software development frequently ask why software enginering can’t be as predictable as civil engineering.   The reality of civil engineering is often very different, as I learned on an airline flight a few years ago.  I sat next to an award-winning Australian architect and we got talking about the differences between civil and software engineering.  He described what happened with a property he designed:

 The building had been carefully planned, detailed designs produced and virtual walkthrough’s prepared and agreed to.  The placement of the building on the section and the position of the doors and windows were carefully worked out to provide the best possible view.   Once the foundations had been poared and the ground floor framed up he walked through the skeleton of the building and checked the view from every window and door space.  He noticed that the placement of a large sliding door gave a good view out to sea, but if he could move the door about two meters to the left the view would be fantastic.  The change was made (over the objections from the builder) and when the building was finished it won an award as an architectural mastepiece.  IKIWISI in the building industry!

For a concise discussion of the differences between Software Engineering  and other engineering disciplines see http://www.knowledgerush.com/kr/encyclopedia/Software_Engineer/

Another Agile practice that has a mirror in civil engineering is Adaptive Reuse – refactoring buildings for new uses.  See http://www.infoq.com/news/2010/01/adaptive-reuse 

Another IKIWISI story in home construction can be found here:  http://devdaily.com/blog/post/best-practices/ikiwisi-software-development-story

Posted by Shane Hastie

Advertisements
 
Leave a comment

Posted by on February 7, 2010 in Agile

 

Tags: ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: