Tuesday, 16 September 2014

Is all this Health Tech just another fad?


Technology currently has it's big laser pointed at the health sector. The major players like Apple, Google and Microsoft (I’m sure they will turn up to the party at some point) are all rapidly producing devices and web services in the health space, keen to capitalise on the growing desire of people suffering the excesses of modern life to use technology to get them fitter and better looking.

While this is all great and I'm sure it is going to be the next Big Thing, I can't help feel a pang of cynicism around Health-Tech.

Here is why:

Friday, 29 August 2014

Let's drop ‘Responsive’ from Responsive Design


In a meeting a while back, a client who had their web site built on a shoestring asked me with a slightly panicked expression: is my web site ‘Responsive’? I looked at the site and squished the browser around some and saw rudimentary things happen to the layout. It didn't look great. The only answer I could give to try and appease the anxiety of said client was 'a bit’.

It did make me start to question what Responsive Design was and question all the current 'attempted' classifications around fluid, reactive and adaptive, etc. I won’t go into the detail here, but you can use the interweb to find out more :

The truth is that there is no one answer and the lines between fluid, responsive and adaptive design are blurred and ever changing in a world which is producing devices of varying dimensions and capabilities faster than people can pour buckets of ice over their heads.

Responsive Design is not an end state, it is a process which tries to deal with many challenges of building web applications that can be viewed from your phone through to your TV through to gigantic projections on one side of the Grand Canyon (should it be so lucky).

The challenges are centered around these areas:

Wednesday, 30 July 2014

Eight reasons never to hire a Unicorn

If you work in the Digital Advertising industry you most likely have come across the term 'Unicorn'. If you don't or haven't, here is a short background.

Unicorns are mythical creatures which have a large, spirally, pointy horn mounted to their forehead. Popular culture - predominantly little girls and pagans - have long since had a fascination with these creatures who are purported to have special healing powers and are symbols of grace and beauty.

Legend also suggests that only virgins can catch unicorns which, in this age of sin, perhaps explains why sightings are very scarce.

In short, Unicorns are rare, special creatures that are difficult to catch.

Drawing back to the Digital Advertising Industry which sometimes thrives on mythology, legend and magic, the notion of 'Unicorn' has been adopted into its lingo as a rare and special person who simply must be snared and put immediately to work dreaming up the next wearable tech idea to promote mouthwash and, in the process, make the world a better place.

Thursday, 17 July 2014

Happy First Birthday 'This is Lean'!

Happy First Birthday to the Tumblr Blog, http://thisislean.tumblr.com/ !

The blog is dedicated to something called 'Lean' which is really big (ironically) right now. If you don't know what 'Lean' is then you probably aren't doing it and your output is all flabby, bloated and struggling to fit into its favorite pair of jeans. If your output suffers in this way, I urge you to read this blog and discover how to become Really Really Lean.

It is a crowd sourced web site so if you have any Lean Thinking that the world needs to know about, submit it here.


Friday, 11 July 2014

Distributed Development : Avoiding The Fog


I've written about the challenges of distributed development as have many others, so I'm not going to bore you with another spin on the types of problems which crop up and new and improved ways of fixing them. What I am going to do is make a controversial statement and then try and pull a Houdini and explain myself out of it.

Communication can make for an opaque development process.

Ok, here I go.

Wednesday, 25 June 2014

Can User Stories be used in Waterfall Development?


If you work in the business of software development you most likely have come across User Stories. If you aren’t familiar with them, or are all of a sudden being asked to write them or deliver them and aren’t quite sure what they are, here is a brief background.

User Stories are born from Extreme Programming (XP) and Agile Development Methodologies. XP and Agile development is essentially a set of principles and practices which have emerged over the years (XP was first coined in 1999) to address with the challenges of software development and fulfill a goal of delivering working software as early as possible.

User Stories fit mainly into the requirements gathering and definition phase of software development. They are Agile’s answer to transforming what is often an onerous, expensive, confusing, obscure and inefficient process to one that is lightweight and effective, and drives the software development process towards delivering valuable software features early.

Like many other aspects of Agile Development, User Stories are becoming adopted as an industry standard way of describing software requirements.

The benefits behind writing requirements in this way include:

  • Writing requirements as User Stories makes them easy to understand i.e. they eliminate technical or domain jargon 
  • Writing requirements as User Stories helps validate their value to the users of the application 
  • User Stories can be delivered independently and in short iterations, allowing the ROI from working software to be realised earlier 

However, because User Stories are being appropriated by different organisations who deliver software in less agile and more waterfall ways (wagile, scrumafall, etc) and don’t have all the other Agile practices in place, there is often confusion around what a User Story is and how they can be used to describe, specify and deliver a solution.

In my experience, this is often the case where an Agency or Software House (Delivery Partner) is tasked to define, cost and deliver a new build for a Client.

In this scenario, the following constraints often apply:

  • The Client has a maximum budget to get the solution built 
  • The Client has a massive wish list of requirements 
  • The list of requirements exceed the budget
  • The Client wants to know what they are going to get for their budget at the beginning of the project 

Given this starting position, the Delivery Partner has the challenge of defining and delivering a solution which has as many of the items from the wishlist within the budget constraint. So faced with this challenge, can User Stories be used to define and cost a fix priced build?

The short answer, I put forward, is yes with a caveat that User Stories go through the following steps to turn them into a scope of work that can be delivered within a budget.

Thursday, 19 September 2013

The Devil of Distributed Development

There is gold in them thar hills!
Over the last six months, I have been working on a model for distributed, Agile Scrum development. This has been in response to on-going issues on software projects where development (front end, back-end and testing) is done in an offshore office. The issues have been around areas such as relationships, quality, communication, profitability and client satisfaction.

In addition to these common trouble hotspots, I work in a creative led Digital Agency which, due to the nature of the beast, presents even more challenges around establishing dedicated teams with the right skill-sets, consistent delivery methodologies, adhering to best practices and educating internal and external stakeholders into rationale behind them.  The last point around education is probably the biggest overarching challenge since if everyone knew what the right thing was to do, they would do it.

The best example of an education challenge is explaining the tax of distributed development. From a financial person's perspective distributed development is a no brainer.

"What? You mean one expensive onshore developer can fund almost five cheap offshore developers. These margins are massive! Well get on the phone to any country with a slightly f*cked economy and round up developers. Ideally it should be a country that has been oppressed by a communist regime guaranteeing optimal economic exploitation combined with a decent level of education. Yeehaaa! There is gold in them thar hills!" said fictitious Financial Person.

Thursday, 8 August 2013

The Raspberry Pi Phenomenon


Originally Published on POSSIBLE.COM 
http://www.possible.com/perspectives/raspberry-pi

Growing up in the eighties was a very exciting time for a young boy with geeky inclinations. It was the birth of the computing age, when for the first time in history, you could own your very own console or PC for an affordable price and use it for games, word processing or, best of all, tinkering.

I first learned to program on a clunky looking IBM XT, and although my first few programs were largely rubbish, it was an enchanting experience making a machine do things that you tell it to do. My DIY tinkering wasn’t limited to just consoles and PCs. I remember playing with electronics, chemistry sets and Meccano kits that my father still had from his childhood. Making things out of bits of technology was the ultimate pastime for me, as it was for other likeminded geeks. My disposition hasn’t changed very much over the years, which is why the Raspberry Pi phenomenon is one that delights me and brings back fond childhood memories.

Friday, 14 June 2013

A better way to spend your commute

It was about two years ago while sitting on a London Underground tube firing small birds at towers, that I felt a strong pang of discontent. I’ve spent so much time, I thought whilst pulling back yet another bird in the catapult, to and from work playing time wasting apps like Angry Birds on my iPhone. How much time has this all amounted to over the last few years? I wondered. How could I use this time better? What could I do with this time instead?

Ideally it would be something off my Bucket List, but the Tube was severely limiting to many of my aspirations like swimming with dolphins or fire eating. 

Cloud Talk : A walk through the clouds

Thanks @syzygyuk for hosting the EPiServer meetup.

I've uploaded my slides from my talk on the Cloud to the Cloud:


Sunday, 3 February 2013

Angry Customer Twitter Campaign #Fail

Have you seen @lostbag
There comes a time in every customer's life when they are served injustice. This dish comes from all industries and in all forms and leaves its victims with raised blood pressure and the acidic burn of righteous indignation.  I recently was a victim and the perpetrator was Lufthansa Airlines WHO LOST MY BAG AND STILL HAVEN'T GIVEN ME MONEY BACK FOR IT!!!!!

(Breathe)

So, I went on a business trip and Lufthansa lost my bag on the return leg. After a painful journey back home and trying to get into my house (my bag had my keys and my wife was away) I began the process of trying to get my bag back. After a few weeks of unsuccessful bag finding I realised that I was in a Kafka'esque world of bizarre bureaucracy where no one knew anything and nothing made sense.

Living in the 21st Century with social networking and Apps, I realised I could challenge the status quo. I was an empowered consumer! Their inefficient call centres and surly staff could do nothing to stop what was to become the greatest social media campaign the airline industry had witnessed since that guy made a song about an airline which broke his guitar and went, like, totally viral on YouTube.


119 tweets and about two months later I had 10 followers. Sadly, my @LufthansaBad campaign never went viral and MY BAG IS STILL LOST AND THEY STILL HAVEN'T GIVEN ME MONEY BACK FOR IT!!!!!


Thursday, 31 January 2013

What is Dev Ops and why is it important?

We have recently been recruiting for a new role in our company: that of a Developer Operations role, or Dev Ops. This initiative has mainly been inspired by other companies who have identified the need for a separation between Development and Operations, and the need for development skills in the operations sphere.

An example of an Application Life-cycle Process without development operations would look something like this.


The work flow would go as follows:


Tuesday, 15 January 2013

Application Hosting Types Demystified

As a technology consultant, there are certain conversations which seem to always get confused. One of these conversations is around hosting. There is a lot of variation in understanding and agreement of what types of hosting there are and what they are called. I've become quite confused by this myself.

This post is my attempt at providing a crystal clear definition of the types of hosting and what they mean to you (a user of hosting services) and the hosting provider.

I've broken down hosting into these the following categories: Onsite Servers, Offsite Servers, Offsite Virtualised Servers and Cloud Services.

Below is a matrix which lists these types of hosting and what aspects you have to look after (marked with ‘C’) and what parts the hosting provider looks after (marked with ‘H’).


Friday, 11 January 2013

Cloud recipe: Standing up an Enterprise, Solr Search Server on Azure in fifteen minutes

I recently saw some Twitter activity around a new on-line Community called VM Depot. From the website: "VM Depot is a community-driven catalogue of preconfigured operating systems, applications, and development stacks that can easily be deployed on Windows Azure."

One of the VMs which caught my eye was an Linux VM with a fully configured instance of Apache Solr 4: a lightening fast, enterprise Lucene search engine built by the Apache community.

In this Cloud Recipe we will deploy a fully configured Linux VM running Apache Solr and write some C# code to talk to it.

To complete this recipe, you need the following:
  • A Windows Azure Subscription. 
  • Node.JS and node package manager (NPM). This can be downloaded and installed here.
You should be able to complete this recipe in under 30 minutes.

Tuesday, 8 January 2013

The most important part of Agile is education. Ongoing education.


Agile is a widely adopted methodology across the software devevlopment industry. The two main frameworks of Agile are Scrum and Kanban, both similar variants to each other but which both address the same set of problems with software traditional waterfall development, such as slower and more problematic delivery.

They address these problems through more collaboration across disciplines to ensure decisions are made with all relevant viewpoints taken into account, more frequent release cycles to ensure early exposure of the product to the client and the ability to adapt and change course where necessary, and a commercial structure that understands the reality of complex, software development with many integration points by agreeing to either fixed price or fixed scope, but not both.