You are previewing Pro Project Management with SharePoint 2010.
O'Reilly logo
Pro Project Management with SharePoint 2010

Book Description

Many successful project managers are beginning to utilize Microsoft SharePoint to drive their projects and operational initiatives. SharePoint Server provides teams with a centralized location for project information and facilitates collaboration between project team members. The intention of this book is to provide a hands-on case study that you can follow to create a complete project management information system (PMIS) using SharePoint Server 2010.

Each chapter is focused on a typical project management activity and demonstrates techniques that can be used to facilitate that activity. The book covers all project phases from managing requirements, implementation, testing and post production support. By the end of the book you'll have a toolbox full of solutions and plenty of working examples. With these you'll be able to build your own PMIS uniquely suited to your organization.

Table of Contents

  1. Copyright
  2. About the Author
  3. About the Technical Reviewer
  4. Acknowledgments
  5. 1. Introduction
    1. 1.1. About This Book
    2. 1.2. Prerequisites
    3. 1.3. Project Management Activities
      1. 1.3.1. Requirements
      2. 1.3.2. Implementation
      3. 1.3.3. Testing
      4. 1.3.4. Postproduction Phase
  6. I. Requirements
    1. 2. Collecting Requirements
      1. 2.1. Defining Requirements
      2. 2.2. Creating a Project Management Site
      3. 2.3. Defining Functional Areas
        1. 2.3.1. Defining the Content Type
        2. 2.3.2. Creating the Functional Areas List
        3. 2.3.3. Populating the Functional Areas List
      4. 2.4. Defining the Requirements
        1. 2.4.1. Adding Custom Site Columns
          1. 2.4.1.1. Functional Area
          2. 2.4.1.2. Requirement Type
          3. 2.4.1.3. Additional Columns
        2. 2.4.2. Defining the Content Type
        3. 2.4.3. Creating the Requirements List
      5. 2.5. Testing the Requirements List
        1. 2.5.1. Defining the All Items View
        2. 2.5.2. Adding Requirements
      6. 2.6. Summary
    2. 3. Processing Incoming E-mail
      1. 3.1. Incoming E-mails
        1. 3.1.1. Understanding SharePoint's E-mail Capability
      2. 3.2. Configuring Incoming E-mail
        1. 3.2.1. Using Automatic Mode
          1. 3.2.1.1. Installing the SMTP Server Feature
          2. 3.2.1.2. Starting the SMTP Service
          3. 3.2.1.3. Configuring the SMTP Server
          4. 3.2.1.4. Configuring SharePoint
        2. 3.2.2. Using Advanced Mode
      3. 3.3. Configuring an Incoming List
        1. 3.3.1. Creating the Incoming Requirements Document Library
        2. 3.3.2. Enabling Incoming E-Mails
        3. 3.3.3. Handling Attachments
      4. 3.4. Adding a Workflow
        1. 3.4.1. Associating the Approval Workflow
        2. 3.4.2. Testing the Workflow
        3. 3.4.3. Completing the Initiation Form
        4. 3.4.4. Completing the Approval Task
      5. 3.5. Summary
    3. 4. Managing Requirements
      1. 4.1. Analyzing Requirements
        1. 4.1.1. Prioritizing Requirements
        2. 4.1.2. Requirement Dependencies
      2. 4.2. Adding Factors
        1. 4.2.1. Using the List Settings Page
        2. 4.2.2. Adding a Factor
        3. 4.2.3. Adding Additional Factors
        4. 4.2.4. Scoring a Requirement
      3. 4.3. Calculating the Overall Score
        1. 4.3.1. Adding a Calculated Column
        2. 4.3.2. Modifying the View
      4. 4.4. Supporting Non-Negotiable Requirements
        1. 4.4.1. Adding the Required Flag
        2. 4.4.2. Modifying the Overall Score Formula
        3. 4.4.3. Sorting the View
      5. 4.5. Supporting Dependencies
        1. 4.5.1. Adding a Lookup Column
        2. 4.5.2. Adding a Dependency
      6. 4.6. Summary
    4. 5. Supporting Discussions
      1. 5.1. Adding the Requirement Discussions List
        1. 5.1.1. Linking the Related Requirement
        2. 5.1.2. Handling Deleted Records
        3. 5.1.3. Adding a Discussion
        4. 5.1.4. Using the Discussion Feature
        5. 5.1.5. Choosing the Default View
      2. 5.2. Combining Lists
        1. 5.2.1. Adding a Web Part
          1. 5.2.1.1. Defining the Connection
          2. 5.2.1.2. Testing the Display Form
        2. 5.2.2. Creating a New Web Page
          1. 5.2.2.1. Adding a Page to the SharePoint Site
          2. 5.2.2.2. Adding a Related List
      3. 5.3. Using Outlook
        1. 5.3.1. Configuring the Outlook List
        2. 5.3.2. Viewing Discussions in Outlook
        3. 5.3.3. Posting a Reply
      4. 5.4. Summary
  7. II. Managing Development
    1. 6. User Stories
      1. 6.1. Defining User Stories
        1. 6.1.1. Describing User Stories
        2. 6.1.2. Linking to Requirements
      2. 6.2. Implementing User Stories in SharePoint
        1. 6.2.1. Defining Themes
        2. 6.2.2. Creating New Site Columns
          1. 6.2.2.1. Defining the Theme Column
          2. 6.2.2.2. Defining the Story Priority Column
          3. 6.2.2.3. Defining the Story Points Column
          4. 6.2.2.4. Defining the Epic Column
          5. 6.2.2.5. Defining the Story Requirements Column
          6. 6.2.2.6. Summarizing the Site Columns
        3. 6.2.3. Creating the User Story Content Type
        4. 6.2.4. Creating the User Stories List
        5. 6.2.5. Defining the View
      3. 6.3. Modifying the New Form
      4. 6.4. Summary
    2. 7. Project Backlog
      1. 7.1. Describing Agile Methodology
        1. 7.1.1. Using Iterations
        2. 7.1.2. Defining the Project Backlog
      2. 7.2. Implementing Iterations
        1. 7.2.1. Defining Iterations
          1. 7.2.1.1. Adding Site Columns
          2. 7.2.1.2. Creating the Iteration Content Type
          3. 7.2.1.3. Creating the Iteration List
        2. 7.2.2. Assigning an Iteration
          1. 7.2.2.1. Creating a Site Column
          2. 7.2.2.2. Modifying a Content Type
          3. 7.2.2.3. Assigning User Stories
        3. 7.2.3. Enhancing the Iteration Form
      3. 7.3. Implementing a Project Backlog
        1. 7.3.1. Adding User Story Details
          1. 7.3.1.1. Creating the Story Dependencies Column
          2. 7.3.1.2. Creating the Story Risk Column
          3. 7.3.1.3. Creating the Story Ready Column
        2. 7.3.2. Modifying the User Stories List
        3. 7.3.3. Creating the Project Backlog View
          1. 7.3.3.1. Adding a View Filter
          2. 7.3.3.2. Specifying the Content
      4. 7.4. Summary
    3. 8. Iteration Backlog
      1. 8.1. Review
      2. 8.2. Populating the Iteration Backlog
        1. 8.2.1. Defining Iteration Tasks
        2. 8.2.2. Managing Defects
        3. 8.2.3. Handling Issues
      3. 8.3. Using the Iteration Backlog
      4. 8.4. Implementing an Iteration Items List
        1. 8.4.1. Creating New Site Columns
        2. 8.4.2. Creating the Content Types
          1. 8.4.2.1. Creating the Base Content Type
          2. 8.4.2.2. Creating the Iteration Task Content Type
          3. 8.4.2.3. Creating the Remaining Content Types
        3. 8.4.3. Creating the Iteration Items List
      5. 8.5. Using the Iteration Items List
        1. 8.5.1. Modifying the Default View
        2. 8.5.2. Adding Tasks
        3. 8.5.3. Adding Defects and Issues
      6. 8.6. Creating the Iteration Backlog
        1. 8.6.1. Creating an Iteration Backlog View
        2. 8.6.2. Enhancing the Iteration Form
      7. 8.7. Summary
    4. 9. Burndown Charts
      1. 9.1. Review
      2. 9.2. Using Burndown Charts
        1. 9.2.1. Understanding a Burndown Chart
        2. 9.2.2. Using a Project Burndown
      3. 9.3. Implementing an Iteration Burndown
        1. 9.3.1. Defining the Iteration Burndown Stats List
          1. 9.3.1.1. Creating the Iteration Burndown Content Type
          2. 9.3.1.2. Creating the Iteration Burndown Stats List
        2. 9.3.2. Creating a Datasheet View
        3. 9.3.3. Populating the Data
        4. 9.3.4. Creating Iteration Views
          1. 9.3.4.1. Modifying the Default View
          2. 9.3.4.2. Adding New Views
        5. 9.3.5. Customizing the New Form
      4. 9.4. Creating a Developer's Portal
        1. 9.4.1. Creating a Web Part Page
        2. 9.4.2. Building the Web Page
        3. 9.4.3. Adding a Chart
          1. 9.4.3.1. Enabling the Enterprise Features
          2. 9.4.3.2. Adding the Chart Web Part
          3. 9.4.3.3. Configuring the Chart Data
          4. 9.4.3.4. Adding a Connection
        4. 9.4.4. Displaying the Portal Page
      5. 9.5. Creating a Project Burndown
        1. 9.5.1. Collecting Data Points
        2. 9.5.2. Modifying the Project Backlog View
        3. 9.5.3. Adding a Project Page
      6. 9.6. Summary
  8. III. Testing
    1. 10. Getting Organized
      1. 10.1. Using Document Libraries
        1. 10.1.1. Creating a Document Library
        2. 10.1.2. Providing Version History
        3. 10.1.3. Viewing Library Documents in Office
        4. 10.1.4. Organizing Documents in Folders
        5. 10.1.5. Customizing Your Library
      2. 10.2. Using Calendars
      3. 10.3. Organizing Links
      4. 10.4. Putting It All Together
      5. 10.5. Summary
    2. 11. Creating Test Cases
      1. 11.1. Glossary
      2. 11.2. Defining Test Cases
        1. 11.2.1. Breadth First, Then Depth
        2. 11.2.2. Nonfunctional Testing
        3. 11.2.3. Traceability
        4. 11.2.4. Operation Grid
        5. 11.2.5. Organizing Test Scenarios
      3. 11.3. Building a SharePoint Solution
        1. 11.3.1. Creating a Test Areas List
        2. 11.3.2. Building a Test Scenarios List
          1. 11.3.2.1. Adding Site Columns
          2. 11.3.2.2. Creating a Content Type
          3. 11.3.2.3. Creating the List
          4. 11.3.2.4. Adding Test Scenarios
          5. 11.3.2.5. Using a Datasheet View
        3. 11.3.3. Building a Test Cases List
          1. 11.3.3.1. Creating the Site Columns
          2. 11.3.3.2. Creating the Content Type
          3. 11.3.3.3. Creating the Test Cases List
          4. 11.3.3.4. Adding Test Cases
          5. 11.3.3.5. Creating a Data Entry View
      4. 11.4. Creating a Test Scenarios Page
      5. 11.5. Summary
    3. 12. Reporting Defects
      1. 12.1. Review
      2. 12.2. Test Cycles
        1. 12.2.1. Test Items
        2. 12.2.2. Agile Testing
        3. 12.2.3. Test Results
      3. 12.3. Implementing Test Cycles
        1. 12.3.1. Defining Test Cycles
          1. 12.3.1.1. Creating the Test Status Site Column
          2. 12.3.1.2. Creating the Test Cycle Content Type
          3. 12.3.1.3. Creating the Test Cycles List
          4. 12.3.1.4. Modifying the Test Cycles Views
          5. 12.3.1.5. Adding a Test Cycle
        2. 12.3.2. Defining Test Items
          1. 12.3.2.1. Creating Additional Site Columns
          2. 12.3.2.2. Creating the Test Item Content Type
          3. 12.3.2.3. Creating the Test Items List
      4. 12.4. Implementing the Test Cycle Workflow
        1. 12.4.1. Creating a Visual Studio Project
        2. 12.4.2. Defining the Workflow
        3. 12.4.3. Implementing the Workflow Logic
        4. 12.4.4. Deploying and Running the Workflow
      5. 12.5. Recording the Test Results
        1. 12.5.1. Adding a Web Part Page
        2. 12.5.2. Performing the Tests
      6. 12.6. Generating Defects in the Iteration Backlog
        1. 12.6.1. Modifying the Iteration Defect Content Type
        2. 12.6.2. Adding the Workflow Logic
        3. 12.6.3. Deploying and Running the Workflow
        4. 12.6.4. Modifying the Iteration Backlog
      7. 12.7. Summary
    4. 13. Testing Metrics
      1. 13.1. Review
      2. 13.2. Using Testing Metrics
        1. 13.2.1. Progress Metrics
        2. 13.2.2. Quality Metrics
          1. 13.2.2.1. Coverage
          2. 13.2.2.2. Initial Quality
          3. 13.2.2.3. Defect Removal Effectiveness
        3. 13.2.3. Analyzing Defect Source
      3. 13.3. Supporting Testing Metrics
        1. 13.3.1. Creating Additional Site Columns
          1. 13.3.1.1. Adding the Defect Properties
          2. 13.3.1.2. Adding the Totals Columns
          3. 13.3.1.3. Adding the Calculated Columns
        2. 13.3.2. Modifying the Lists
          1. 13.3.2.1. Modifying the Test Items List
          2. 13.3.2.2. Modifying the Test Cycles List
          3. 13.3.2.3. Modifying the Iterations List
      4. 13.4. Computing the Metrics
        1. 13.4.1. Reusing the Chapter12 Project
        2. 13.4.2. Implementing the Metric Logic
          1. 13.4.2.1. Modifying the InProgress Block
          2. 13.4.2.2. Adding the Completed Block
        3. 13.4.3. Running the Workflow
        4. 13.4.4. Creating Another Test Cycle
      5. 13.5. Adding Defect Source Analysis
        1. 13.5.1. Creating the Defect Source List
        2. 13.5.2. Creating a Lookup Column
        3. 13.5.3. Creating a Group By View
      6. 13.6. Summary
  9. IV. Postproduction
    1. 14. Workflow Tasks
      1. 14.1. Understanding Workflows
        1. 14.1.1. Human-Centric Workflows
        2. 14.1.2. State Machine Workflows
          1. 14.1.2.1. Defining the States
          2. 14.1.2.2. Defining the Workflow Tasks
        3. 14.1.3. Tasks in SharePoint
          1. 14.1.3.1. Using the Tasks List
          2. 14.1.3.2. Understanding the Payload
      2. 14.2. Designing an Issue-Tracking System
        1. 14.2.1. Adding an Active State
        2. 14.2.2. Defining Resolution Types
      3. 14.3. Creating the SharePoint Objects
        1. 14.3.1. Designing the Issues List
          1. 14.3.1.1. Adding Site Columns
          2. 14.3.1.2. Creating the PM Issue Content Type
          3. 14.3.1.3. Creating the Issues List
        2. 14.3.2. Creating the Task Content Types
          1. 14.3.2.1. Creating the Site Columns
          2. 14.3.2.2. Modifying the Workflow Task Content Type
          3. 14.3.2.3. Creating the Content Types
          4. 14.3.2.4. Adding the Content Types to the Tasks List
      4. 14.4. Summary
    2. 15. State Machine Workflows
      1. 15.1. Creating the Workflow Project
        1. 15.1.1. Configuring the Workflow Project
        2. 15.1.2. Understanding Workflow States
          1. 15.1.2.1. Navigation
          2. 15.1.2.2. Initialization and Finalization
          3. 15.1.2.3. Substates
          4. 15.1.2.4. SetState
          5. 15.1.2.5. Setting Up the Workflow
        3. 15.1.3. Defining the States
          1. 15.1.3.1. Initial and Final States
          2. 15.1.3.2. Adding the Remaining States
      2. 15.2. Implementing the Event Handlers
        1. 15.2.1. CreateTask MethodInvoking Event
        2. 15.2.2. OnTaskChanged Events
          1. 15.2.2.1. Accessing Extended Properties
          2. 15.2.2.2. Adding the Event Handlers
        3. 15.2.3. State Initializers
        4. 15.2.4. Remaining Events
        5. 15.2.5. Using a Work Task
      3. 15.3. Designing the State Initialization
        1. 15.3.1. Initializing the New State
          1. 15.3.1.1. Correlation Tokens
          2. 15.3.1.2. Specifying the Content Type
        2. 15.3.2. Initializing the Assigned State
          1. 15.3.2.1. IfElseActivity
          2. 15.3.2.2. Defining Declarative Rule Conditions
        3. 15.3.3. Initializing the Active State
        4. 15.3.4. Initializing the Resolved State
        5. 15.3.5. Initializing the Waiting State
      4. 15.4. Designing the Event Handlers
        1. 15.4.1. Designing the Initial State
        2. 15.4.2. Designing the New State
        3. 15.4.3. Designing the Assigned State
          1. 15.4.3.1. Using the UpdateTask Activity
          2. 15.4.3.2. Finishing the Assigned State
        4. 15.4.4. Designing the Active State
        5. 15.4.5. Designing the Resolved State
        6. 15.4.6. Designing the Waiting State
      5. 15.5. Configuring the Workflow
        1. 15.5.1. Adding an Association Form
        2. 15.5.2. Using the Association Data
        3. 15.5.3. Associating the Workflow
      6. 15.6. Testing the Workflow
      7. 15.7. Summary
    3. 16. Creating Custom Forms
      1. 16.1. Creating a Custom Task Form
        1. 16.1.1. Connecting to SharePoint
        2. 16.1.2. Modifying the Form Layout
        3. 16.1.3. Publishing the Form
        4. 16.1.4. Testing the Custom Form
      2. 16.2. Creating the Remaining Task Forms
      3. 16.3. Creating a Custom Issue Form
        1. 16.3.1. Changing the Control Type
        2. 16.3.2. Handling Date and Time Picker Controls
        3. 16.3.3. Handling Person/Group Picker Controls
        4. 16.3.4. Changing the Labels
        5. 16.3.5. Testing the Form
      4. 16.4. Summary
  10. Epilogue