I think for the first few posts I’ll take you my gentle readers on a journey through the process of software engineering, at least its inital stages.

I am involved in the Liberal party of Canada in a very peripheral manner - this is something I wish to change. At to least remove the “very” from that sentence. I worked with my good friend Taylor on a piece of software which showed promise but was more or less left by the wayside when A) we lost the election B) we got involved in a very exciting (and distracting) leadership race and C) the small team we had collapsed.

The experience I had did teach me that there was interest in such a thing and that in order for real development supported to be drummed up a modular, scalable, flexible prototype would need to be built using cheap-as-free technology. It had to be pretty, but not design award winning, and easy to administer, maintain and use.

So, that brings me to where I am, to build the bloody thing. The basic concept is to provide a web application that acts as a policy development platform for n users. It more or less should be a mashup of a wiki with a forum with a healthy helping of social networking, blog and polling software thrown in for good measure.

So really we’ve got five problem “sectors” to define.

1. The Wiki

2. The Forums

3. The Social Network

4.  The Interactions of those three pieces

5. Keeping all this modular, flexible and scalable.
No mean feat but this is actually a pretty good premise to start from all told as we’ve got a solid grounding of what we want this to do and what we do not want it do (often choose what not to do with your software is as important as choosing what you want it to do).

We want parity between the wiki and the discussion forums. The idea being that the process (aka forum) will always be tied to a product (aka wiki) - a policy document or position paper. This avoids policy documents that are the product of a single person, and discussions which are purely pedantic without any real connection to a valuable outcome.

There are some fuzzy areas unanswered, such as security requirements and hierarchy of users. We’ve obviously got 3 types of users at the get-go: administrators, registered users, and guests/un-registered users. We could include two more positions - moderators and “politicos” (for want of a better term). Moderators would exist somewhere between administrators and registered users - they could create forum threads/wiki portions, freeze wiki articles or threads and basically make sure everyone plays nice in the sanbox. They wouldn’t be able to create/delete accounts, or make any system-wide changes or installations, this would be the purview of administrators.

Politicos would be real politcians who want to go in to the system, get a quick digest of the goings on, see the “best in show” documents and get the heck out of there. Their interface would be pared down to a simple dashboard, where they could get a take on the pulse of the discussion - hot threads, popular wiki articles, celebrity members etc. Likely administrators would need a prescribed list of possible users and generate accounts for each of them so it’s a matter of clicking that link in their email to access their tailor made dashboard.

It seems likely to use a “hot team” system for the policy developments - where rather than going on ad infinitum. A policy discussion would be time-boxed. There would be a set, predestined calendar of progression. The process would be well documented so people knew exactly what was happening when well ahead of time. To make this feasible there would have to be pre-development sign-up, and this too would have to be time-boxed so that everyone was involved in the process from day one.  Late comers would have to petition the moderators for admittance or perhaps recruit a sponsor who is already a member of the discussion “team”.

The policy development process could have a roughly iterative framework, a Unified Process instance maybe. It could be a six-week timeline. Weeks one and two would be analysis and design, where the problem space is defined, the scope of the policy is specified, information is gathered, prior solutions are assessed etc. Weeks three and four would be development, the primary wording of the policy is authored, discussion is done section by section or sub-topic by sub-topic. Weeks five and six would be implementation strategies, fact checking, proofing etc.

I honestly have no idea if that’s at all realistic or possible but it seems like a decent solution for now - if it ends up being dumb I’ll throw it out later (I’ll know if it’s a good idea or not by the time it becomes important what kind of policy development process we’re using - I hope.

Something to say?