I am currently trying to develop a Requirement Specification Document (Functional and Non functional requirements) for two software Java applications which will eventually be integrated with an existing e-commerce web site.
Software application One: Order Tracking Application written in Java to enable a customer to track an order from point of placing a request for an order to final delivery of the order at the customer’s location.
Software application Two: Communication request application written in Java to enable a customer to communicate with the business about their orders. May consider this as a ticketing system to enable back and forth communication and also keep a trail of all communication for audit purpose.
Will need some help on how to go about this task in gathering the requirement, analysing and developing the specification document.
You comments will be appreciated.
Thanks
Jay
Hi:
Below are some suggestions related to gathering behavioral related requirements (you refer to them as functional requirements):
* Have you formally scoped out the extent of the solution(s) within your area of analysis?
* Ask yourself: How much complexity am I dealing with? If the scope of your analysis is greater than about seven tasks/processes, you need decomposition to handle complexity. I work on business systems, and 5 levels of decompostion is common. Note: user stories and use cases are poor at handling decomposition. Data flow diagrams are strong.
* The BABOK states that the real need is not so much to gather standalone requirements, but to document the [essential] interrelationships between requirements. These essential requirements are data flows. If your need to deal with complexity, you need to formally model the data flows.
Tony
Hi Tony,
Thank you for your response and approach in dealing with the task. I will go ahead with the initial approach as follows:
1. Scoping the work
2. Develop a data flow diagram to ensure all interrelationships are identified. I still believe the use of user story and the use case are a valuable tool to ensure a better understanding.
3. Decompose the process if identified as complex.
4. Continue requirement gathering until user requirement expectations has been captured.
Would anyone by any chance have a sample of similar requirement specification document (for software application)?
Jay:
I say be as Agile as possible. I totally agree with Michael Hugos who used to facilitate (still does?) the Best Practices blog on CIO magazine: "A few higher level data flow diagrams, some entity relationship diagrams and some screen shoots - that is all that is really needed in terms of requirements documentation." It has been my experience that a seperate detail level requirements spec doc is not worth the time.
Let the developers, largely in verbal discussions, handle all the lower level requirements. Now this is Agile!
The primary purpose of the the BA is to see the bigger picture. That is often what the developers really crave (although they may not say so too loudly).
Tony Markatos
Thanks once again Tony. Going the Agile way sure makes life easier as a BA. Initiating with high level data flow diagram is really bringing more details to the surface and helping with redefining approach where possible as I have now discovered.
brought to you by enabling practitioners & organizations to achieve their goals using: