bamboo pm use case
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!