The Art of Writing A Functional Specification Document
The Art of Writing A Functional Specification Document
The Art of Writing A Functional Specification Document
Overview
I am currently working on an SAP implementation project that is just starting its realization phase. One of my first tasks, as a member of the technical implementation team, is to review completed functional specification documents for RICEF objects. These documents, written by functional subject matter experts, are supposed to detail business requirements that address gaps, and which need to be incorporated into the system being implemented. The purpose of the review is to make sure that the functional specification documents are complete, accurate, and contain the approval signatures required to move on to the technical design phase. In my career, I have had the pleasure of working with some first-rate functional analysts who know how to draft an excellent functional specification document in a timely manner. It is this type of performance that helps to move a project along in the right direction, on schedule, and within budget. Likewise, I have had the not-so-pleasant task of working with not-so-first-rate functional analysts, who draft functional specification documents that are not clear, inaccurate, and incomplete. The risks here are ultimately manifest as project delays and cost overruns.
The Good
A really good functional specification document contains enough detailed information about the business process to enable a technical designer to use it as the foundation for drafting a complete and accurate technical design document. The functional specification document should not only highlight the presence of a gap, but should demonstrate how the business process, accompanied by automation, will close the gap. This document must also indicate the abnormal processing requirements what should happen when that report or interface does not run, what are the recovery steps, how are key employees notified of the problem, etc. The content of a functional specification document must be tuned to the flavor of the RICEF object that it is describing. Since they perform very different tasks, a report specification document should be very much different from an interface, conversion, enhancement, or form functional specification document. Using functional specification templates helps to insure the appropriate content for each type of RICEF object.
a) the project managers who apply pressure to accept inaccurate and incomplete functional specification documents, to give the impression that the project is actually moving forward and making meaningful progress. b) the functional analysts who whine incessantly when their paltry functional specification document is not accepted. A functional specification document that does not meet expectations must be upgraded until it does. But bouncing a functional specification document back and forth like a ping pong ball between the functional team and a technical reviewer is inefficient and wasteful. I find that the best way to quickly firm up a weak functional specification document is to thoroughly research all of the issues that I found in the document, formulate proposed solutions where possible, and then schedule a face to face collaborative meeting with the functional analyst and the business process owner(s). This type of collaboration can save hours, days, or even weeks of wasted ping-pong posturing, and that is always best outcome for the project.
these more realistic metrics. This really goes a long way to stop everyone from wondering, Its only one interface! What is taking development so long?
Great Expectations
So what is a reasonable set of expectations for a really good functional specification document? What is it that we are asking the business analyst to do? First, let me describe what I do not expect. I do not expect a business analyst to write code, build tables, design efficient database retrievals, or to decide that one BAPI, function module, class, or IDOC is better than another. Here is what I do expect: A clear definition of a business process that is repeatable, and which actually works. As a preautomation test for data conversions, I always require the functional analyst to manually enter one of whatever, using the standard SAP transaction for which a conversion program is to be built. Many times, they cant because the system is not configured correctly, the supporting data is not present, or any number of other reasons which cause the transaction to fail. An interesting observation is that there is much indignant huffing and puffing during this manual entry test process. But when the manual test fails, I simply remind them that I cannot automate a broken or non-existent business process. A clear definition of what should happen under abnormal or failure circumstances. This must include error handling, notification, recovery and reprocessing steps. A business process that can efficiently be automated. Requiring a search of sales order header text for the phrase This is a red order is a very bad design for automation purposes. While such a design is technically possible to build, it will certainly be inefficient at run time, and may not always produce all of the red orders. This is because the key value is a free-form phrase that can and will be misspelled, and abbreviated, along with countless other mutilations of the key phrase This is a red order. There are much better business processes and technical implementations that will more efficiently and more accurately find all of the red orders in your system. An explanation of the need for development. Exactly what is the gap, and how will automating the business process close the gap? Screen shots from SAP transactions depicting data that is to be retrieved or stored. From the screen shot in the transaction, I can usually determine the exact table and field in the SAP database. Note that some business analysts are very adept at identifying the actual underlying table and field name. Clear and concise details with respect to data mappings, formulae, data transformations, conditional processing, etc. If I come to an intersection and it is unclear whether I should continue to go straight, turn left, or turn right, then the functional specification document needs a bit more detail behind it.
consistent and accurate. Improve these checklists over time. My Form functional specification checklist document now includes the following check: Is it physically possible to print the specified content on the specified form using the specified font style and size? Was an actual printed mock-up provided as proof? - but only after I had received a functional spec for a form that required four inches of print content on a one inch label. And somehow, the business analyst who wrote this particular request erroneously thought that it was my problem to solve. After all, writing code is magic! Isnt it? In this case, I pushed back and insisted that an actual printed mock-up be produced one that I would then agree to automate.
Summary
A good functional specification document will help tremendously in moving a project forward in the right direction with minimal cost and risk. A poor functional specification document has serious potential to cause project delays, and schedule and cost overruns. The best goal for the project is to achieve a good functional specification document, using whatever means required.
2. Input the PO number you want to change (Shift + f5). 3. Now there are 2 cases for PO Cancellation, the first one is we cancel the PO and also the
origin PR by clicking the Delivery Completed checkbox. The second case is we cancel the PO but we re open the PR, this is done by deleting the PO line item.
After you delete the line item, just click save. Popularity: 10% [?]
3. Next you will see the table relationship diagram, try to find the link between EQUZ table and the ILOA table and double click the link.
4. Now you can see that these two tables EQUZ and ILOA is linked by ILOAN key. Its pretty handy right?
Popularity: 1% [?]
Asked by rakesh.usa | posted Apr 18, 2006 | Replies (1) I did not write functional spec before....any help...any help would be greately appreciated...atleast basic idea
In sales order when we give Sold-to party number and other details and hit enter....we get some pop-up windows One of them is for Partner address data. I have to add a field in that pop-up Now my requirement is I have to write functional spec for that How do I add that field...I mean what I have to put in the spec Is the pop-up window controlled by user exit....if so, do i have to say add this field in that user exit?? how to find what user exit is it? I clicked on that other field for structure name....But some fields have different strucutre names....if i have to add field in the structure , how do i know the name of the strucutre..... Do I have to give the new field name by myself or is it abapers work?? This spec should be very simple to the point... Thanks
The Big Book of SAP Upgrades More White papers 1 Reply Sign in or register for free to see all the answers on a single page
Functional specification is a comprehensive document which describes the desired functionality. It contains technical information and data. It describes the scope,current functionality and desired functionality of a function/transaction.
Is This Answer Correct ?
1 Yes
0 No
Hi, you can say functional spec is simply a prerequsite for creating a technical spec for any development created and forwarded by techno-functional guys or functional guys to the technical people(here thy create technical spec )and start developments and mainly functional spec compprise of .... What is the busineess seviority what is the impact on the business.. what approach is needed for development (to be more specific ) eg: if it is Zreports what type of reports (classical/interactive/alv) along with tables , fields should be furnished in the spec .... and finaly approval of spec is needed to proceed further for technical spec for development Hope this information is useful Regards..