Saturday, May 28, 2011

Random project management techniques / tips / tools

Managing change requests
From time to time clients will change their mind i.e. every project you ever do – clients change their minds. I believe it’s important to be flexible to accommodate change; within reason. It is the within reason part which needs considering. You should make it clear that a project has a change request process. A few tweaks here and there can normally be absorbed without major impact to budget. But what if they change their whole strategy at the eleventh hour? You need to have set expectations that if they do this there is a cost attached. If templates are built already and they change the whole structure you should always go back to earlier phases, you’ll need to re-do the UX, re-do design – otherwise the changes they’ve asked for may be introduced without forward-thinking and you could end up delivering something that doesn’t work. Not to mention contractors build to an agreed scope; if the client changes their mind and you ask the developer to rebuild something from scratch they are within their rights to charge you for the same work. You can either absorb this from your profit or pass the cost onto the client.


File structure
Using the same file structure anyone can pick up your project easily. My preferred structure is below:

 
Versioning
As a rule I always version sequentially, not by date – simply because windows/mac will sort the files so that the latest version appears last (it is easy to pick the wrong file when sorted by date).
Versioning can be quite rigid: http://en.wikipedia.org/wiki/Software_versioning
But generally I simply go
  • Version 0_1 – first draft
  • Version 0_2 – second – and so on
  • Version 1_0 – first release to client
A minor update goes up by .1, a moderate update by .5, and a large update by a whole 1.0, e.g. if a document is rewritten from 4.0 then the next will be 5.0. If I change a bit 4.5, and if all I do is change a few typos 4.1. Simples.

Launching a site
I would always say it is never  a good idea to launch a site on a Friday or after 15:00 any day. If you put something live you want to have time to respond to any bugs that may have been missed or rise from the upload process. Particularly on Fridays where a bug could remain over the whole weekend.
Always make sure you give the site a final test when it is launched. 

Ensure you haven’t missed anything basic and yet easily forgotten, have you set up a favicon, analytics, etc, have you checked accessibility – e.g. all alt-tags set up on images, metadata, etc?

Testing a site
The site should pass a minimum testing standard of YUI A-Grade browser support -

Sometimes it makes sense to write a test plan depending on the scale of the project. If you've an efficient mind just using common sense on smaller projects can work too.

Many issues that might come up in testing can be avoided with at the requirements gathering stage e.g. don’t propose using Flash if you want it to work on a mobile, build the site accessibly and it will work across most browsers. 

To keep abreast of the latest trends (e.g. should I test in IE6, what screen resolution should I use, etc) take a look at: http://www.w3schools.com/browsers/

Fonts
Want to use a corporate font that isn’t web-safe? You can using image replacement techniques such as Cufon or Sifr. You don’t need to know much about this, just that it’s doable. This means a font, such as the National Trust font, can be used and generated on the fly on a website for titles and headers – e.g. the menu. Don’t use it for body font, sorry – it has to be websafe fonts in this instance – Cufon is great used sparingly but if you use it to replace body-copy it will make huge server demands.

What not to use
Flash – is never suitable for a menu system. It doesn’t work on mobiles. Some users don’t even have Flash. It’s suitable for games and banner adverts – and in the case of the latter ALWAYS have a non-flash alternative. Instead of Flash look for alternatives e.g. explore using JavaScript, CSS3 and HTML5. 

Bespoke video players
– You can charge the client money to build a video player (which is costly to get it working properly) and then an ongoing hosting fee as streaming video puts demand on the server and bandwidth. Alternatively, spend the money elsewhere and host it with embedded Vimeo or YouTube.

Bug Tracking
Bug tracking software, when properly embraced, is one of the most useful tools you’ll use on a project.
It allows you to:
  • Create a ticket and assign it to a developer.
  • Prioritise the order – showstoppers to nice to haves.
  • The developer can do the work and assign back to you with a notification.
  • Statuses help you track what needs to be done, e.g. “New bug, needs testing, closed, reopened, with client for review”
  • Will keep a single audit trail of the lifecycle of a bug – this helps you keep everything ordered so that bug, the one the client spotted, the one that is really frustrating them, never gets lost in your inbox.


Risk Management
When you start a project, and on an ongoing basis, it is worth identifying risks. You can’t predict them all but risk management is an essential part of project management. If you think about risks at the start you can help prevent or plan for them. Here are some commong ones:
  • Going over budget - which is why we plan our projects and agree a scope up front.
  • Choice of technology – are you using or trying something never tried before. If so your time estimates may be massively out – plan contingency.
  • Too many stakeholders – If you have too many stakeholders internally or externally you can end up in the situation of too many chefs spoiling the brew. Identify who really needs to be involved and make sure only they are involved in sign off.
  • Holidays – clients, contractors, yourself – again project planning.
  • Forgetting the basics – build a checklist, have I set up hosting, analytics, thought about accessibility, etc – even better build the checklist into your project plan.
  • Bugs and amends – always plan for things to go wrong, plan for at least one iteration of every deliverable, use bug tracking, prioritise the work to avoid going out of budget. Also, clear briefs mean more will be right first time. 
 

Do these approaches work for websites only?
No – they will work for all digital projects, everything from a basic HTML email or mobile app to an extensive piece of software development.



Sunday, May 22, 2011

Project Management and Waterfall

This article outlines the "Waterfall" approach I have generally used in project management and offers techniques and tips to use to help make life easier and to solve some common problems – the end goal is always efficient, profitable, project management that delivers great products we can be proud of. 

Waterfall approach to Project Management 
“In a strict Waterfall model, after each phase is finished, it proceeds to the next one. Reviews may occur before moving to the next phase which allows for the possibility of changes (which may involve a formal change control process). Reviews may also be employed to ensure that the phase is indeed complete; the phase completion criteria are often referred to as a "gate" that the project must pass through to move to the next phase. Waterfall discourages revisiting and revising any prior phase once it's complete. This "inflexibility" in a pure Waterfall model has been a source of criticism by supporters of other more "flexible" models.” - http://en.wikipedia.org/wiki/Software_development_process#Waterfall_model.

As a project management approach Waterfall is a very natural process to follow. It’s the process we normally use – even if we don’t realise we are using it because it makes sense – you look at the project and break it up into distinct phases. Each phase is critical to the next; each phase must be reviewed and signed off before starting the next. Saying that, there is always scope for some flexibility – however too much flexibility and you risk the project.

The phases in Waterfall are (see diagram above) detailed below:

Concept
Early on you will want to define the concept; particularly for a campaign. This can inform the site requirements, the architecture, and the design.

Requirements Specification
A project should start with a clear specification of what you aim to achieve. A project scope will define what you are going to do and relate this to your budget. It will identify questions you might have – it maybe that you need to build in contingency to plan for unknowns. If you specify what you are going to do at the start then the clients expectations are set and managed from the offset; if they try to change the scope further down the line (eroding margin) you can refer to this original agreement.

At this stage you should define the objectives of the project from the user and clients point of view. The client may want to achieve X conversions or other goals but are their expectations realistic? Always make sure objectives are realistic and measureable.

The requirements specification phase can include standard copy about your project management approach – this helps tell the client how things will be run. Outline the phased approach above and highlight that each phase should follow the same structure – define your brief, carry out the work, test it internally (if it’s not up to scratch send it back), then allow the client to review – if they aren’t happy they will send it back, when they are happy they MUST sign off before going to the next phase. It is sensible to cap the number of times work can be sent back (iterations) from the outset. Otherwise you risk engaging a never ending cycle of review and amends. If the client understands their amends are limited they will provide all their feedback, and review things properly, first time around.
Don’t forget to set up hosting and Google Analytics and purchase URL’s early on. You will also want to agree the cost arrangement and possibly an ongoing maintenance agreement for post-launch.
At this stage you should define technical standards – e.g. The site will meet AA accessibility standards and be tested to Grade-A browser support.

Always build a project plan at the start of a project, share it with the client in a format they will understand most easily. Make it clear when you expect their involvement and what you expect from them.

Don’t forget to identify your stakeholders – your primary contact may project manage their side, but who is responsible for sign off. Your project plan should allow realistic times for everyone client side to do their bit.
Always provide context to any deliverable you hand over – make sure they understand the rationale behind everything you give them.
What if the client just can’t decide what they want?
Sometimes a client will want more things in their project than their budget will allow. There is a solution – sit down with them and create a requirements list. List out every feature in excel and put resource times and costs against it (but keep in mind sometimes you’ll get an economy of scale by doing some work together). Then get the client to prioritise it using the MoSCoW method:
  • M - MUST have this.
  • S - SHOULD have this if at all possible.
  • C - COULD have this if it does not affect anything else.
  • W - WON'T have this time but WOULD like in the future. Alternatively WANT.
Help guide them to work out what is really important and what they don’t really do based on their objectives and user requirements. If everything is a MUST have then they will realise they need more budget – but generally they’ll realise that some things just aren’t that important this time around.

A requirements list is also a good talking shop to workshop simpler solutions e.g. instead of a fully interactive video case study perhaps a written one will do, freeing budget for the ATS system they really need.

System and Architecture Development
Before you start to design the look you should consider the structure of your site from the USERS PERSPECTIVE. Produce a sitemap to tell you what pages you will need and produce wireframes to define the structure of each page.

 It is far more efficient to define reusable templates that are flexible for multiple pages, e.g. Homepage, Content Page, Landing Page, Case Study Page, etc. Try and think of the page layout in columns with modules that plug in – this will make your template more dynamic. One template can have hundreds of variations if you have blocks of content that can be turned on/off and reordered.

Always approach from the user’s perspective (not the clients) – who is using the site? How would they interact with the site? What journey (user journeys) will they take to achieve the objective you want them to achieve?

Sometimes it helps to write a user persona – essentially a bio of your typical user e.g. “I’m Geoff, I’m 35 and work in IT. I’m married with two children and live in Berkshire. I’m generally happy with my job but like to keep up to date with new vacancies just in case something interesting comes along. Normally I allow recruiters to find me rather than actively searching for roles” and “I’m David, I’m 25 and work in IT. I live in Reading in a shared house. I currently have a role in IT but I’m looking for my next big move.”
For an IT company based in Berkshire these two personas, typical of your users (do your research into what’s typical; and use intuition), require different solutions to engage them. Geoff has a family; he’s unlikely to relocate, but he already lives in Berkshire. He’s not actively looking but would consider a good job if it came along. A tailored newsletter would help Geoff – you’d have to get him to sign up, but if the newsletter alerted him to jobs relevant and near him Geoff would be happy and may just apply. David is actively searching; good SEO will help him find the IT company in Berkshire. He’s young and not too far, he may relocate – when he hits the site he needs to know that it’s relevant to him and nearby. This will influence your homepage design. Writing personas helps you think about the user and in turn the user experience; they can also help your client who will often think about what THEY want not what their users want until they see a persona – so get the client to sign off on the personas.

Always consider navigation – a horizontal navigation is great for a campaign site with few pages and fixed content, but a content heavy site nearly always needs a vertical navigation or a jumbo drop down. Accessibility is also important when considering your navigation – remember some users will want to increase their text size. Also, if your site might be translated keep in mind that your navigation may need to accommodate long words (e.g. German or Welsh). Your UX should accommodate this – don’t squeeze things in that will break when designed / built.

You will need to think about accessibility at this point. Don’t produce anything that cannot be built by a developer. If unsure get your site developer involved with defining the information architecture of your site.
Often all the above is produced from experience and intuition. If unsure you can try a few methods such as user testing and card sorts to help inform your UX with solid stats. The bigger the project, or the more important that you get it right, the more important it becomes to build your project on researched foundations over intuition. Concepts can be tested cheaply – investigate http://verifyapp.com/ (I’ve not used this service before – but it sounds interesting!)

Produce a content map that describes what goes on each page (what template, which modules - such as twitter feed, case study driver, driver, social media links, etc and include required content. You might want to say “This page serves to tell the user about the company. It will include copy about the companies history, values and culture. It will contain case study drivers that support the main content). Also produce a copy deck which identifies from the outset – what copy needs to be written. Don’t forget drivers, buttons, error messages, help boxes – they all need to be thought about.

If the requirements are not clear you may also want to define a Technical Specification. This will tell the developer how the site should be put together and include sitemaps, content maps, wireframes and later designs. This document will be the bible the site developer builds the site too. It will be what a contractor quotes against, and the stick you slap them with if they don’t deliver (equally, if you don’t put something in the document then they may charge extra as it was out of their scope).
Remember some golden rules in UX
  • The homepage is not guaranteed to be the first page a user sees.
  • People will NOT have fun “discovering” content – if things are hidden people won’t find them. Clear navigation – always!
  • Avoid dead ends – use related links, drivers, on every page.
  • Include social media elements to share content easily.
  • The shortest pathway to the content you want is the best pathway.
  • Don’t get crazy; there is a good reason why many sites are essentially the same. People scan the top left first – it’s fact; your most important content should be here. Your search should be in the top right, the logo top left – break the mould and you may find you confuse people. Breadcrumbs go at the top, not the bottom.
  • Ignore me – do your own research; trends change, new research comes out – be cutting edge!

Design
If a concept has not yet been defined it should be. You may want to use moodboards to set a tone for the site. 

Are there brand guidelines that must be accounted for?


A good web designer can work with wireframes and understands that what they are creating doesn’t need to fit on an A4 page. Websites are dynamic, so too should be the person designing it. They need to consider both why the architect has defined things the way they have and also what the developer will do with it next. They need to consider accessibility – it’s no good to design a box that would be impossible to build properly in HTML, e.g. because it uses texturing that cannot wrap. This really requires understanding of how websites are built. 


Ideally you should provide the client with two design routes to pick from. These should be presented in person; never sent by e-mail “What do you think?” but instead in person or over the phone so you can say “This is why we have approached this the way we have…” Also, present it as “Do you think this meets your users expectations”. If you give them a choice of two they will be inclined to choose one; they may ask to choose a little bit from one and a little bit from another. This is normally a bad idea, if they don’t share common elements it’s because they don’t work together. Ideally try to manage it so they pick a design and have only a few tweaks. The more involved they feel the easier the sign off process will be – saying that, don’t be afraid to defend your corner as the digital expert. 



Designs should be optimised for a minimum of 1024 wide. Nobody uses 800x600 anymore. Keep in mind that browsers have scroll bars, so while the screen is 1024 wide, the web design should be no more than 974 - 984 wide. We should all be using grids in layouts, 960 is a great number as it’s slightly smaller than full width, and it’s divisible by 3, 4, 5, 6, 8, 10, 12, 15, and 16 (imagine the grid possibilities).  




Do not be afraid of scrolling. Remember the fold is not a line, it is a region. Do not be obsessed with everything being above the fold – just design in a way where the most important content is above it, and the user knows they can scroll.
Before going to client the designer should have checked the design for accessibility including insuring the colours validate. As a project manager you’ll want to make sure this has happened or check this yourself.

Make sure web-safe fonts have been used or you have the technical scope to use image replacement like Cufon on non-websafe fonts.

A developer should always review a design before it goes to the client – there is no point in exciting the client with something that cannot be delivered.

[NB: Involving the developer in design almost seems contrary to hardcore waterfall approaches. While phases are distinct they should also be a team effort. The UX leads UX, the designer leads design – but other disciplines should be involved to educate and inform the deliverable. Do not think of each phase gateway as a wall – the design should not be flung over the wall for the developer to pick up!]

Programming
The site developers will include the front end developer (working in HTML and CSS) and the back-end developer (working in e.g. PHP, but they could be .NET, ASP). They will deliver the site to the documentation defined at the start (A WTS if one was written).

The front end developer shouldn’t need to alter interface designs to make them work. This should have been thought of at the design stage by the designer.

The back-end developer should understand fully how the site works from designs, wireframes, sitemap, content map – ideally all explained clearly in a single Technical Solutions document.

System Integration
When the programming is done the finished templates need to be brought together with the back-end system and any third party software.

This is also the time that final content should ideally be ready to be added before testing.

System Test
Before the client sees the site internal testing should be carried out. The site should meet the accessibility standard specified at the requirements stage (normally AA) and be cross-browser compatible (meet A-Grade browser support, which now includes mobile)
Acceptance
At the end of every phase the client should review and sign off on content before moving to the next phase.

The acceptance phase is the clients chance to review that the project has been delivered to:
  • The agreed specification
  • The architecture they signed off on
  • The designs they were shown
  • Includes the content they have signed off on
  • The technical standard they expect (the expectation you set for them)
Normally I suggest a user acceptance testing period (UAT) where the client reviews the site on a demo environment and checks that it is up to scratch. If not they provide a prioritized list of bugs and changes. Prioritised because during scoping you will have defined the amount of budget proportioned to amends. If you only have 2 days and they’ve asked for 10 days worth of amends you are giving them 8 days of time for free. The project manager may want re-organise the priorities, which should be discussed with the client. They might have prioritised something trivial over a bug fix that is a true show-stopper.  

When you and the client are satisfied the project has been delivered to spec it can go live (a final test) and then you can pat yourselves on the back!

Maintenance
It is a fact that in software development you will have bugs – a good client should be able to understand this. I am not saying a site should launch with show stopping errors; but if you dig deep enough you’ll find niggles. Even if on delivery the website seems perfect, browsers and operating systems will change, tweaks are made to the site and/or something was missed. 

When the client has completed the acceptance phase they have accepted the agreed project is done. There is a balance between good account management where you fix some post-launch bugs for free and good project management where you avoid spending the next year giving them freebies. 

For a large project an ongoing paid for Service Level Agreement (SLA) will allow for regular maintenance, bug fixing and updates. Smaller projects may need less frequent updating and warrant charged bespoke maintenance only. 

New functionality should ALWAYS be dealt with as a mini-project, not a bolt-on to the SLA – this means that the new functionality is properly thought out. If it’s just bolted on and added improperly it can and often does cause problems in the site elsewhere and may cost you more than you bargained for.
Don’t forget to keep track of agreed hosting and stats monitoring agreements.
 

Saturday, May 21, 2011

Bringing UGC to recruitment comms

It's been seen before with such campaigns as T-Mobile's Life's for sharing. Instead of going out there and producing expensive content you get your audience to engage with the brand and create their own. It's a concept that has been copied many times - sometimes successfully, e.g. the Milky Bar kid campaign and sometimes unsuccessfully e.g. the Wella upload your own swish campagin.

To my knowlege it's a concept that has never been brought over to the world of Recruitment Comms. So I'm rather pleased to have been involved in a recent project where we did just that.

The idea is simple - via internal comms we asked Claire's employees to upload videos of themselves saying why they loved working @Claire's (with a prize incentive of course). These videos are uploaded to the site, the employee's informed, and they are encouraged to share across their social networks.
The uptake by employee's has been great. I recommending checking out the site www.clairescareers.co.uk/atclaires. At the time of writing we have yet to see if the site will create the viral noise we want. I feel certain that the videos generated by the employees are more than entertaining enough to get attention. Certainly the recruitment comms organisations will be paying attention to this project. It has already acchieved many of it's initial goals - to create something unique (in recruitment) that will show off Claire's as an employer from the ground up. These people aren't directed, their thoughts are their own! Another goal - to create a pan-european experience; this is the first project Claire's have worked on which works across all of their countries. This has defintely been acchieved, we've had videos from Spain, France, UK, Ireland, Germany and more.
There were a few technical problems to overcome - such as how to get the content (a simple upload form solved this) and how to convert the videos; keeping in mind that mobiles and handy cams use a plethera of formats. YouTube provided the answers, every video we've received has been uploaded to YouTube which sorts out issues of compatibility and hosting. Hoorah! Not to mention uploading it to the Claire's YouTube channel means we've been making use of a so far largely neglected social media channel.

I look forward to seeing how the campaign unfolds this year and what noise and attention it receives.

Friday, May 20, 2011

Google could optimise your car journey

Many of us already use Google maps to plan routes. But the next step seems to be cars which are optimised by Google to maximise electric and fuel efficiency. Read more on Treehugger "Google's Prediction API Could Optimize Your Car's Fuel Efficiency".

Thursday, May 19, 2011

Grindr fail

I've probably mentioned Grindr before - it's an app, popularised by Stephen Fry, for the iPhone and Android. It let's you meet gay men in the local area. It's simple - you see a guy you want to plough and either dance around pretending you want commitment or say "let's get it on" - either way, most of the time people are looking for a good time. Maybe that's just me being a cynique?

The problem is, sometimes people get it horribly wrong:








Monday, May 16, 2011

Could YouTube turn professional?

I've just read a great BBC Click article about "Is Google taking the ‘you’ out of YouTube?". It's all about how YouTube is evolving. More and more the most viewed content is  becoming professional videos generated by corporates. Long gone, they say, are the days of cats playing the piano. I say long live cat piano, angry chip-munks, inappropriate cartoons and cute things exploding!


I have yet to engage with YouTube as a TV channel; I know it shows Channel 4 programmes now, but so far YouTube has remained a place for me to watch (mostly) amateur and semi-amateur memes. I also use it to watch premier content, such as, I guiltily confess, the first listen to the audio and preview of the video to the latest Lady Gaga songs.

The future of TV is online... or is the future of online TV? Actually it's all the same - the future is aggregated, a wonderful cross-platform smorgasbord of media. This is great but as corporations have realised and driven the future of the internet by realising it's potentential and investing heavily in it, providing rich, clean, functioning professional content are we at risk of loosing the essence? It would be daft for YouTube to forget it's roots in YOUser generated content, just as it's daft that Facebook is starting to forget it's users - both are becoming more and more driven by profit, allowing corporations to take over to the point that the user generated element that drove them to the place they are is being squashed.

In the case of YouTube - silly videos like the cat piano become viral memes that are propelled across the world and become instant hits - promoting YouTube and entertaining millions. Video blooper shows like You've been framed have never been off the air, and YouTube is the online equivalent for this kind of content. To take away the silly and focus on the professional content would drive users away from YouTube and into the arms of another platform willing to embrace user generated content. The answer - embrace both YouTube - make a clear distinction and provide us with both.

The same goes toward you Facebook, by all means fund yourself with greedy corporations wanting to advertise on your channel. But please don't forget you are a network built by people - if you spam us too much we'll go elsewhere.

You have been warned!

Monday, May 09, 2011

News

Well my experiement failed. I mentioned Princess Diana, Catherine Middleton and The Royal Wedding several times in my last article to see if I would get a spike from the keywords. For some reason on the day of the wedding there was a spike in people searching for "Blue Waffle" and finding my comedic Christmas "5 blue waffles" advent calendar post. Just to be clear, there were no pictures of blue waffle - and if you don't know what this means you really don't want to know - the therapy is expensive.

Maybe I should have mentioned Syria and Libya a few times seeing as between the Royal Wedding and Osama Bin Ladin getting shot these things shot straight out of the news. I assume that we're still flying sorties over Libya and the Rebels, now forgotten by the fickle world media, are still fighting for democracy and freedom? And Japan - has that power plan exploded yet? What about the people who are picking up their lives still - are there hundreds of thousands still homeless? In fact what about Christchurch... Ok, I'm 26 and old enough to realise how the media works but still sometimes being reminded of this fact is depressing.