How I go about things…

As you learn more and more you tend to tweak the way you do things….Perhaps someone may find this useful.

WRT research/analysis I’m a great believer in user profiling WRT tasks (with usability being a priority).

One aspect I love about agile methods is assessing  requirements with user stories. And the sentence “As a …(user) I need to …(task) so that …(achieve need)” and then prioritising and grouping these to set project requirements/objectives

Once these requirements are cemented up to a reasonable point, or phased and signed off, I then look to suitable existing code/projects out there on the web. After all it’s silly to reinvent the wheel for each project.

Quiet often you can find a solution which is cheap and achieves 80% of the objectives.  Happy client = happy developer = repeat business….and thats probably where the dev phase should end until further usage.

WRT custom dev I love wireframing…it’s a great way to mince ideas. Using wire-frames to sign off functionality and creates a clear understanding with client in a short space of time – I like using balsamic as a wire framing tool as it keeps it conceptual and the client doesn’t confuse it with design.

If the need is to develop from scratch, I first sketch out the major processes with pencil and paper making note of the major processes, events and achievables  This serves to communicate the major process achieving the major objectives (as identified on the keycards).  I use a tool called SmartDraw (It has all the process / entity relationship and UML components ).

I then look to the data that will be needed for each process as identified in the processes and plot out a basic model structure. I usually do this on paper first. When making the Database I use MySQL Workbench and then SQLyog to manipulate.

I check for secure functions and class hierarchy. I rarely go down to the nitty-gritty class design but usually often jump straight in and start programming.

It must be said … I borrow extensively from existing structures…Again why reinvent the wheel. For instance if I need to make a business directory structure I’d download a free/open-source application and have a look at how they structured the database ,etc. It if fits the needs / requirements – why change it.

Lastly… When developing it’s imperative to start with the prioritised keycard of requirements. If you can get the “big need” down first then client is happy.

admin Written by: