Development Schedules

Software development is a costly business. If you continually reengineer a solution because of changing requirements, you are failing to provide a suitable solution. If users are able to manipulate their own reports, they will rely less on developers, which will reduce development overhead. The key to developing successful solutions is to provide as much flexibility within the application as possible.

Consider the following scenario. A user makes a request to add a report based on an existing report to the company’s reporting application. The modifications requested are to remove all references to stock information and the company identifier, to add a footnote, and to disable stock and company identifier fields on the selection screen.

The modifications, which to the user appear trivial, generate considerable work for an information systems department. The company reporting application must be modified, the modifications need to be tested, the design document adjusted, a code review performed, and a change control request made to release the application into the live environment.

All told, the user request generates at least one to two days of work for most information systems departments. If the application supported user-defined report templates and criteria selection, the effort involved would be dramatically reduced. If no development work were required, a twenty-minute explanation on how to create the new template would be the only task—potentially saving days worth of work for a basic report. It stands to reason that the time savings would increase with more complicated report requests.