Software requirement plays the key role in developing customized software solutions.

Gathering software requirement from client plays a vital role in software development, this phase actually decides the manpower & skills required, time and cost of development, specially in case of customized software solutions. The role of programmers, designers, managers to support team is more in these customized softwares as compared to already bundled ready to sell softwares.

The more detail you collect during the requirement phase, less you have to work on re-design, re-code, re-test & support.

Initially user/client has a different point of view about software solution which keeps on changing as the things goes on, his expectation keeps on increasing day by day.

The success of such project depends on how better we match client/users changing point of view.

Recently I had a chat with one of my good friend. He is a charted accountant and need a solution for his office. He want a system that can track all the task/work, their progress, list of un-assigned tasks, to whome they are assigned and what is their current status.

When I asked him about his point of view for the software solution he told me that :

  1. I can easlily track current status of the work. If it is pending, at whose(employee) end it is pending.
  2. I can add a employee in the system.
  3. I can add any task any time.
  4. The system should be login based & I can track the working of every staff member.
  5. I will easliy know which work is pending, which is not yet assigned to anyone.

Next meeting comes up with few more points, now he also need

  1. All the work of firm are already defined and I need a option to add/edit/remove any nature of work.
  2. The work will be assigned on client basis, so I need a client database, with full control to add/edit/remove at anytime.
  3. Any one can further assign the work to their subordinates.
  4. Completion of work should be in cascading form.
  5. After completion of work I need billing details.
  6. The solution should work on all our office computers with centralised database.
  7. I will prefer web based solution on which multiple people can work instantaneously.

In my next meeting he gave me some more inputs about the software he needed. This time he gave me a work flow chart that he needed. After this meeting we have to change the database, design & software work flow which we were thinking of earlier. If it has to be done after starting the work, we have to redesign & database, design & software workflow. My friend has started thinking his life with the software solution & want the solution in a couple of days.