In the manufacturing vertical, companies follow a well-defined process to bring new products to market. This process typically involves an ideation phase where new product ideas are conceived and then fleshed out into prototypes. In this article, I'll use an InfoPath form and Windows SharePoint Services to capture new product ideas, route them for review, and then assign a team to begin working on them.

Figure 1. The Final Product Development Team Site |
The Product Development Site
The center of the New Product Introduction (NPI) process is a SharePoint Team Site that tracks all of the new products under consideration. Not all of these ideas will make it to market, but they can all be tracked from the Product Development site. The Product Development site contains a library of InfoPath forms that contains one form for each new product and lists of people who may participate in the NPI process. To keep it simple, I created a Team Site with a two contact lists. One list shows the people who are authorized to perform a marketing review to ensure there is a need for the new product. The other list shows the people who can assign resources to work on the new idea. Initially, you don't need to create the InfoPath form library, because we'll do that when the form gets published.
Figure 1 shows the Product development Team site.
Creating the InfoPath Form
I started a new project in Visual Studio 2005 using the InfoPath Toolkit. This toolkit allows you to write managed code behind an InfoPath form directly in Visual Studio. The InfoPath form I created for this example implements a simple workflow process where the originator of an idea can route the form for a marketing review. If the marketing review is positive, then the form is forwarded to a resource manager who can assign resources to work on the new idea. In order to implement the workflow process, I used three different views for the form: one for the originator; one for the marketing review; and one for the resource assignment.
Figure 2 shows the default view, which is seen by the originator.
The Originator View provides a section for some basic information such as a name and description of the new product. The view also contains two drop-down lists where the originator can select a person for the marketing review and resource assignment roles. These drop-down lists are bound to the SharePoint contact lists contained on the Product Development site. This way, the set of people authorized to participate in the process can be controlled. Once the form is filled out, the originator can begin the review process by pressing the Send Notifications button. Listing 1 shows the code for initiating the process.
When creating the InfoPath form, be sure to replace the e-mail and site information from my example with your own. Also, it's important to note that sending e-mail from within an InfoPath form requires that the form be fully trusted by the client. To fully trust an InfoPath form, you must change the security designation from the default setting of "Domain" and to "Full Trust". This is done in the Form Options dialog, which you can access by selecting Tools->Form Options. When you specify that a form has Full Trust, you must also sign the form with a digital certificate.
After the notification is sent, the person designated for the marketing review can open the form and accept or reject the new product idea. This is done using a view designated especially for the authorized marketing reviewers. Figure 3 shows the view.
When the marketing review is complete, the reviewer can send notifications to the process participants. If the new product idea is approved, then notification is sent to the designated resource manager so personnel can be assigned to the project. If the idea is rejected, then the originator is notified. Listing 2 shows the code.
If the form is approved, then the resource manager can open it and assign a team to work on the new product. This is done through another view specifically for designated resource managers. Figure 4 shows the view.
After the resources are assigned, the manager can make the assignments by pushing the button. Along with making the assignments, the code also creates a new team site in SharePoint for working on the product. Each approved idea gets its own site underneath the Product Development home. This keeps all the ideas well organized on the top-level site and makes it easy to collaborate on any idea because it is a sub site.
Listing 3 shows the code to create the new team site using the SharePoint Administration Web service and notify the team members.
Once the form is completed, you must publish it to the Product Development site. You can publish the form directly from Visual Studio 2005 by right-clicking the project in the Solution Explorer and selecting to publish the form. Create a new InfoPath form library and you're ready to go.
Because Windows SharePoint Services does not yet have a native workflow engine, developers wishing to create automated processes have to work a little harder. In cases where the workflow process is reasonably simple, it makes sense to code the process directly into an InfoPath form. Using a combination of e-mail notifications and SharePoint Web services will allow you to create automated processes that facilitate collaboration and can be monitored through team sites.