Many organizations that offer a commodity or service accept Request for Proposal (RFP) documents from their customers. An organization that receives an RFP then creates an RFP response document for the customer that provides the answers to the questions asked in the RFP.
An RFP can include requests for information on topics that span a wide range of areas. Some examples are requests for corporate information, pricing quotes, product specifications, and technical details. The odds are slim that a single individual will have the knowledge and expertise to answer all of the questions posed in a complex RFP, requiring the assignment of the different areas of the RFP to different people.
A collaborative document editing process that allows multiple people to work simultaneously on their assigned areas is more efficient than a serial editing process and decreases the amount of time required to create an RFP response document, giving an organization a competitive advantage during the bidding process.
This article presents an example of an Office Business Application built on the Office platform that supports collaborative creation of an RFP response document. The solution allows a team lead to assemble a virtual team and then assign different regions of an RFP to team members. After making the necessary assignments, the team lead dynamically creates a document workspace from within Microsoft Office Word 2007 that is based on the RFP document. The document workspace makes use of custom workflows in Microsoft Office SharePoint Server 2007 to manage the collaborative editing, review, and reassembly of the final response document.
Office Business Application makes use of the following key Microsoft products and technologies:
The scenario begins when a sales team lead receives an RFP as a Word document from a customer. The team lead installed a Word 2007 application-level add-in that allows him to manage the collaborative creation of a response to the RFP. He opens the RFP document in Word and selects the custom Microsoft Office Fluent Ribbon, RFP Document Management that is created by the add-in.
Figure 1. RFP document management Word add-in
Because the document is not yet a managed RFP response document, the add-in displays the Team Lead RFP Activities group on the custom Ribbon. The buttons in the group allow the team lead to assemble a virtual team, assign sections of the document, display a custom task pane, and start the collaborative editing process.
After reading over the RFP, the team lead can identify the people on his sales team he would like to assign document sections. The team lead clicks Create RFP V-Team ribbon button, which displays a form.
Figure 2. Create RFP V-Team form
The RFP Document Management add-in includes a configuration file that contains a setting for the top-level SharePoint site that the RFP document workspace sites are created under. The Create RFP V-Team form uses this information to get the list of SharePoint groups defined on the site. In this example, the team lead's sales team members are in the group named Sales Team 1. The team lead selects the group in the Available Groups tree, which causes the Group Members list to display the groups members. Double-clicking a group member adds them to the virtual team members list. Double-clicking a member in the virtual team members list removes them from the virtual team. After the team lead adds the desired members to the virtual team, they click OK to close the form.
After the team lead assembles his virtual team, next he assigns sections of the RFP document. To manage the current assignments, he clicks RFP Task Pane to display the Team Lead RFP Task Pane.
Figure 3. Team Lead RFP task pane
The team lead then selects a region in the document to assign, clicks Assign Document Section, and then picks the virtual team member to assign the section.
Figure 4. Assigning document sections
As the team lead makes assignments, the members are displayed on the Assign tab in the Current Assignments tree of the task pane. Clicking an assignment in the tree highlights the corresponding assigned section in the document. On the Assign tab, click Delete Assignment to delete the currently selected assignment.
Figure 5. Displaying current assignments
After the team lead assigns document sections, next he clicks Create RFP Workspace. On the Create RFP Workspace form, he can specify the name of the document workspace. The team lead enters a name and clicks OK to create the workspace.
Figure 6. Create RFP workspace form
When the team lead clicks OK, the add-in calls a custom Web service to dynamically create a SharePoint document workspace site based on a custom template. It creates subdocuments for each team member who is assigned document sections. It locks the entire document and inserts a rich text content control below a team member's assigned section to allow the team member to focus on just their assignments. When ready, the subdocument is uploaded to the document workspace. Then, the add-in then adds content controls to the original RFP document. The content controls are part of the document review process. The add-in saves the RFP document to a document library on the document workspace.
Table 1. Lists in the RFP document workspace
|
List
|
Description
|
|
Response Document
|
A document library that contains the final version of the RFP response document.
|
|
Master Document
|
A document library that contains the master RFP document with markup added to track assignments and support the editing review process. A custom state machine workflow in Office SharePoint Server 2007, named RFPMasterDocumentWorkflow, is associated with items in this library and manages the overall response document review and editing process.
|
|
Assigned Documents
|
A document library that contains documents that are assigned to team members for editing and to the team lead for reviewing. A custom sequential workflow in Office SharePoint Server 2007, named RFPSubDocumentWorkflow, is associated with items in this library and manages the editing of a single assigned document.
|
|
Tasks
|
A task list that contains the tasks associated with editing and reviewing the documents in the Assigned Documents library.
|
The following figure shows the RFP document workspace in its initial state.
Figure 7. RFP document workspace initial state
When the add-in uploads the RFP master document and subdocuments to the site, the associated workflows start automatically on item creation. The subdocument workflow creates the task associated with an assigned document. Then, it sends an e-mail to the task owner, and notifies the master document workflow when the task completes. The master document workflow generates a proposed response document from the current versions of the subdocuments. It sends it for review to the team lead. It also generates the final response document when the proposed response document is finally approved.
The master document workflow is a state machine workflow. It supports the ability of the team lead to reject a proposed response document. When a document is rejected, the editing process restarts with new subdocuments created for the rejected sections. The master document workflow manipulates Word documents on the server using objects based on the Open XML formats. For more information, see Open XML Format SDK 1.0.
When the team lead assigns a team member to a related task, the team member receives an e-mail alert containing a link to her assigned document.
Figure 8. Assigned RFP document in Outlook
In the e-mail alert, the team member clicks the link to open the assigned Word document. A copy of the original document displays, showing the context of her assigned sections. However, she can only edit her assigned regions.
Figure 9. Word document with assigned sections
The team member decides to do some research. She installs the same Word 2007 application-level add-in as the team lead and then clicks the custom RFP Document Management Ribbon. The add-in determines that the current document is a managed RFP subdocument and displays buttons specific to that document type. In this case. there is a single button that shows or hides the RFP task pane.
Figure 10. Team Member RFP task pane
Using the custom task panes, team members can perform keyword searches across the Internet and enterprise data. The internet searching functionality uses the Live Search Web Service API. The enterprise data search uses the Windows SharePoint Services Query Web Service Service to perform scoped searches across a custom SharePoint list that contains archived questions and answers from previous RFPs. The list is located on the parent site of the RFP document workspace site.
The team member enters keywords, selects the domains to search across, and clicks Search. A substring of each search result is displayed in the Results tree. Clicking a result displays the full result in the Full Answer text box. The full question is displayed in the Full Question text box if the result came from the list on the parent site that contains archived RFP questions and answers.
The Live Search Web Service returns a limited description of a result. The team member can press CONTROL and then click on a search result node to navigate to the original source of the result. If the user sees a search result that she wants to use, she can select the result and then click Insert Answer on the task pane to insert the full answer text into the document at the current insertion point.
Figure 11. Search results
The team member edits her assigned section, saves the document and then clicks Edit this task…. The task opens in the SharePoint list where she can mark it as completed.
Figure 12. Marking a task as completed
The RFP subdocument workflow instance that is associated with the subdocument refreshes when a user sets a task to complete. When this occurs, the workflow notifies the RFP master document workflow. If there are still incomplete subdocuments, the RFP master document continues to wait.
After all subdocument tasks are set to complete, the RFP master workflow assembles a proposed RFP response document from the subdocuments. It copies the proposed document to the Assigned Documents document library causing an instance of the RFP subdocument workflow to start for the item. The subdocument workflow creates a new task for the team lead and sends an e-mail alert containing a link to the proposed document.
Figure 13. Proposed document alert in Outlook
The team lead clicks the link to open the assigned document. The proposed response document is displayed showing the content of the original RFP document with the merged content. The content from each team member is displayed in a rich text content control and a combo box content control is displayed for each region, allowing the team lead to add comments and approve or reject the response document on a section by section basis.
Figure 14. Reviewing proposed response document
The team lead reviews the response document, adding comments and approving or rejecting sections. He saves the document and then click Edit this task…. The associated task item in the SharePoint list opens and he can update the status as appropriate.
Setting the task item to complete indicates to the subdocument workflow the new status. The subdocument workflow notifies the RFP master document workflow. The RFP master document workflow processes the proposed document to determine the approval status. If any of the assigned regions were rejected, the master document workflow assembles subdocuments for the rejected sections, saves the subdocuments to the Assigned Documents document library, sends new e-mail alerts to the team members, and waits for all subdocument tasks to complete.
The entire subdocument workflow repeats until the team lead approves all assigned regions in the proposed document. After reaching approval, the master document workflow generates the final document from the proposed response document. It adds an archive copy of each question and answer pair to the custom SharePoint archive list. It also saves the final document to the Response Document library, and sends an e-mail to the team lead.
The team lead clicks the link to the document to view the RFP response document. The document shows the final approved content as provided by each team member. The team lead clicks the custom RFP Document Management Ribbon. The RFP document management add-in determines that this is an approved response document and so displays the Team Lead RFP Activities group with the RFP management startup related buttons disabled.
The team lead selects Finalize Response Document and reviews the document. At this time, he can remove any remaining internal markup. The team lead can then send the document to the customer.
Figure 15. Finalizing the RFP response document