How is determined an impact of a requirement change on the existing code?

Posted by MainMa on Programmers See other posts from Programmers or by MainMa
Published on 2010-11-18T18:50:52Z Indexed on 2011/01/04 23:58 UTC
Read the original article Hit count: 221

Hi,

How companies working on large projects evaluate an impact of a single modification on an existing code?


Since my question is probably not very clear, here's an example:

Let's take a sample business application which deals with tasks. In the database, each task has a state, 0 being "Pending", ... 5 - "Finished".

A new requirement adds a new state, between 2nd and 3rd one.

It means that:

  • A constraint on the values 1 - 5 in the database must be changed,
  • Business layer and code contracts must be changed to add a new state,
  • Data access layer must be changed to take in account that, for example the state StateReady is now 6 instead of 5, etc.
  • The application must implement a new state visually, add new controls for it, new localized strings for tool-tips, etc.

When an application is written recently by one developer, it's more or less easy to predict every change to do. On the other hand, when an application was written for years by many people, no single person can anticipate every change immediately, without any investigation.

So since this situation (such changes in requirements) is very frequent, I imagine there are already some clever techniques and ways to predict the impact. Is there any? Do you know any books which deal about this subject?


Note: my question is not related to How do you deal with changing requirements? question. In fact, I'm not interested in evaluating the cost of a change, but rather the way to predict the parts of an application which will be concerned by the change. What will be those changes and how difficult they are really doesn't matter in my question.

© Programmers or respective owner

Related posts about project-management

Related posts about Requirements