As a functional SAP consultant, sometime early in the realization phase, for each FRICE-W item identified in the blue print phase, we have to write functional specs. This is very important especially when the ABAP development team is not on the project site but somewhere 8 hours or more ahead (like India).
The functional spec document is very important document as it captures:
1) the requirements (FRICE-W scope)
2) the design or how it should work
Tipically a FRICE-W object is developed to cover a GAP in a standard SAP process. Therefore most often the object is require in order for a SAP process to work as the company intends to work. In the requirement section of the spec, the writer has to list all the things that the object should do. Also, sometimes is good to list what the FRICE-W object will not do just to set out the expectations.
Also each requirement should be as detail as possible.
The design or how FRICE-W object should work
In this part of the spec, the writer has to define how the FRICE-W will work. Usually a flow chart should be drawn to show how the information will flow from the SAP process to the FRICE-W and also inside the FRICE-W.
If user interface elements (such a screens, menus) will be developed these should be mocked so that the developer will have all the information to design the UI element. Usually I mock up the screens in Excel but any other tool will work. Also if some new field needs to be added to a standard SAP screen, a screen shot of that screen will be a good starting point.
When I write my specs I try to give the developer as much information as needed so usually I put the table and fields from where the data needs to be selected. The best way to find where data is stored in SAP is to press F1 on a screen field and the press the technical details button (the buttun with a hummer as the icon). In most of the cases this will show you the field name and table where that information is stored.
Other things to consider.
Most of the specs are not done from the first iteration, they have to go multiple itetation before they are signed off by all partie involved. A brief change history and versioning works very good to keep track of all the stages the spec went through.
Add test scenarios to the spec. Define a list of at least few test scenarios that both the developer and the tester should perform to test the object.
If you have other pice of advice of tips about writing effective SAP FRICE-W functional specs, please feel free to comment on this article.