Microsoft Commerce Server 2000: Building the Project Plan
This chapter explains how to create a Project Plan. A Project Plan includes a functional specification; a list of the project team members, including the responsibilities of each person; a project schedule; and a cost estimate. The Project Plan organizes project-planning information, such as tasks, resources, organization, timeframes, and dependencies necessary to complete the project. It contains the information that developers and others who assemble and configure the hardware and develop the site will need.
The Project Plan is refined at the beginning of each phase (Plan, Develop, Deploy, Manage), using Microsoft Project or a similar project-planning tool, to update project information as the project progresses.
To ensure that you have all the essential information you need to build your Project Plan, the following personnel should participate in the planning process:
Personnel |
Tasks |
---|---|
Technical |
Create the functional specification |
Marketing and Sales |
Approve the functional specification |
Company executives |
Approve the functional specification |
The following sections provide detailed information about how to build your Project Plan.
Creating a Functional Specification
A functional specification usually contains the following information:
Summary
Design goals and justification
Design
Compatibility and platform requirements
Third-party involvement
Localization
Deployment and administration
Issues and risks
The following sections provide guidelines for creating each part of your functional specification.
Summary
Describe your existing site (if you have one)
Describe the new site
Describe your users
Describe key user scenarios
Outline navigation through the site
Design Goals and Justification
Create a list of design goals, including goals for capacity and performance.
Create a prioritized list of features and functions. Include research, especially market research, to indicate why each feature is necessary.
List related functionality recommended for future site releases (if any).
The following is a list of questions to consider when you create your feature list:
Who is the customer for this feature?
Why would a customer want to use this feature?
What is the logical flow through the user interface? Is the result what users expect?
Are there other ways to accomplish the same task or implement the feature? What are they?
Will the customer have the knowledge necessary to use this feature?
Is the customer likely to combine the feature with other features or procedures?
Is the feature or procedure consistent with other features of procedures in the product or in similar products?
Are any changes needed to make the feature or procedure appropriate to an international market?
What needs to be changed for different languages?
Will different versions implement the feature differently in the future?
Design
Establish coding standards.
Describe the application architecture (event sequence charts, user authentication, and so on).
Define your site profile, including the following:
Site contents
Number of Web pages (dynamic versus static)
Describe each feature and explain how it will be used. (Cross-reference each feature to your project vision, conceptual design, and requirements, as appropriate.)
Map each feature to a Commerce Server 2000 function.
Design the visual interface.
Determine whether or not settings should be persistent.
Data
Describe the data architecture (data models, database schemas, and so on).
Describe how data is to be stored.
Describe the processes that will be used to transfer, update, and validate data.
Describe processes for accessing data, and identify who will have access to data and under what circumstances.
Security
Create a prioritized list of anticipated threats to your system, and then design a mitigation solution for each threat.
Describe your plan for securing your networks (how users can log on, how resources can be accessed, and who can access them, and so on).
Describe your plan for application security, including the following:
Security on software and services
User authentication and authorization processes
Membership and other directory schemas
Describe your plan for securing data, including the following:
Database security
File/share security
Maintaining data integrity
Describe which Commerce Server, Microsoft Windows 2000, SQL Server, or other product security features you plan to use.
Describe what measures you plan to use to monitor and authenticate user input.
Compatibility and Platform Requirements
Specify hardware.
Describe and diagram the system architecture, including the following:
Logical architecture
Physical architecture
Network architecture
Identify software and services, and describe why they were chosen.
List the systems with which the site must interface and describe how you plan to provide connectivity and accessibility to them.
Describe optimal hardware, software, services, and system settings.
Determine the boundary conditions with line-of-business systems.
Confirm disk space requirements.
Identify incorrect version matches between components.
Identify shared components, owners, and tracking processes.
Identify who owns the relationship with component owners.
Define agreement with component owners.
Explain how the site will work with various browsers.
Third-Party Involvement
If you plan to use Microsoft Solution Providers, describe their role and contribution to the solution.
List all dependencies on third-party components.
Localization
Identify the parts of the site that require localization (if any). Does the entire site need to be multilingual or only portions of it (such as the catalogs)?
What languages do you need to support?
What currencies do you need to support?
Migration
- Describe the migration path from the existing site (if any) to the new site.
Issues and Risks
What are the project-related issues?
What are the project-related risks?
Identifying the Project Team
When the functional specification is finished, the technical group must identify the development, deployment, and system administration resources necessary to create and operate the site. Two types of personnel are needed on the project team: those with specific technical skills, and those who can relate the business goals of the company to the implementation of the Web site.
Commerce Server provides a set of features for developing, deploying, and managing Web sites. Each feature area requires specific skills that span three kinds of expertise within an organization.
The following table lists the three distinct roles, provides examples of the tasks that must be performed and the knowledge required for each role, and identifies the Commerce Server tools and user interfaces used by each:
Role |
Responsibilities |
Required Knowledge |
Tools and User Interfaces |
---|---|---|---|
Site Developer |
Builds the Web site. |
Dynamic Hypertext Markup Language (DHTML) |
Commerce Server Solution Sites |
System Administrator |
Packages and moves sites to the production computer. |
Microsoft Windows 2000 |
Commerce Server Site Packager |
Business Manager |
Creates specifications for developing the Web site. |
Business goals, strategies, and processes for creating and running a successful e-commerce Web site. |
Commerce Server Business Desk |
Building the Project Schedule
The project schedule clearly identifies how much time and how many resources it will take to develop the site. The schedule should also spell out assumptions, dependencies, and risks. If there is not enough time in the schedule to build the site as designed, it should also specify the trade-offs for altering the design or extending the time necessary to build the site as originally planned.