Plone Conference 2007
Veda Williams, a project manager at One/Northwest who manages many a Plone implementation, gave us all here at the Plone Conference some advice on best practices for managing smaller Plone Web content management projects. I found a lot of her presentation extremely familiar, as it meshed very well with my own experiences, and frankly, it all applies to any tech project, not just Plone.For project managers, success means that a project is on time, in scope, has a clean implementation, quantifiable results and provides personal satisfaction.

Guidelines to Worship

Here are some guidelines we can all relate to: * Do the paperwork -- don't get lazy about it * Scope consistently for all clients * Review project status frequently * Minimize hand-offs and disconnects * Follow through and finish lingering details * Ask for feedback and take it to heart * Do proper, ongoing postmortems

Document your project!

* Write functional specifications someone else can understand * Do this BEFORE design starts * Get sign-off from the client * Document exactly what will and will not be covered by the scope -- products to install, number of design revs, etc. You need to balance the level of detail -- too much detail and the specification will be impossible to maintain (and nobody will read it). Too little detail and it will be useless. * Take notes on any important conversations, and keep those in front of you during the project * Update your project database with any status changes (in design, implementing, ready for invoicing) * Review checklists regularly to make sure all to-dos are being addressed * Log your hours consistently

Define a Realistic and Consistent Scope

When scoping a project, the things to consider are: * Complexity of design * Custom home page vs. a single design * Overall level of tweaking required to make the design work in Plone * How deep do you want to go with a client? * Write work orders for additional design revisions

Know Your Tools

When choosing your tech toolset, keep these in mind: * Use a consistent set of proven, stable products * Bill for innovation * Know the level of implementation difficulty and cover your back side

Caveat Venditor

Know your clients. Learn to detect signs of a special client. Respect your previous history with a client and increase scope time for needy / difficult clients

Time Spent on a Project

* Each phase is allotted an estimated, reproducible number of hours * Build extra time into the project management phase * Price competitively and realistically, but remember that charging a lower price is oftentimes perceived as lower quality

Billing -- Fixed Bid vs. Time and Materials

* It's extremely hard for developers to quote on a flat rate basis * Unknowns -- client responsiveness/neediness, snag in implementation, scope creep, repeatability can be overestimated * Helps to have a ballpark "flat rate" which also takes into account hourly estimates

How and When to Bill

* Require a deposit * Second invoice upon design completion * Final invoice on implementation completion

Project Status Review

Find a system that works for you: * iGTD has changed Veda's life (iGTD is a Mac application that implements David Allen's "Getting Things Done" system that is so popular among the technorati these days. * Basecamp (an online project management tool from 37 Signals) for small details * File your email every day * Review your list of projects every day and prioritize * Hold "stand-up" meetings with colleagues to relay status and identify problems/needs

Use a Database

One/Northwest uses SalesForce.com. * Can create an account and multiple opportunities * Can track almost any detail you want, from training to timesheets * Can see a project timeline, up against other concurrent projects

Use Client To-Dos Checklist

* Clients are often overwhelmed by the number of checklist items in Basecamp * Move those into emails - clients are much more used to responded that way

Use a "Go Live" Checklist

* Often seems like there is a backlog at this phase * Time constraints are also tight

Keep Track of Client Conversations

* Important details should be captured with date, time, and persons involved, so scope creep can be tracked * Additional people on project need to stay informed * Extra insurance if somebody leaves the project

Minimize Hand-offs

* One/Northwest has outside designers/skinners * Internal hand-offs from strategists to project managers * Be consistent in what you give people during a hand-off - formal intros, design survey, wireframe/site map

Check in with Client

* constant review, reminder of scope agreement * make sure they review/approve site * Push for training * check the deliverable against scope * suggest work order/phase 2

Wrap Up

* In the flush of a great project launch, don't forget to invoice (!) * Provide documentation, especially for special features * Test the site thoroughly and ask for assistance * Change DNS settings and test again! * Celebrate!

Postmortem

* Ask client for feedback (usually about a month after launch) * Use a form with quantifiable questions and leave room for additional comments * Analyze stats over time to gauge improvement/reduced effectiveness

Process Improvements

* Improve analyzing metrics * Long-term follow-up with client * Improve scoping estimates to properly account for consistent overages * Communicate with clients more effectively * Do more face-to-face communications, esp. for training * Get more eyes on a project