Projects

I was once challenge to create a proposal for a mid-size application that can have millions of potential users. The experience is not easy as I need to meet up with the same client over and over again to discuss the high level solution, innovations made, justify estimates, explain the overall process, expectation on both parties and what the solution will be the final solution be like after.

I will try to give out as much detail as I can, but I need to protect the integrity of my documents as well as my client.

Client Use Case: I want to create e-Learning System that will allow enthusiastic knowledge sharer to have a venue for them to teach and possibly earn.

With this client use case, I come up with a Conceptual System design. The Functional Aspects include (note that what I’m going to show here is just a specific phase of the project):

User Dashboards

Learn – Venue for users that wants to learn

Teach – Venue for users that wants to teach

Community forum – discussions on topics, courses and other related activities

Account Management – users will be able to manage their accounts using a specific sub-system

What I did is separate these systems requirementsand break them down to smaller manageable (yet still high level solutions) modules. I will not further elaborate how I did them but here is the screenshot of the documentation I made (with the break down). Basically, these are all intuition based, if you are knowledgable how Software Apps work – you’ll eventually end up having an idea on how to solve each specific case.

So to list all details that I did for the proposal:

Details that as much as you can, can be explain or elaborated to the most non-technical person on the client side

Complete Systems requirements versus technical solution

list of solution and innovations (why does your solution stands out of the rest – what is special about it)

Process / methodology – We need to give them a bit of how we do things and this is how effective we are – give them the benefits that they will acquire with your preferred methodology – not just your own benefit.

Give them the comfortable detail they need for them to trust the solution

I tried preparing all of this items as it will give the client a better perspective and understanding on what and how are the projects will be executed:

I put up a list as of features with respect to its technical conceptual design. These features look a lot like functional ones but a closer look at each will give you the idea that they are also separated by technical implementation (how to implement each).

Created Pre-requisites – to identify if there are features that needs to be done first before the feature is considering fully working. Description – is just the purpose of the module. Solution, Effort and Cost Driver – table that consist of the solution, explanation of effort and its cost driver.

Next is the cost breakdown – the cost break down is based on the average hourly rate of the developer – I wanted to make this project as formal as possible as I’m looking at it back then to be the initial pilot project and that the process established will be re-used for succeeding ones.

The cost gives an overall breakdown of cost with respect to: technology stack, platform, effort resourcing and external service needed.

Technology Stack Diagram and implementation scheme – Its important that you align the methodology or at the very least, the strategy of implementation. I used Agile – and aligned its benefits and the high probably of quality result by using actual user stories.

Application Stack:

Since this is a Website: Systems Architecture (Hosting)

Agile: Systems Integration Architecture / Process View

Traceability Matrix – Map System requirements to High Level Solution module (note that this is from a different project)

The bottom line here is that: Give them the correct details they need for them to be comfortable with how you will do the solution and of course your depth knowledge to finish them off with the highest quality possible.

It might be a simple task for anyone, but for me, its a big step. Considering that the developers I have only knew CodeIgniter and JQuery in the apartment I rented, this is a big leap forward for them.

The page above is actually a modal message after the user clicks on delete. Thanks to http://makabagongprogrammer.wordpress.com/ for doing this. He is new to JQuery and CodeIgniter and I’m very proud that he come a long way learning this just to finish the deliverable! Kudos!