Lego Superman

Software developers are builders, not superheroes!

A developers kryptonite is the “big project” and it scares the big red pants off them. Large projects are daunting, take months (if not years) to implement, take a huge amount of joined up effort, not forgetting spanning a long period of an ever-changing personal life that both affects and gets affected by the gigantathon!

So, how do we make a big project both a success in terms of meeting the business needs and not destroying the engineering team at the same time…

To me, project success is highly dependent on the whole team having the backing of engaged sponsors and a well-functioning steering committee. Focussed on and endorsing the process and business practices that the engineering team work to. Without this level of engagement you can almost say goodbye to that dream goal and probably your developers sanity.

A lack of focus and a step outside of a well-defined process lead to significant disruption, stress, and fear. That anxiety often transfers upward onto already pressurised stakeholders and despite all efforts to mitigate disputes with them, issues crop up which inevitably lead to at-risk projects and goals that seem as far away as Mars!

Introducing the #ConstructionFlow

My life is full of projects, the most recent being the purchase of a dilapidated 1920’s Victorian house that’s in need of complete restoration. The principals I’ll apply to rebuilding this apply to software/web development projects too, most notably:

Define the process, hire the right people, communicate.

Simple, yes?

No. Issues with the people element will always arise in a project lifecycle, these can be managed. A plumber can be replaced, a bad design can be redesigned, a bad mood can be improved, but a bad process once you’re all on board, can’t. The project will fall apart and the impact is often catastrophic, creating panic, frustration and other unruly behaviours…

For instance, an unfocussed passive aggressive stakeholder, whom may say they are in support of the project will object or create obstacles to derail or delay it at every opportunity. In order to cope with their own derailment they’ll likely blame the process; creating additional unnecessary meetings or work, all the while verbalising their commitment to the project.

This behaviour won’t get you to your end goal, it’ll be a stress-inducing, morale-sapping, trust-depleting disaster.

Using the “you wouldn’t build a house without having an architect design it first” analogy is a useful headline to describe all of the components needed to deliver a successful digital project. Satisfying the needs of those developing the product is key to that delivery.

The minimum resource requirements to the #ConstructionFlow are…

The (soon-to-be) homeowner (or client)

Role – This person has a vision, a vision that inspires them to part with their hard-earned cash and embark on a project of building their dream home.


  • To provide as clear a brief as possible to the architect
  • To set out clearly the objectives and aspirations

Equivalent = The founder or head of business area (usually the stakeholder)

Role – To come up with the ideas that differentiate the business from it’s competitors, the visionaries and the disrupters!


  • To set out the intent and purpose of the vision
  • To define the objectives and goals of the project


The architect

Role – The architect works with the homeowner to outline plans for exactly how the house will look.


  • To provide information that is relevant to the proposed building and which may have some bearing upon it
  • To design the specific guidelines for contractors to pickup and work from
  • To outline costs of the work involved

Equivalent = The product manager/owner

Role – Research the wider requirements to deliver the vision and provide a framework for detailing those.


  • To assess the viability to project
  • To engage with the UX team to understand the opportunities and design a solution
  • To document user scenarios that tell a story of what the product should do

 Lego home building


The main contractor

Role – The company chosen to implement the architects design and bring in the required team; electricians, plumbers, builders, etc.


  • To assemble the team of people needed for the job
  • To schedule the work required
  • To try and avoid, as much as is reasonably possible, any changes in the design brief or any late requests for additional work. If and when such changes and late requests are instructed, to understand that this would lead to additional costs

Equivalent = The project manager or ScrumMaster

Role – To facilitate the discussions between the product owner and the team assembled to work on the product, and to create a cross-functional operation across business areas.


  • To remove obstacles and impediments that prevent the flow of work happening
  • To push back on change to avoid affecting productivity and morale-affecting scope creep caused by late requests
  • To monitor the effectiveness of the teams’ estimations and planning


The foreman

Role – Often known as the “specialist” as the foreman has usually been there, and done that many times before and has the experience to lead other contractors. The primary role is to manage the team and complete the project on time and to budget.


  • To organise tools, machinery, materials and contractors
  • To supervise construction activities
  • To ensure construction is carried out accurately, following plans and specifications
  • To ensure that contractor activities are co-ordinated
  • To ensure that tasks are completed on time and to the required quality standards
  • To communicate project progress back to the stakeholders
  • To maintain detailed and accurate site reports

Equivalent = (this is where it gets a little tricky) The CTO and/or The UX team and/or The head of development

Role – Be the Mark Zuckerberg, not the Adam D’Angelo. Although the primary focus should be to get the product live, importantly it’s to scope out the work, not being the technical expert, but to know the technologies available and what needs to be done to accomplish the goals.


  • To define the infrastructure and engineering team resources required
  • To translate use cases into clear technical tasks
  • To monitor development activity
  • To ensure that best practices are used and the architecture of the solution is future-proof
  • To oversee task estimations and team resources (time vs personnel)
  • To perform code reviews and provide adequate training if needed
  • To communicate project progress back to the business


The builder, plumber, electrician, etc.

Role – Perform the tasks by following the plans and specifications


  • To provide an estimation of the amount of work required
  • To report on any problems whilst doing the work
  • To complete the work to the required standards

Equivalent = The developer

Role – Transform the requirements from technical tasks to application code


  • To provide an estimation of the amount of time needed
  • To report on any problems whilst doing the task
  • To complete the development to the required standards



The construction inspector/surveyor

Role – To confirm compliance with regulations and that building work was followed to the plans


  • To review and approve plans in accordance with regulations
  • To inspect and monitor construction sites to ensure overall adherence
  • Apply the use of survey instruments, metering devices, and test equipment to perform inspections
  • Verify structural integrity to ensure building compliance
  • To issue stop-work orders until building is compliant
  • To keep daily logs, including photographs taken during inspection

Equivalent = The quality analyst

Role – To sign-off development work based on it matching the criteria set-out by the initial requirement


  • To be aware of the project deliverables and understand the plans
  • To perform manual and automated test scenarios that perform the user action requirements of the feature
  • To apply the use of testing software and devices to support the investigations
  • To detect and highlight errors in the application
  • To assist in fixing the process leading to failures in the development lifecycle


In summary

See how similar these roles and responsibilities are? Software and web development really is no different to other forms of development, at least in terms of project resource needed.

For an engineering team to be successful in a large project (and still be around at the end of it!), they need the process to be followed. You often hear people saying “coding is like some black art”, and it kind of is, coding is hard and not for the fainthearted. The role of the developer is to take a good set of requirements and turn them into structured computational instructions, which in turn fulfil the goals of the project. Without that being in place from the beginning, how can the developer be expected to deliver…

#ConstructionFlow == Project success.

ps. We’re still a little super :)

Scary! Only 47 days to go and I don’t feel anywhere near prepared

Scary! Only 47 days to go and I don’t feel anywhere near prepared :/ #marathon #denver @RunRocknRoll @RunKeeper

How to change the timezone on a Ubuntu server

A very simple and quick fix to a rather annoying (especially when searching log files!) issue, is changing the server timezone.

To check your the current date and time on your server, simply run:
$ date

Or alternatively, check the server timezone setting more specifically:
$ more /etc/timezone

Server timezone configuration wizard
How to update your Ubuntu server timezone settings

To update this you’ll need to run through a simple admin screen accessed from:
$ sudo dpkg-reconfigure tzdata


The Other Art Fair

Seriously cool stuff by tea lover @HelainaSharpley and @damilolaa at the @TheOtherArtFair – at Ambika P3
View on Path

How to ignore system files in PhpStorm and Git

One of my excellent team members showed me a neat little tip a few weeks ago on how to avoid pushing and pulling all those irritating little system and application generated hidden files in my Git repos.

Most of us here (I say “us” but I’ve hardly touched a line of code at the office!) use JetBrains awesome PhpStorm IDE these days, for the super quick text editor and wonderful integrations. So finding out there’s a nice little way to get rid of those pesky files once and for all, I was all too happy to hear!

Gitignore usage with PhpStorm and Git
Gitignore usage with PhpStorm and Git

Simply head over to, enter your operating system, preferred IDE and any tools you might you might use (Composer, Vagrant, etc.), and click the drop-down to “Download”.

Then copy that file to the root of your project, the same location you did “git init”.

This is not just for PhpStorm however, it’s a Git feature that I only found out about by using PhpStorm.

The rise and fall apart of London

According to Knight Frank, Asian buyers account for as much as 70% of all new-home purchases in London. The majority of whom do not live in the country, and at present won’t pay “second-home income tax” on those properties if they sell them.

The result of this is a 13.8% increase in London house prices (to the end of February 2014), which far exceeds the income rate, which as it stands is actually down 3.8%, leaving good hard working “real” Londoners 17.6% out of pocket. London is falling apart.

Prince Charles recently correctly stated that “This isn’t sustainable and risks driving away talented young individuals who are starting their careers in London and spending most of their income on rent. Home ownership for this generation is seemingly becoming further and further out of reach”. This Guardian article I was reading however went on to ridiculously suggest that building more “affordable houses” would make a difference! Get real! All that would happen is that the foreign millionaires would just take even more advantage of crazy system. Hello Government, where is your common sense?

Affordable housing near Canary Wharf
New apartments by South Quay near Canary Wharf, a good 30% of them made “Affordable Housing”

An effective short-term solution to London’s housing crisis would be to abolish the contradictory demand on property developers to provide “affordable housing”. This immediately pushes up the prices of the adjacent properties, thereby massively harming affordability of those to the general public.

Now, I’m not targeting issues around “affordable housing” (or “social housing”) directly here, this is a completely different subject, one that I won’t cover in this post and is not something that I’m against. The only thing I will say is that I’ve had first hand experience of the moral-zapping consequences of it. It simply shouldn’t be implemented in areas focused on business, such as Canary Wharf.

I spent 2+ years watching an apartment blocks being built around the old site of London Arena, a view I had directly from my old office window. Minimum price to the general public was set at £280k for a studio! On the weekend of build completion, an entire block (what appears to be at least 30% of the entire build) filled with families on income support, disability benefits, people that neither work in the financial services industry nor ever would (even if they wanted to work at all!). Not only is the block and entire development in an ideal location for commuting (and I mean by foot or bicycle here, not cramming more people onto already stretched public transport infrastructure, again another topic!), they were/are occupying all types of apartment; from the basic studio, right up to the mezzanine floored Penthouses!

How much more insulting can it be, when you’re sat working hard in the office across on a hot summer’s day, slaving away, only to peer out of your window and see these people sunbathing on their balconies and terraces!? Over-looking the river with a beautiful view, all amenities and services you could require, all for around £300 a month, the majority of which (if not all) being be paid for by UK taypayer, i.e. me sat in the office!

In contrast, at the time I was traveling well over an hour to work by 2 trains and bicycle, working a 10+ hour day, often struggling to catch the last train, spending nearly £3000 per year on travel, all because buying a property closer was not financially viable. This is wrong.

I’m now live in Zone 3, in a 1 bedroom flat where I’m simply paying the mortgage for someone else. If I were to buy the “box” I rent, it would cost me close to £300k, a price that simply sickens me. Again, only last week I read that Battersea Power Station studios (yes, I did just write “studios”! You know, those 0 bedroom, bathroom and kitchen in the same (small) room as your bed and living quarters, “homes”) are being sold for £800k!!! This is not a “home” this is legal extortion!

At present the UK Government is alienating the young, the old, the educated, the entrepreneurs, even the wealthy UK businessman. It’s heading towards severe instability and has huge potential to implode, not only on the housing situation but also in society as a whole. According to RICS latest figures, UK house prices are at a six-year high and forecasters are suggesting an increase of 9% year on year until 2020 in the capital.

RICS forecast on house price rises in The Times
RICS forecast on house price rises in The Times

This blog is not just simply a moan! I’d like to gather support for changing this situation and will happily campaign and petition for common sense and new structure to be applied. What I see as a simple and effective solution for resolving this problem (which I’m sure the Government would hate!), are two important changes:

  • Lockdown zones 1 and 2 for only UK residents* and workers** (read more at the Lockdown12 official website)
  • Stop buy-to-let mortgage providers from stipulating minimum rents that landlords must command from tenants

The website will be host to all future ideas on this topic and act as a campaign tool going forward. Until the e-petition is agreed from the Government there is direct way to add your support, but feel free to add your comments here and let me know if you want to be part of that. If the e-petition does not get approval, I’ll update the website with a “Sign-up to this campaign” mechanism directly.

Lastly, and to expose the greater scale of the housing situation in London, the transport system should also be considered. With all this new housing (including the “affordable housing”, has transport been reviewed at all? The latest crazy tube station closures come at Bond Street this year, which is probably one of the busiest stations in London and next to arguably the busiest (outside of London Bridge and Waterloo), Oxford Circus. Bond Street is due to close on the Central Line from April 23 until late June, then on the Jubilee Line from December! How exactly do they expect to cope with the already manic commuter, shopper and tourist route on at Oxford Circus?

*A “UK resident” is someone that lives and resides in the UK for the majority of the year, has UK citizenship and has lived in the UK for the last 3 years.
**A “UK worker” is someone that works in the UK and has tax records in the UK dating back 3 years. Similar to a credit check.

My London…

Whilst on my way home last night I was clearing the work brain reading (or more browsing) the Evening Standard, when I found myself reading a section called “My London”. I’ve read it before, I think, but recently I’ve been appreciating where I live and the ease of access I have to things much more than usual.

With such a great respect for how lucky I am to live in such an awesome city, I thought I’d share my favourite parts for others to agree, disagree or add to, in much the same way as the Standard does:

The day starts in…
Greenwich (well actually Deals Gateway, an oddly named pocket between Blackheath, Deptford and Greenwich) – For me ideally situated, close to my favourite areas and with transport links to everywhere

Magical market - Greenwich

The grindstone
CTO @ (Tangent Plc), Great Portland Street, London – I absolutely love my job, enjoying every minute of it. I have the best team and we’re innovating and expanding all of the time!

Coffee fuel
Kaffiene, Great Titchfield Street – Amazing vanilla lattes and laidback atmosphere

Breakfast munchies
Scandinavian Kitchen – Just up from Kaffiene, the staff here are awesome.. They have a kind of boardroom area where I occasionally run our Scrums

Lazy lunch
Roka – It’s just cool

Favourite park
Greenwich Park – The place is tranquil amongst the chaos, and the view from the top by the observatory always impresses

Where I like to wander
Regents Canal – A walk up from Limehouse to Broadway Market on a Saturday, taking in Victoria Park and boating lake on route, endearing

Fun dining
Duck and Waffle, Heron Tower – Partly for the view of course, over-priced food but tasty and with delicious cocktails!

Favourite hotel
The May Fair Hotel – swish and pretentious! Really want to try out the Ace Hotel in Shoreditch though, potential to knock this one off the favourites list

Riding House Cafe – Semi-celebrity hangout, but this isn’t why I like it, it just feels good

Gig venue of choice
O2 Brixton Academy – This proves that size doesn’t matter!

Cinema experience
Everyman, Hamstead – The whole cosy feeling and table service make this an easy choice

Magical market
Greenwich – Again! I know most would say Camden or Notting Hill, but I love the size of this place coupled with the artistic influence and the boutique shops that surround it

Place yet to visit
Dulwich – Always told this is cool place these days, must head over and check it out

London pub
The White Horse, Parsons Green – Unfortunately don’t get over there much these days, but still love the vibe of the place when I do, especially in the summer when the crowds spread to the common

For now, that’s it… Any requests for other topics, let me know and I’ll do a part 2!