views:

131

answers:

7

Is there an appropriate term for a requirements-gathering methodology where requirements are gathered as contrived by developers while the system is being developed, as opposed to the usual / normal / healthy process (where requirements are gathered from actual stakeholders).

Put another way, what is it called when a requirements team reverse-engineers a system day-to-day, (hopelessly) trying to keep up with what the developers did recently.

I'm expecting to be either surprised or entertained.

+1  A: 

Crowdsourcing!

this area intentionally left blank

Andrew Backer
Nice, but I don't think that applies to a private organization of professionals ;)
Dolph
It sure does, if you look at it in an entertaining way. You are using your developers as the crowd, polling them for answers to requirements questions... But this is mostly for fun, at least my answer is.
Andrew Backer
+2  A: 

You may call it "Requirements-Reverse-Engineering" in a sophisticated manner. Though I don't understand what one would achieve by adding such requirements unless and until they add some value or usability to the customer.

Jay
+3  A: 

"Non-Fiction Requirements Gathering"

You never know the requirements until the actual stakeholders give impossible and utterly incomplete requirements to a developer. Because only when you have to make the boat float will they remember that they need a bottom on it.

Andrew Backer
+3  A: 

I think the term you are looking for is Cowboy Coding.

Taylor Leese
I've heard the term, but I'm shocked there's a wiki article. This is close enough, thanks!
Dolph
I like "Hero Programmer"s. http://www.redcanary.ca/view/the-hero-programmer.
Andrew Backer
Cowboy Coder, Cowboy Coder / does the things a coder can / what's he like? it's not important / Cowboy Coder // Hero Programmer, Hero Programmer / Hero Programmer hates Cowboy Coder / they have a fight, hero wins / Hero Programmer
Dolph
Enjoy: http://blogs.techrepublic.com.com/10things/?p=262
Taylor Leese
+2  A: 

they are writing abuse cases

Ray
+1  A: 

A four step process to writing successful software:

  1. Make it work
  2. Make it work right
  3. Make it work fast
  4. Write the Requirements to match
Jacob G
+1  A: 

"Growing the system" is a nice way of describing the methodology used by a development group that is being exceedingly agile and 'spur-of-the-moment'.

If you have a group growing the system, then why bother wasting any effort on post-release requirements docs? Sounds very make-work.

Many (big,famous) software projects start out (unofficially) with this type of development methodology, but the ones that are successful work because at least one of the developers is also somewhat of a domain expert. That is, if you have someone who's spend a lot of time working in the domain, then you don't need a big formal process with user champions, committees and masses of paperwork. BUT, it all comes down to actually having a small team, an intense focus and a lead developer who really "gets it", not just one that thinks they do (which is more often the case). Failure rates for this type of thing are huge.

Paul W Homer