img_9244-1

Dear UK, please cancel Black Friday next year…

…the fun of the sale has gone! [rant]

“Why, why, why” I hear you scream (maybe, unless you’re working anywhere around Central London today and dreading being able to move!), well…

For a start, the “Black Friday” sale no longer appears to be a single day. This year all forms of retailers and service providers have decided to start this “Friday” thing a week before or have extended it to the following Sunday. It’s no longer a special day. At the very least it needs renaming! Any suggestions?

Secondly, as a consumer, this is not enjoyable and although operationally easier no doubt to spread it over a longer period (security concerns, etc.), I’d suggest it hurts sales of goods due to human-beings inability to make a choice when given too many at once! The apparent sense of 5-7 days of procrastination, hmmm, I fear it’ll end in no purchase. Forgetting that point, it also puts enormous pressure on Christmas shopping… All of sudden you’re thinking “I have to buy presents on Black Friday, I’ll save so much”, only to find the things you want aren’t in the sale and you’ve bought a load of things you didn’t want.

Lastly, and most importantly IMHO, the sale items are largely made up of stuff that wasn’t worth the original value anyway or like the ever-growing number of “brand outlets” around the country, its surplus stock or defected stuff that shouldn’t even be on shelves anyway… (what I like the call The Next Effect, after the crazy jumble sale style shopping madness after new year in store when they pull out all the old crap from 3 years ago and people perceive this as a bargain!!!).

It’s rather amusing to me that in the UK the term originated from the police and support services having to plan for the annual drink and disorderly binge before Christmas, codenamed “Black Friday”. Yet now the panic is with the businesses running the sales and thier ability to cope with the binge shopping and disorderly shoppers, which now seems to spam a similar length of time as Christmas!
I must say that 2014s Amazon sale, John Lewis’ sale last year and our sales figures sky-rocketing for a day, have all been both enjoyable and rewarding, but this year has been a constant flow of annoyance… The ever-distracting marketing emails have gone absolutely crazy, I swear one-in-three that I receive says “Our Black Friday sale starts today” or “be first to know about our Black Friday sale…”, the latter being the most irritating as it’s like saying “we want to jump on this bandwagon but haven’t decided how or what to sell yet”, then there’s the radio advertising that has been completely taken over by them, coupled with the more closer-to-life situation of having to prepare ourselves at the office for a busy day on the infrastructure. I don’t even want to mention social media, as this place is literally insane! Lucky Google and Facebook for creating such a profit making product, Twitter-schmitter…

So far, and thankfully, “Cyber Monday” has hardly been mentioned. I can only assume because “Black Friday” is now effectively “Black-Week-And-Weekend-With-A-Friday-Between”.

Rant over. Happy Friday! (oooh, there we go, let’s call it Happy Week – closely followed by the realisation of spending more than you planned to and becomes Sad Week or I’m Broke Before Christmas And Can’t Afford To Go Out And Enjoy It Week)

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.

Responsibilities:

  • 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!

Responsibilities:

  • 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.

Responsibilities:

  • 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.

Responsibilities:

  • 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.

Responsibilities:

  • 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.

Responsibilities:

  • 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.

Responsibilities:

  • 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.

Responsibilities:

  • 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

Responsibilities:

  • 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

Responsibilities:

  • 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

source-code

 

The construction inspector/surveyor

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

Responsibilities:

  • 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

Responsibilities:

  • 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 :/ http://ow.ly/i/6JPrP #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

Simples!

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 gitignore.io, 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.