Monday, 23 March 2009

The Agile Team’s Project Portal

The Project Portal

A project portal is a 'home page' viewed within an internet browser which helps agile teams communicate and collaborate. The portal ensures that everyone is working from the latest and most complete vision. The value in having up-to-date status, current events, outstanding issues, what's coming on the horizon, schedules, technical information, test results, etc, all in one place is clear.

Without a portal or some sort of home-page, project information tends to be spread across emails, isolated documents, project plans, and so on. It is not easy to get a clear view of the project as a whole. In addition there is nowhere sensible to note all the minor events (discussions, decisions, technical implementations, etc) which can have a big impact on the software development, without emailing the whole world every time.

The portals are ever more important if you have teams in different locations or time-zones. It gives the various teams visibility of what is going on or what has gone on before they got into work, all in one place. Of course the idea isn't new, for example Microsoft's Team Foundation Server comes with a project portal associated with each project created (albeit to complex and difficult to configure and not hugely effective in my opinion).

The Implementation

I have been using Microsoft SharePoint to setup the project portals. I have started simple so far (only using the basic web-parts which come with SharePoint). The image below shows my original design, which has now been up and running for around three months. It was very quick and easy to setup simply by jiggling a few web-parts around in the SharePoint page editor.

The portal consists of:

  • Project Discussion – This is the heart of the portal, and the fastest moving part. Without this we would be reliant mainly on emails being sent, being sent to the correct parties, and being read.
  • Documentation Links – A simple set of links to the important up-to-date documentation. No hunting around in attachments of folders for documentation.
  • Current Iteration Objectives – What will be delivered this iteration (from a business perspective), plus any technical debt to be paid back.
  • Product Backlog – Work requested but not yet scheduled into an iteration (business requirements, plus technical debt to be paid back).
  • Recent Documentation changes – This details all the changes to a project documentation folder on SharePoint (it's an RSS viewer web-part pointed to the RSS feed showing changes to files in a SharePoint folder).
  • Project Calendar – A calendar detailing iteration dates, release dates, milestones, team member holidays, etc

It could be enhanced in many ways, such as adding the following (although some custom-web parts may have to be written):

  • Detail recent Check-ins in the project branch
  • Show the status of automated processes such as:
    • The Build
    • Integration Tests
    • Regression Tests
  • A place to show outstanding bugs/defects
  • The burn down chart for the current iteration/sprint.

Usage

It doesn't matter whether you use Extreme Programming (XP), Scrum, Feature Driven Development (FDD), Lean Software Development, Agile Unified Process, or any similar methodology. The portal will bring together project managers, program managers, business analysis's, developers, QA, sponsors and anyone else involved in the software project.

The project portals I have recently setup show all sorts of aspects relating to projects, looking at a couple now I can see the following discussions within the portals:

  • Clarifications and changes to requirements
  • Updates to documentation and the changes highlighted
  • Definitions of share components and methods
  • Branching
  • Why the build is breaking
  • QA defects
  • Planned release dates
  • Important code changes
  • Who is going to pick up which tasks
  • Overall progress updates

The portal should NEVER replace face-to-face or telephone conversations, or meetings. It should completely replace emails. In fact I have banned project related emails from being sent. This led to a snowball effect ensuring the portals became effective very quickly.

In short even the basic project portal which I setup has had an enormous impact in the organisation and communication within projects. We are all undoubtedly more efficient, better informed, and more productive as a result.

0 comments: