2016 retrospective

Amidst the wider chaos of 2016, it occurred to me that I’ve managed to get quite a lot done. And learn a huge amount in the process. I thought I’d share something of a retrospective / brain-dump of my 2016.

What went well

I created three videos: a skill that I never imagined I would develop, but which I’ve rather enjoyed. I’ve been consciously developing my creative skills e.g by making websites for bands such as Hey! Hello! and this was an excellent extension of this. Creating the first video was a bit of a light-bulb moment forced by a short deadline for an internal competition. Necessity triggered invention.

I achieved internal certification as an IBM Certified Architect (and got the badge to prove it). This also gave me external recognition as an Open Group Master Architect. The certification process was involved, culminating in three interviews and it was a real sense of achievement to achieve this.

I went to Prague while my wife was presenting at a conference there. I had great fun exploring the city in 30 degree heat, possibly walked every street in the centre of the city and took far too many photographs.

Helped Defra with their data-programme. Defra are making real strides along their digital transformation: adopting agile techniques and public cloud services; driving cultural change and looking to deliver better outcomes to their end-users. It’s been a real privilege to help in a small part on this journey.

Being on the winning team at two internal hackday events at driving innovative solutions using Watson Developer Services and IBM’s cloud-foundry PaaS Bluemix. The winning formula seemed to be a mix of: design thinking to create the idea; rapid smoke and mirrors prototyping to bring it to life; and wiring up to Watson services using Node-RED to show the real potential.

Volunteered and got far more involved in IBM’s Academy of Technology than I had ever expected, contributing to several key IBM initiatives and meeting (virtually) many of IBM’s technical leaders. It just goes to show what can happen when you put yourself forward and get involved!

Gave this blog a new responsive theme, as it was looking old and tired. As a web-developer I intended to design my own from scratch, but “the cobbler’s children have no shoes” as they say.

Helped Defra to deliver many improvement projects to enable continued and secure access to key cross-government IT systems. The kind of projects that are unsung, but essential.

Discovered good walking very close to home in Bushy Park. This gave us a good quick escape where we could walk ten miles and still be home for lunch! We also saw large amounts of wildlife including deer, kestrels, herons and cormorants.

Kept in long-distance touch with friends in Canada, with a combination of internet connection upgrades, google hangouts and monthly online board-gaming nights. A great improvement on only seeing each other once every few years and shows how technology is making the world smaller.

Mentoring three of our up-coming technical professionals, and learning an awful lot from them in the process!

My heartfelt thanks in particular to Richard Hopkins, Simon Greig, Martin Gale and Geoffrey Coan for providing several of the opportunities above, along with ongoing support, help and encouragement.

What could have gone better

It wouldn’t be a retrospective without a few reflection points for improvement, although I don’t have good answers for most of these. More reflection and self-awareness needed as we go into the new year.

I still swear by saying ‘yes’ to things, as most of the good things above wouldn’t have happened otherwise, but at times I had one too many plates spinning. I need to figure out which of the many things I’m interested in, to not do, to help keep things balanced. And to not break anything in the process.

The technology churn of cloud, javascript, web-development and devops doesn’t help, as there’s always something to learn or relearn, especially as an architect spanning a wide range of technologies. I’m not sure there’s a good answer to this, other than doing a little and often to keep up.

Email overload as I tend to use my inbox as a todo list. I’ve been getting on very well with Todoist in 2016 to keep track of everything, so I need to go the next step and stop using my inbox as a safety net.

Didn’t manage to get away for any serious hiking. We’re about halfway through the South West Coast path, but had various clashes with our preferred walking weeks for other trips and commitments, so didn’t manage to fit a trip in.

I could have read more. As it was, the only things of note I read purely for pleasure were Jules Verne’s Around the World in 80 days and Provided You Don’t Kiss Me: 20 Years with Brian Clough. My best reading time is when commuting, but this got eaten up with working on my laptop, conference calls, and more often than not just frittered away reading Twitter.

What can I do more of

Not quite resolutions, but a few fledgling thoughts.

Keep saying yes to things.

But find things that I can stop doing, especially if they can become opportunities for other people.

Be more open on social media.

Be more deliberate with my time. E.g. less mindless scrolling of twitter on public transport; more reading of books on my Kindle.

Create more things. Doing is better than reading about doing.

Continue to support musicians, creatives, startups etc. by putting my money where my mouth is. In the internet age, it seems like we believe that content and services should be free, but in reality everyone needs to pay the bills. If we don’t support art and creativity in all its forms then we are hypocrites when we mourn its passing.

Go hiking more often.

Beyond the T-shaped person: becoming star shaped

The T-shaped career model suggests that a person should have a depth of skills in a single field (the vertical bar) and a breadth of skills that enable cross-disciplinary collaboration (the horizontal bar). However to me, excelling in one area and being merely ok in a number of others feels too limiting for this agile, adaptable era of computing. It also risks becoming obsolete due to over-specialisation as the world changes.

T shaped person - breadth of skills as the bar, depth of expertise as the downstroke

I don’t want to be a Pi shaped person either, which simply adds another leg of expertise to the diagram. Instead of having deep expertise in one field, it’s now in two fields. An improvement as it allows for a reinvention from a legacy skill to a new skill, but still not really doing it for me.

Pi shaped person -  breadth of skills as the bar, depth of expertise as the two downstrokes

There are variants on the model that I prefer, including the ‘V-shaped’ versatilist described by Pete Cripps.

V shaped person - broader cross discipline skills, getting narrower as expertise grows

The versatilist approach does however illuminate the very thing that bothers me with all of this. The skills development journey in all of these diagrams is towards a fixed point of deep expertise.

By contrast, I feel like I’m floating in a galaxy of fascinating topics, and I need deep expertise in many of them to be able to deliver success for my projects and clients in a rapidly changing world. Of course I’m not going to be a polymath, deeply skilled in entirely diverse disciplines (rocket science and brain surgery?), but the skills I use span across traditional disciplines, mixing IT architecture, UX design, programming, marketing, project planning, security and more to deliver successful outcomes.

I’d like to propose an alternative approach to the T-shaped person that captures how I’m growing my skills as a star-shaped person.

star shaped person - skills growing outward into many different domains

I aim to create a map of my skills, using a polar graph instead of the traditional XY axis. My skills are growing outward in all directions with the arrow length reflecting the level of expertise, and the direction indicating the domain of skill. Areas of the graph can be used to group similar and different skills together.

I’ve used quadrants to contrast for example creative versus analytical skills. Choosing to develop a new skill is reflected by adding in a new arrow, which may grow over time to exceed the existing skills. This dynamic development of my mix of skills over time is another facet that the T-shaped model doesn’t illustrate.

Coincidentally this symbol is author Michael Moorcock’s famous ‘Chaos Star’ symbol which I find very fitting. In a rapidly changing world, sticking to traditional, order-led, straight-line thinking no longer cuts it. To survive as IT people, we need to be adaptive, quickly growing skills and expertise in emerging areas and organically reinventing ourselves as the world changes around us.

In a follow-up post I will work through a practical example of acquiring skills using the T-shaped and star-shaped approaches.

The right tool for the job

Everyone seems to be doing agile these days. Not everyone is being agile however.

There is a big difference between employing the rituals of agile and really applying the agile manifesto values such as having working software that users can get benefit from every step of the way. This graphic describing how Spotify build products illustrates the point:

Copyright Spotify - Negative view - a car gradually being built from chassis upward; positive view - different modes of transport from skateboard to bike to car

The image is powerful and intuitively rings true, but there are a few deeper points – possibly unintended – that are worth exploring.

The key message from the diagram is that there is more business and user benefit from having something that can be used every step of the way, and feedback from real usage will help to shape an end result that users really need.

This is an hugely significant point for agile projects, but I argue that this benefit is dependent on how well understood the problem domain and proposed solution is, as to whether this holds true, and the key thing is to pick the right method for the problem at hand.

The ‘not like this‘ approach arguably costs less if we are building a car (to deliberately take the analogy a bit too literally). Cars are a well understood product, with generally incremental improvements to a well understood design. The ‘not like this’ approach is well suited, as every single production step is focused on building a car, without distractions or rework. In the agile approach, between the later steps a significant amount of the product needs to be thrown away or reworked based on the lessons learnt from the previous step. If you’re absolutely clear of the required end product (a car in this case) in a well understood domain, and cost is a critical factor then this kind of incremental waterfall approach is arguably the way to go.

The ‘like this‘ agile approach could transpire to be less costly if the problem domain is poorly understood and the real need is unclear. Usage may identify that a bicycle does the job well enough, and avoid over-engineering (and over-pricing) the solution. Or perhaps step 4 reveals that the user really needs to use the vehicle in rough terrain; so a quad bike would be a more appropriate final goal and you can change target at this point. By comparison, if you’re building a car using the first approach, you might not discover that what is really needed is a quad bike until the product has been launched and you’re inundated with unhappy users for whom the car is the wrong answer.

To summarise: for novel and poorly understood requirements, concentrate on exploring the user need whilst delivering working software using agile techniques; for well understood deliverables and problem domains, use more ‘industrial’ techniques such as LEAN to deliver as efficiently and effectively as possible. The trick is then to identify which ‘mode’ you’re in, and also when and how to move from one mode of development to another.

Getting used to a new Mac – Keyboard shortcuts

It’s a bit of a shock to the system getting used to a Mac after years on Windows. So much muscle memory to relearn on well practiced shortcuts for instance. Keys that no longer exist. A trackpad that does all sorts of weird and wonderful things. I’ve put together a quick summary of a few regularly asked questions and things that I’ve learned that will hopefully be useful to other new mac users. This post focusses on keyboard shortcuts. There are new keys to use for shortcuts. Going from the bottom left there are: fn (function) – normally used with Read More

Wardley Maps

At a work event last week, I was pleased to see a slot about Wardley Maps, a technique that I’ve been reading about for a while. Wardley Maps can be used to help understand systems in a different way than just as boxes linked with lines, by including x/y axes to position each component based on its evolution and position in the value chain. This allows a better visualisation of the makeup of they system and in particular which bits are novel and well suited to agile, and which are commoditised where a waterfall or ‘as as Service’ approach may Read More

Transport for London on Apps vs. Websites and APIs

A recurring question is whether to have a mobile app, or a mobile friendly website or both. The view from the Government Digital Service is that the most important thing is to have a mobile friendly website using responsive design.

“Stand-alone mobile apps will only be considered once the core web service works well on mobile devices, and if specifically agreed with the Cabinet Office.and only to approve use of apps”.

Similarly, Transport for London (TFL) have recently posted about how they haven’t created apps, but instead have a mobile friendly website and also make their data available using APIs (Application Programming Interfaces). These APIs allow TFL’s data to be used by private companies and individuals who have created over 200 apps using this data; much more than TFL would have had the resources or inclination to create.

They’ve followed the principles of open data:

“Why open data?
• It’s public data – as a public body, our data is publically owned.
• To extend reach – ensuring as many people as possible have the widest possible access to travel information.
• For best use of the transport network – enabling choice of the most effective journeys.
• Economic benefit – the small companies who make apps with our data generate highly skilled jobs and wealth.
• Innovation – thousands of developers work on designing and building apps with our data, meaning great innovation emerges”

TFL acknowledge that the private sector will cherry-pick the easiest and most profitable apps, so they then use their website to provide a fully comprehensive set of information that is available to anyone with a web-browser, regardless of whether they have a smartphone or not.

This combination of open data via APIs to encourage private sector innovation and a comprehensive mobile friendly website to provide an overall service to all users seems like a pragmatic approach, is in keeping with the Government mobile strategy and hopefully provides food for thought for public sector (and indeed all large organisations where the ‘crowd’ will help to create innovative apps) when creating their own mobile strategies.

Installing IBM Worklight 6.0 on Windows 7

I installed IBM Worklight 6.0 following the instructions on the IBM Worklight installation page Generally my focus is on web-development and on delivering a ‘one web‘ experience using responsive design to allow a website to adapt to whatever device is accessing it (N.B. the one web article is great, make sure to read it at least once!). I do recognise that there are cases where ‘mobile apps’ are preferred either for access to device features, offline behaviour or just because that is what the customer wants. In these cases I’d rather create a hybrid app that is basically using my Read More

PHP integration with Twitter API 1.1

I got caught out by the recent disabling of the Twitter API 1.0, like many others it seems. I knew it was coming. However I’d held off in the hope that Twitter would see sense on these changes, but apparently not. It was time to add my token few hours into the vast amount of web-development hours wasted as a result of the Twitter API changes. I have a simple setup on a few websites, just to retrieve the last few tweets from a timeline and show them on part of my webpage. This is publicly available information, so a Read More

Atomic Design

Brad Frost puts forward a design approach for web / user interface design, working at multiple levels of abstraction, for which he has coined the name Atomic Design Working up from HTML tags (‘atoms’), into collections of tags to provide repeatable functions such as sections of a form (‘molecules’). These can then be combined to create recognisable sections of the user interface e.g. a masthead or footer (‘organisms’). Finally these combine into templates and pages which are the full website at different levels of detail. As an aside, it seems a shame (but also natural I think) that the atomic Read More

Accessibilty of desktop applications

Accessibility is all about ensuring that applications can be used by all people, and specifically that people with disabilities can perceive, understand, navigate, and interact with them. This is often mandated in law e.g. in the USA, Section 508 established binding guidelines for technology accessibility; as did the UK's DDA (Disability Discrimination Act), which is mostly now superseded by the Equality Act When discussing accessibility, most of the time we focus on web accessibility (understandable given its global reach). For website accessibility, the W3's WCAG 2.0 guidelines are the first port of call and are referenced by most accessibility guidance. Read More