bamboo pm use case

Upload: adam-shaw

Post on 06-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Bamboo PM Use Case

    1/15

    PROJECT MANAGEMENT USING SHAREPOINT AT BAMBOO

    A CASE STUDY

    Summary:This article describes how Microsoft Office SharePoint Server 2007 is being implemented at Bamboo Solutionsto manage its multitude of concurrent projects and product portfolio. It demonstrates many outofthebox functionalities

    as well as how Bamboos own commercial Web Parts are used to extend the basic capabilities of SharePoint.

    BambooProductTeam,BambooSolutionsCorporation.July2008

    BackgroundOur company, Bamboo Solutions is a commercial software vendor that provides comprehensive product suites based on

    Microsofts SharePoint platform. We are the leading vendor in providing offtheshelf SharePoint products, and currently

    have more than 40 Web Parts and Solution Accelerators available on our Web site. We strongly believe in an agile

    development process where products are quickly designed, built and released. Customer feedback is promptly reviewedand product enhancements and patch releases are scheduled accordingly. In a typical month, we release 46 patch

    releases, 1 major new product and 12 minor/major releases.

    Besides product development, Bamboo also takes on custom projects for our customers. Most of these projects are also on

    the same quick development and delivery schedule, which lasts from 610 weeks depending on the level of complexity.

    Typically, there are internal IT infrastructure and future research development projects running concurrently. This could

    add up to 46 projects in a given month.

    Today, we employ one fulltime project manager to support the product development team, and half of a project manager

    for the custom development team. How is it possible for oneandahalf project managers to manage the workload? The

    secret is the quality of our people, combined with a little help from SharePoint. We cant tell you how we do everything,

    but we will share with you how we are using SharePoint to manage our projects.

    Bamboo works in a fairly distributed environment. While our headquarters are in Reston, Virginia, U.S. (where the

    majority of our employees are), we also have offices in California, St Louis, Atlanta, and as far away as Europe and Vietnam.More importantly, many of our line of business and functional areas are distributed. For example, our engineering

    functions are in the U.S. and Vietnam, and our support teams are in the US, Sweden and Vietnam. It is imperative that our

    teams collaborate on all phases of project management in order to be able to deliver on the aggressive delivery schedule

    that our project managers are facing each day.

    OurSharePointInfrastructureWe started to use SharePoint seriously as an intranet portal with the SPS 2003 version. Today, we are running MOSS 2007

    (standard version) to support about 120 users. Our server farm topology is fairly typical, with two Web front ends, one

    Shared Services server, one Search server, and one SQL 2005 back end server. Our main portal Web application is

    extended with a secured SSL internetfacing site for remote access without a need to use VPN access. Partners and some

    enterprise customers can also collaborate with us via a Form Authenticated site so that we can maintain stricter security

    access.

    Our SharePoint portal is being used mainly for collaboration and document management, with typical information

    architecture contained within two main areas: departmental private sub sites, and companywide sites. Users and Groups

    security is defined at the toplevel site collection at the corporate level and enforced at each department site. Public and

    crossfunctional sites are managed by project managers, or by the functional lead for that particular site.

    Our basic architecture is to allow our central administrator to control the overall system security and infrastructure

    updates, but push our daytoday management and site design to each department. The main goal is to keep IT costs as

    low as possible while giving each operating unit as much control over their site as possible.

    The project management capabilities are designed to satisfy the most important needs of the following stakeholders:

  • 8/3/2019 Bamboo PM Use Case

    2/15

    Project Managers: Project status, task management and reporting capabilities; Engineering Team: Daytoday development tasks and bugs management, as well as collaboration on design and

    development;

    Quality Control: Daytoday testing and bugs management, as well as learning and understanding the functionalcapabilities of each product;

    Support: Knowledge base repository of product capabilities, as well as managing the status of outstanding bugs;and

    Executive: Overall project status, as well as drilling down into specific project details.OurProjectManagementSiteThe project management site is one of our crossfunctional areas. A typical project involves pretty much everyone in the

    organization: Marketing (product specs); Sales (pricing); Product Management (project management); Engineering (the

    heaviest site user); and Support (bugs and kb).

    Besides information that was created indirectly in SharePoint Lists, our data are also being aggregated from several Line of

    Business systems: our online ecommerce application server, our CRM system, our Great Plain accounting system and our

    online community server. This information is usually summary data that are being aggregated into highly visual reports

    presented in charts and graphs that provide snap shots of our operations.

    With our short and agile development cycles, we rely heavily on SharePoint as the main collaboration tool, along with the

    usual Office productivity suites of Outlook and Word. We actually do not use any spreadsheets. MS Project is sometimes

    used in the planning stage to model the project phases and highlevel tasks, but is not used once the project has actively

    begun. We do not use any project servers (except for internal product development and integration testing) such as MS

    Project Server 2007 or Primavera, as these would only represent overkill and add too much overhead in our situation.

    Overall project health and status is monitored using a rollup of data and charts, as we will show you later in this article.

    Logically, the top project management site is a sub web under our main portal top level site collection (phew!).

    The top project management site is based on a SharePoint Site Template, which contains a custom List of current projects.

    The project list is manually created and customized to contain the data that we need. This page provides an aggregated

    view of all projects, allowing users to use the prebuild filter view of the List to show projects listed by status, due date,

    types or project IDs. The user can then drill down to each project site by clicking on the projects Title link.

  • 8/3/2019 Bamboo PM Use Case

    3/15

    When a new project is created, a sub site is created based on a custom site template that we prebuild and populate with

    the required Lists and Web Parts. In our case, the process of creating the project site and populating the List is handled

    automatically by one of our commercial Web Parts, the Site Creation Plus Web Part.

    ProjectSiteHomePageEach project site is based on a customized Multipage Meeting Workspace template (as shown in the image above). This

    meeting workspace allows us to create multiple tabs to navigate to other major sections. Each project site contains all the

    information related to that particular project: Tasks, Bugs, Documents, Knowledge, Support, Training, and Product

    Management.

  • 8/3/2019 Bamboo PM Use Case

    4/15

    On the Home page of each project site, we want to display the most important information and an overview of the project.

    The following information is available at a glance:

    Objective: This is a custom SharePoint List that displays the key objective for each release and the due date. Team: A Custom List contains information on team members and their respective roles in the project. Note the

    presence information next to each team members name. Bamboo Solutions uses Exchange and Community

    Server 2007 with full VoiceOverIP (VOIP) Unified Messaging, so each team members schedule, contacts and

    methods of communication are readily available within our portal no matter where they are in the world.

  • 8/3/2019 Bamboo PM Use Case

    5/15

    ProjectLog: This is a custom List that we use to track major events and decisions made during the projectlifecycle.

    TasksandMilestonesThe next most important tabs are the Tasks and Milestones. As we mentioned before, we do not use other project

    management tools to manage the project once its underway. Instead, team members rely on the Tasks list to manage

    project tasks.

  • 8/3/2019 Bamboo PM Use Case

    6/15

    The Milestones tab uses our Calendar Plus Web Partto display the tasks in a calendar view. SharePoint provides a

    calendar view outofthebox for the Task List; our Calendar Plus provides some of the additional features that we use

    extensively in managing tasks, such as:

    The ability to color code different status of the tasks; and The ability to view the schedule in a quarter or year view. Note that even though our projects typically last just

    612 weeks, we do manage multiple releases within a calendar year and its good to have a view which captures

    multiple releases running concurrently.

    One of the enhancements that we will implement in the near future is to use the Team Calendar Web Partto create

    meetings and milestones for individual team members. The Team Calendar contains all the features of Calendar Plus that

    we use today, and it also provides the capability to create meeting requests directly on each members Outlook calendar

    (with the ability to do the same with Tasks in the future).

    TrackingBugsThe Bugs tab contains an Incident List where we track the bugs and enhancement requests for each release. The Incident

    List is grouped by priority and is displayed on this tab as the default view.

  • 8/3/2019 Bamboo PM Use Case

    7/15

    On the righthand side of this page, we also created several views of the same list to summarize the current active bugs by

    Status, Priority and Assignee. This data are sometimes displayed in chart format using our Chart Plus Web Part.

    The information on this tab is very important in 2 distinct phases:

    When the project is in its testing phase, our QA team uses this list to enter bugs, assigning them to thedevelopment team. The developers also use this list to change bug status from Open to Fixed. Our QA team

    then verifies the fixes on the next build and closes out the bugs upon verification of the fixes.

    Our Product Management team uses this list to produce and update release notes each time we release a newpatch or upgrade to the product.

    In the middle of the development process for a given release, there could be hundreds of bugs created, modified, validated

    and closed (yes, the screen shots above do not adequately represent this). We supplement this list with 2 capabilities that

    make it much easier to manage the entire QA process:

    SearchWe use the Simple Search Web Partto allow our team members to constrain their search to this specific bug list. Yes, its

    true that SharePoint (MOSS in particular) has a great search capability, but try to use that to find a bug for which you want

    to change the status; its overwhelming and not very easy to set up. The simple search allows our user to search for all

    important fields, and is further filtered by Status, or by the person who reported the bugs.

    AlertsAs good as having a portal where people can go and look for information is, we have learned through the years that

    tracking of bugs and tasks is accomplished much more easily using the Alerts mechanism in SharePoint. Its very difficult

    to look at the bugs list and have a sense of which items have been updated. In our situation, we want to send a notification

    to the team member when any of several conditions occur:

    When a new bug is created, the developer to whom its assigned should receive an email notification. When the status of the bug changes, the originator of the bug and the project manager should both receive email

    notification.

    When a bug is closed, the review team and the project manager are notified.

  • 8/3/2019 Bamboo PM Use Case

    8/15

    Initially, we used the outofthebox SharePoint Alert to implement this functionality, but quickly realized that it does not

    provide all of the functionality that we needed. We received many complaints about people receiving alerts spam each

    time an item is touched in the list, so another of Bamboo product, the Alert Plus Web Partis being used to filter and send

    notifications out only to the people who should be receiving alerts (as specified above).

    Believe me when I say that cutting down the amount of trivial alerts really helps the team to collaborate much better.

    SiteColumns

    The Task and Bugs list is also a perfect place to implement Site Columns. A site column is a reusable column definition that

    you create and upload to a site gallery, and it can be assigned to multiple lists across multiple SharePoint sites. We use Site

    Columns in our Task and Bug Lists to ensure consistency of metadata across all project sites.

    For example, we defined Bsc Bug Categories as a Site Column and populated the list with a set of predefined choices.

    This Site Column is used in the Bug List of the Project Site Template that is used to create all the project sites. As a result,

    when a user creates a bug item, they will see the same choices in every project.

    DocumentManagementAs the rule, all electronic documents relating to the project are stored in a Document Library and can be accessed with the

    Document tab. All of the libraries have versioning enabled and provide the ability for our users to perform check

    in/checkout for updating. Some, but not all projects have workflow enabled to facilitate reviewing of final documents.

  • 8/3/2019 Bamboo PM Use Case

    9/15

    For each project, we use several libraries to hold documents:

    Document Library. This library is used to store design documents and requirements specs, as well as othermiscellaneous documents.

    Picture Library. We use this library to store screen shots, images, and screen prototypes. Wiki Library. A major part of our design is done using the wiki library. We encourage our developers to use

    wikis to write design and support documentation.

    ContentTypesIn our Document Library we also implement several Content Types to standardize the type of documents being uploaded

    to the libraries. Content Types allow us to retain additional metadata about different types of documents in the same

    document library. Some examples of Content Types that we use are Design Document, Review Documents, and Sample

    Codes.

    DiscussionsAnother thing we learned over the years doing project management is that there is no such thing as completed bug, tasks,

    or design documents. As soon as a task or bug was created, it usually follows with 10 emails asking for clarifications,

    additional details and other information. These email trails not only created confusion, ate up network storage, and upset

    our IT admin, but most importantly, we would lose the knowledge of how a particular problem had been solved, and would

    thus also lose the ability to quickly resolve the problem the next time it happens. This is where a discussion board can be

    the most effective tool in managing your project.

  • 8/3/2019 Bamboo PM Use Case

    10/15

    We use the discussion board pretty much out of the box and enforce the rules that any questions related to design, bugs,

    tasks, etc., are created in this forum. The discussion list is sorted by the date of the last post, and a simple flat view is used.

    We also use the Alert mechanism and the entire development team is subscribed to receive notification when there is a

    question or answer being posted.

    This discussion area is the only place where we wrote a custom piece of code, to solve one very annoying and time

    consuming problem with the SharePoint build in text editor. As our team started to heavily use discussion threads and

    wikis for design, not only did the lack of editing capabilities become apparent, but the biggest problem that we

    encountered is that its very hard to upload images directly to the discussions. You have to upload an image into a Picture

    Library, and then provide a HTTP link to the image in your text. It sounds like a simple additional step, but it becomes less

    so when you have to upload 5 images for each discussion. A simple problem like that can make our users stop using the

    site altogether.

  • 8/3/2019 Bamboo PM Use Case

    11/15

    We solved this problem by replacing the build in text editor with another third party editor that allows the user to upload

    and insert the image in a single step, as you can see in the above screenshot. With a little programming capability, you can

    accomplish the same using a third party editor like Teleriks RadEditor. Bamboo will also release a new Custom Column

    Packproduct in the near future to help with this particular problem.

    KnowledgeManagementWith as many projects and products as we are handling during a typical quarter, our development resources are typically

    rotated between projects. As our product portfolio grows, new team members are constantly being added or moved. One

    of our primary goals is to find a way to retain as much knowledge about the project as we can from each team member.

    Our solution is in the Knowledge tab.

  • 8/3/2019 Bamboo PM Use Case

    12/15

    The KB tab contains a simple list where we store all the external links and reference materials that we discover during the

    research and design phase of the project. Right now, we do not use automatic crawling of external sources, but just simple

    static links to the information.

    Each project also has an iFramebased control which allows us to view the KB articles that we publish on our online

    storefront and community sites. This KB store provides a set of articles that we publish for our customers on varioustopics such as howto, workaround, top issues, etc. This information is very useful for the project team to consider when

    implementing enhancements and patch releases.

    Bamboo also uses an internal Knowledge Managementsystem based on the SharePoint platform. This KB system contains

    internal process, information worker tips, howto, and IT/Sales/Marketingrelated questions. This information is also

    filtered based on keyword and attached to our project site to help new team members understand how to use the portal

    more effectively.

    TrainingFor many matured products, we also create a List containing a number of training topics for new project members. Most of

    the training is done in the wikibased format where exercises are set up with questions on how certain aspects of the

    product, or projects, are designed and implemented. The questions then refer to the reference materials in our KB,

    Discussion, or Document Libraries.

  • 8/3/2019 Bamboo PM Use Case

    13/15

    ProjectAggregatedViewsOnce the project sites are up and running, some of the most frequent questions that you will hear are, How do I see the

    overall status of all the projects?, and How do I know which tasks are assigned to me from multiple projects?. The

    project top site can give you the overall status at a glance, but in order to see overall tasks, issues or bugs across all

    projects, we have to be able to aggregate data from multiple projects into one site.

    SharePoint does not provide the rollup capability that we need. Initially, we used the SharePoint Designer to pull data

    from various lists and create a dataview, but we soon found a better way to aggregate data from another of our

    commercial Web Parts, the List Rollup Web Part.

    What we decided to do was create a crossfunctional site at the top level that can be used to display data from multiple

    project sites. This is our Bamboo Weekly site as shown in the screenshot above. Using the List Rollup Web Part, we can

    bring the Calendar, Tasks and Bugs from various project lists into one view.

  • 8/3/2019 Bamboo PM Use Case

    14/15

    Using the List Rollup capability, we can display the data using the builtin DataViewer Web Part. This Web Part providescapabilities to filter, sort and group data as needed. One of the problems with using the builtin dataviewer is that we

    have to use SharePoint Designer each time we want to change or customize the view, so we finally decided to use our

    DataViewer Web Part, which can read the data from the List Rollup to display the aggregated data.

    The major benefit for us in using the DataViewer Web Part is being able to perform grouping, sort, and filter at run time

    without having to resort to SharePoint Designer (which also removes the Ghosting issues that we sometimes had to worry

    about). This Web Part also allows us to have more information on the Projects data and the Task data at the same time.

    OtherInformationThe rest of the tabs that we use in our project site are fairly Bamboospecific, allowing our Support and Product

    Management teams to provide their information for each project. These are implemented as views that get data from each

    departments private site, filtered according to each project and displayed in the project sites. For information that we

    aggregate from external data sources, we use either an iFrame through the Page Viewer Web Part, or directly backend

    interface through our commercially available Web Parts.

    Having external data related to the project on the same site is important to the project team. We will be using Business

    Data Column and MashPointin the future update to the site.

    LessonsLearned

  • 8/3/2019 Bamboo PM Use Case

    15/15

    Project Management is obviously a large topic and frequently needs to be customized for each company according to

    specific needs. We hope that this article was helpful in showing you one way that it can be done using SharePoint as a

    collaboration platform. As we grow into the second year of using the project sites, our top takeaways and best practice

    recommendations to implement on a similar project site are:

    Use a site template to provision your project sites. This will provide a consistent look and make it easy for endusers to create new readytogo projects.

    Think of a way to rollup the data and provide aggregated information. Understand and use Alerts. Think of a way to provide effective Alerts via Audience or group that help control

    email spam.

    Provide the ability to perform search that can be narrowed down to each specific project site or List.Further improvements to the existing process that we have in mind:

    Integrate our Calendar and Task with Exchange/Outlook for better task management. Use Business Data Catalog (BDC) or MashPointto import information from other LOB systems.

    Concerns going forward:

    Defining and implementing a project archive process as data grow. Making sure our implementation will survive the next major upgrade. This requires a combination of minimizing

    and documenting any custom code, and making sure that Web Parts infrastructure is upgradeable. The ability to

    implement redundant views of important business data, e.g., being able to view task lists with just a regular List,

    along with a commercial Web Part, is also helpful.

    ConclusionIs SharePoint the right tool for project management? There is no question in our mind that SharePoint (even WSS alone) is

    a great platform on which to build your project management infrastructure. To us, the most difficult (and most expensive)

    part of project management is how to make sure information (especially changes) is transferred and received effectively

    by all appropriate team members so that required actions can be taken. SharePoint handles these aspects of project

    management very well.

    We believe that you can accomplish a very practical and effective way to manage projects using SharePoint as a tool. If you

    noticed, we have not used any features that are only available in the MOSS Enterprise version. Windows SharePoint

    Services (which is free) or the Standard version of MOSS should get you started effectively. We've also shown how some of

    the Bamboo commercial Web Parts can be used to enhance the user experience, and provide additional functionality for

    your project management site. But you can absolutely build your own version of the project management site we've

    described using standard outofthebox SharePoint components.

    Do you have questions or comments on this article? Please visit our Project Management forum and share your thoughts

    with Bamboo Nation!