Search This Blog

Tuesday, September 27, 2011

Sharepoint Part 1: Custom Project Systems on a Shoestring

Develop your own project systems using Free Tools, just add labor


Introduction
There are many Project Management tools on the market, and a few “gold standards” – MS Project, MS Project Server, to name a few – and they can be expensive. But what if you have a small budget (or “no budget”)? How can you easily develop a system that works well for high-volume, smaller projects using freely available tools, a little ingenuity, and a good dose of elbow grease?


That was the challenge – develop a system to support the full lifecycle of tracking projects and deliverables from conception/estimate through to invoicing and beyond, using stable, freely available web-based systems and tools – and design it to scale to support Programs as well as individual projects – for little to no cost except labour and one server PC.


Starting with a small server running Windows Server 2008, we customized Windows Sharepoint Services 3.0 (WSS - the free version) to create a full-featured workflow-based project deliverables tracking system that included automated assignment emails, time entry and client invoicing support among other features – with no software costs.


This series is a case study of the process and stages we went through to develop this system, highlighting the freely available add-on tools, techniques and some requisite skills that were required, and tips on developing your own Sharepoint WSS-based solutions for those with a smaller (or no) budget.



The Need
We were transitioning a team of seven contractors from being directly contracted to the main customer, to these contractors all working through a small outsourcing company – effectively bringing all of the Customization team under one virtual roof, providing services to the main customer and all of their clients. As of January 1, 2010 there was the immediate need to be able to track, manage and invoice for all of the projects/deliverables under the new entity. 


There was an interim period of managing through spreadsheets, but it was known from the start that we would need a reliable and flexible system to manage all of these projects/deliverables – from the one-off projects for smaller customers to hundreds of development projects for a single end client (managed as a program). Projects ranged in size from as little as 8 hours up to 200+ hours, with the average being around 60 hours – and an average of 400 potential projects per year. The other services we provided also needed to be handled under this new system, including training and on-site and remote consulting.


Further, the team was literally spread across the planet, so a web-based solution accessible through the Internet was a key requirement. We also wanted to incorporate many lessons learned over the past 9 years in delivering these types of projects. This was the perfect opportunity to build things right from the start – but with almost no development budget, this was definitely a lean project – but also critical to the business. Core features were therefore developed first – and then additional functionality was added as needs grew and time went on.


Requirements
There were many items on the wish list, which were then prioritized and implemented in a staged fashion over the first 6 months.

Stage 1
- Provide full life-cycle support (discovery/proposal, development, acceptance testing,  etc)
- Need for detailed tracking of projects – including estimated & actual hours 
- Unique, automatic numbering of all items
- Support  high volume, short duration projects
- Support geographically dispersed team 
- Support various services and deliverable projects
- Support estimate tracking
- Project / Project Assignment model
- Support multiple resources associated with deliverable, by role – and billable
- Multiple stage date tracking
- Multiple client support
- Email notifications
- All with a minimal startup-budget solution and no ongoing planned third party software maintenance costs


Stage 2
- Time entry system driving invoicing
- Support T&M, T&M-Cap and Fixed Price projects
- Support different billing timeframes based on billing type (weekly/deferred)
- Support step payments on Fixed Price deliverables


Stage 3
- Document/deliverable repository system linked to projects (with additional linked reference fields)
- Prevent over-limit billing (log as Held Time for later disposition)
- Track preliminary effort prior to project execution for later billing if project proceeds [this used to be lost effort – not consistently recorded]
- Track warranty work




The Platform
The decision was made to utilize Windows Sharepoint Services 3.0 (free with Windows Server 2008 license). One server was purchased for this task. Implementing the solution with minimal cost required a lot of digging around the internet, and we incorporated the following into the implementation:


Free Tools/add-ons used:


Coming next: