Important Projects Blog
Search word(s)

Powered by Movable Type

Important Projects Newsletter

Sign up to receive infrequent email updates from Important Projects.

Email address

Unsubscribe from the newsletter?
Powered by PHPlist2.8.12, © tincan ltd
More Flickr photos tagged importantprojects

flickr Flickr.com

HOW TO

April 29, 2008

Drupal for NGOs

Friends & Allies | HOW TO | Tools & Techniques

druplicon.gif

Last year when I was finishing up my work with Greenpeace UK and about to begin development with Amnesty International I thought "Hey, I should really introduce the Greenpeace UK web team to the Amnesty web team — they're both going to be using Drupal and there are bound to be opportunities for knowledge sharing. Maybe even co-development!"

I'd been talking to Oxfam International at the time as well and now they're moving to Drupal (and there's Comic Relief who I know run at least one Drupal site and Concern Worldwide who I'm working with now) — there are a lot of NGOs in the UK (and nearby) who are using Drupal and who could benefit from meeting up face-to-face on a monthly or bi-monthly basis to share information and experiences.

And I'm happy to report that it now looks like this is definitely going to happen!

Some time in early June, possibly at the Amnesty office on Easton Street but definitely in London, a group of people from a number of the organisations mentioned above and myself will be hosting the first meeting of Drupal for NGOs: an approximately 2 hour get together (followed by drinks at a nearby pub) to talk about Drupal, which contributed modules we're using, what our experiences have been and, I hope, what our plans are for the future.

PLUS: it may be the case that Jeff Robbins of Lullabot will be in town at the same time and will deliver a bit of a keynote to the group following on from his "How Drupal Will Save the World" post last year.

If you're interested in attending, please comment here or send me an email. I'll create an event in Upcoming once the details have been finalised and post an official announcement here and on the Drupal UK users site.

Huzzah!

Technorati , , , , , , , , ,

Posted by Rob at 02:23 PM | Comments [8]

August 14, 2006

Greenpeace UK CRM Requirements

HOW TO | Projects | Tools & Techniques

Greenpeace CRM team

For the last 6 weeks I've been working with a team of 7 Greenpeace UK staff to refine the objectives and prioritise the requirements for a constituent relationship management system GPUK plans to implement (we'd originally planned to spend 5 weeks on this activity but made the decision to spend more time on the requirements definition piece).

This week, we're making the final revisions to our list of prioritised functional requirements and must-have non-functional requirements, at which point I'll post them here and solicit your feedback and recommendations — GPUK already has a centralised (but offline) supporter data warehouse they run reports from using Cognos; what they're looking to do now is implement a CRM system that integrates what they already have with their website, which they'll be migrating to Drupal in parallel.

More later :)

UPDATE: this project is on hold until some resourcing issues can be worked out (and until then, I'm not able to post the requirements list mentioned above).

UPDATE 2: I'm no longer working on this project, although it will be continuing (I believe my friend and colleague Sue Fidler will be working with GPUK to complete the next phase of work).

Technorati , , , , , , , , , , , ,

Posted by Rob at 03:55 PM | Comments [6]

July 31, 2006

Dotmocracy Facilitation with the AI IEP

HOW TO | Projects | Tools & Techniques

As I mentioned a few weeks back, I've been working with the Internet and E-Communications Programme (IEP) team at the International Secretariat of Amnesty International to organise and plan a 2 year work programme for the IEP — one that best meets the objectives they've set for themselves and that gives them better visibility into what is actually achievable given their staff and resource constraints.

Last week I met with the team for the day to do two things: to come up with ways the IEP can better manage its ongoing operations (i.e. those repetitive tasks that must be done but never end like keeping site content up-to-date) and to begin to prioritise its projects (those temporary endeavours undertaken to produce unique results like replacing the CMS used to keep site content up-to-date).

To accomplish the former, we used dotmocracy, an equal opportunity and participatory group decision-making process my colleague and friend Jason Diceman introduced me to a couple of years ago. I'd never facilitated a dotmocracy session before, so I read the most recent version of the handbook, got some last minute instruction and advice from Jason himself, and it ended up working out really well — the group came up with more than a dozen proposals (ideas) for improving the ongoing operations of the IEP, which, once dotted, we were able to sort in order of agreement and begin to develop action plans and next steps around. A highly recommended experience :)

Check out Jason's site/company, Co-op Tools, for more on the process or to get him into your organisation to facilitate a session.

Technorati , , , , , , , , , ,

Posted by Rob at 03:43 PM | Comments [0]

June 29, 2006

"E-Business" Requirements Prioritisation With Greenpeace

HOW TO | Projects | Tools & Techniques

the E-Business Requirements team

Today was the first meeting of the Greenpeace UK "E-Business" requirements prioritisation team (pictured above — and thanks for posing for the photo, people).

We met to kick-off a 5 week requirements definition and prioritisation project — really a sub-project of a larger project Greenpeace UK has undertaken to provide supporters with the ability to manage their relationships with Greenpeace online.

We'll be following a requirements definition and prioritisation process really similar to the one the web team and I followed on the Greenpeace UK CMS project (and when I say similar I mean identical but with improvements gleaned from our experience in engaging with the Plone and Drupal communities throughout that process).

Gideon, Joss, Katie and Tracy — thanks for your time today and I look forward to working with you on this very exciting and important project :)

Technorati , , , , , , , , ,

Posted by Rob at 07:39 PM | Comments [2]

April 22, 2006

HOW TO Prioritise Requirements (Part II)

HOW TO | Projects | Tools & Techniques

...continued from HOW TO Prioritise Requirements (Part I)

Step 3. Define Requirements

Once you've defined and weighted the organisational objectives your project is being undertaken to address, and you've identified and weighted the user types the project is meant to serve, define the requirements for the software you're planning to implement with your objectives and users in mind. On the Greenpeace UK CMS project, we started by looking at the PMBOK's definition for requirement:

Requirement. A condition or capability that must be met or possessed by a system, product, service, result, or component to satisfy a contract, standard, or specification.1

Given this, and looking back on the notes from our away day in February, we developed a list of over 100 conditions and/or capabilities the new Greenpeace UK CMS must meet or possess in order to achieve our organisational objectives and to satisfy our user types.

Each requirement was given an ID, and documented using a technique Martin Lloyd of Greenpeace International suggested we try, which phrases requirements like so: "As a [select user type] I would like to [describe what you would like to do] so that [describe why you would like to do it]" (see Figure 3, below). This worked extremely well for us — it really helped us to define our requirements so that they were easy to understand (and/or to identify the ones that needed to be clarified).

defining requirements

Figure 3 — defining requirements.

Step 4. Score Requirements

Next comes the fun part. Once you have a set of requirements your team members have all had a hand in developing, ask each member of the team to score them based on how well they help achieve the organisational objectives you've defined and how well they help meet the needs of the user types you've identified (see Figure 4, below). We had a list of 90 requirements (pared down over time through discussion), and each member of the team scored each requirement using the following system:

Scoring
2 = Requirement helps meet objective/satisfy user
1 = Requirement partially helps meet objective/satisfy user
0 = Requirement does not help meet objective/satisfy user

scoring requirements
Figure 4 — scoring requirements.

It pays to take your time through this exercise — the more precise you can be when using this scoring system (e.g. "1.8" vs. "2.0"), the more useful the end results will be. Once all scores have been given, average them for each requirement and sort the results from highest to lowest. The spreadsheet we used also assigns a priority category to bands of requirements (C for critical, H, M and L for high, medium and low), which is very useful as well — because we want to stay focused on the system features and capabilities that are most important to the web team, to our end users and to Greenpeace, we'll focus our product evaluation on how well each CMS meets our most critical, highest priority requirements.

Endnotes:
1Project Management Institute. A Guide to the Project Management Body of Knowledge: PMBOK Guide - 3rd Edition. Pennsylvania: Project Management Institute, 2004. pp 371-372.

Download the spreadsheet discussed in this article: Excel template Requirements Prioritisation template (200 KB)

Technorati , , , , , ,

Posted by Rob at 08:09 PM | Comments [0]

April 07, 2006

HOW TO Prioritise Requirements (Part I)

HOW TO | Projects | Tools & Techniques

When you're planning to implement a new piece of software, prioritising your requirements is really important because a) it helps you focus on the things that matter most and b) it makes selecting the right product way less of a crap shoot. But unless you follow a logically sound prioritisation process — one that all project stakeholders understand and buy into — prioritising requirements can become an arbitrary and unnecessarily emotional exercise (i.e. the exact opposite of what you want).

On the Greenpeace UK CMS project, we're currently defining the requirements for a new content management system (the existing system was developed in ColdFusion over 4 years ago and simply no longer meets its users' needs). Our plan is to evaluate 3 open source products and make a selection based on how well each product meets our top priority requirements — to do so, we're following a step-by-step process designed to keep us focused on the system features and capabilities that are most important to the web team, to our end users and to Greenpeace.

Step 1. Define and weight organizational objectives

Like I've said before, projects are undertaken to achieve strategic objectives. Greenpeace has a number of strategic objectives, one very important one being to win campaigns. At our away day meeting in February, we brainstormed on how the web team could help Greenpeace achieve this objective, performed a SWOT analysis, came up with a number of project ideas and decided that replacing the existing Greenpeace UK CMS with something better was the most important project for the web team to undertake at this time.

Having made the decision to take on a project (i.e. a temporary endeavour involving risk), teams should write down and distribute the organisational/team objectives the project is being undertaken to address. This will help ensure project stakeholders are on the same page, can help determine whether the project really should be undertaken at all and will factor into both requirements definition and prioritisation later on.

We defined 3 organisational objectives for the Greenpeace UK CMS project, and assigned weightings to each, according to how well we thought they could help us help Greenpeace win campaigns (see Figure 1, below):

  1. To make Greenpeace staff (and the organisation) more effective [weighting: 4]
  2. To communicate information more effectively [weighting: 3]
  3. To build/maintain the Greenpeace brand more effectively [weighting: 2]



Figure 1 — defining and weighting organisational objectives.

Step 2. Identify and weight user types

Once organisational objectives have been defined and prioritised, identify and assign weightings to the types of users that will interact with the system you've decided to implement. Again, you want to do this because you want stakeholders to come to agreement on who the project is being undertaken to serve, and because you need to think about (and, where possible, directly involve) the users of the system in the requirements definition and prioritisation process.

Users are people/machines who/that interact with a given system — in the case of the Greenpeace UK CMS project, we identified 4 different user types, and weighted them according to their relative importance in achieving our overarching project objective of helping Greenpeace winning campaigns through the implementation of a better content management system (see Figure 2, below):

  1. Content editor [weighting: 3]
  2. User [weighting: 2]
  3. Supporter [weighting: 2]
  4. IS/IT person [weighting: 1]

Figure 2 — defining and weighting user types.

To be continued Continued in HOW TO Prioritise Requirements (Part II)!

Technorati , , , , , ,

Posted by Rob at 07:07 PM | Comments [2]

February 16, 2006

HOW TO Manage Collaborative Software Projects

Friends & Allies | HOW TO | Projects | Tools & Techniques

Some time ago, I was commissioned by Katrin Verclas of Aspiration to write an article on collaborative software projects, using two (partially) failed projects as examples of what not to do. It's been a long time coming, and in the end, involved collaborating with Important Projects ally Phil Dwyer to complete, but here it is, what I hope will be the first in a series of HOW TO articles published on this site under a Creative Commons license:

PDF document HOW TO Manage Collaborative Software Projects (148 KB)

Recommendations made in the article for the successful management of collaborative software projects:

  1. Design a Structure
  2. Establish a "Leader"/Facilitator
  3. Define Roles and Responsibilities
  4. Consider User Needs and Types
  5. Prioritise Requirements
  6. Identify Common Goals
  7. Leverage Experience
  8. Plan for Training

Enjoy! Very interested in any feedback you might have as well :)

Technorati tags , , , , ,

Posted by Rob at 03:11 PM | Comments [2]