I agree with Tony! Requirements are critical in most instances especially if the desire is to rebuild the system on a new platform. What we need to know is the actual requirements which satisfy the business need. The problem with features is that if that's all we document it is nearly impossible to know if changing an attribute of that feature is a bad thing.
Example: Let's say that the existing system has a red-colored round button with "Get Price Quote" as it's caption. If I create a new system based on the legacy one which one of the characteristics is still important? The fact that the button is round is that requirement or just a design decision made by the developer? There is a big difference between describing the attributes of the system and the actual requirement.
- Adrian
Hi all,
The project which I am working for requires me to do a reverse engineering of the existing system so that additional functionality can be added to the current system. Basically the existing system performs the risk analysis at the company level and now the management wants that the risk analysis should be done at the individual customer level. So to understand the process of risk analysis we had to do reverse engineering of the current system so that we could apply the same logic at the individual customer level also. So in my opinion performing reverse engineering is not a waste of time infact by doing so we need not work from the scratch atleast we have some baseline and then we can think on how to improve the current process.
Thanks
sonavi
The problem with features is that if that's all we document it is nearly impossible to know if changing an attribute of that feature is a bad thing.
Okay - I think you nailed it there Adrian.
Excellent point.
Thanks all for your comments.
I think that the first priority should be getting the functionality of the existing system right in the new, improved system, One of the things to be wary of is that we don't disenfranchise anyone. Through years of use of a system, even with a legacy system on a mainframe, users develop shortcuts and efficient ways of processing that the developers never imagined. Some are added to the basic system through change requests after the system has been in use. We have to be careful in the re-engineering that we don't leave out these tricks and techniques the users employ to make the operation of the system easier. We never want to take away anything the system does for the user, no matter how mundane it might seem, at least not without getting consent from the user (and it might be a single user). A user may not complain if they don't get some extra functionality, but they will scream if you take something away.
brought to you by enabling practitioners & organizations to achieve their goals using: