All posts by utu2li2wp

Specialisation and agile

This article was originally published here on LinkedIn

The Scrum guide states that it “recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person”. I have read a number of posts and articles recently that seem to have taken a very narrow reading of this statement and imply (or even claim quite strongly) that specialisation within an agile team is a bad thing. Interestingly, it is often certain specific specialisations that these people seem to dismiss. These include business analysis (or service design), UX design, and sometimes technical architect. It’s notable that I’ve never seen anyone describe software development as being a valueless specialisation. Some of these articles I seem to imply that a goal of the agile coach should be to ensure that every member of the agile team acquires all of the necessary skills to deliver the product. In this agile nirvana they would have not just technical skills but also the soft ones such as eliciting requirements and understanding underlying business drivers.

The authors of these articles overlook that fact that the Scrum guide does go on to say, “Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.” I believe that the authors of the guide are emphasising team responsibility and are making the point that hand-offs within the team are the responsibility of the team and no-one else.

I’ve become increasingly uncomfortable with this stance and, as is my wont, I turned to DuckDuckGo (google for the paranoid) to see if anyone else out there shared my concerns.

Luckily I found a couple of really good posts, meaning that I can make this article shorter than it would otherwise be.

My first objection is that our modern world is built on increasingly narrow specialisation. 500 years ago it was possible for an educated person to know all available scientific knowledge. Now it’s not possible for one person to know all of one branch of a subject in science. By advocating a team that consists solely of generalists that possess or can acquire all of the necessary skills to deliver the product, the writers are rowing against the tide of history.

Here’s an article that puts specialisation in a historical context:

My second objection is that it would be very difficult for most organisations to find enough people with the breadth of skills required to fill a single team, never mind covering all of their product development needs. When I started work, it was back in the early days of the IBM pc. I was an “analyst-programmer” as were many of my colleagues at the time. Over the years I have done pretty much every job there is to do in IT, from analysis, development, testing, through to on-site support (though I’m still a pretty rubbish UI designer). As time goes on I find fewer and fewer people with my sort of background (most of them turned to management long ago). Theoretically then, I could be one of those generalists that can do anything in a team. However, in the 15 years or so since I stopped committing code on a regular basis, the whole thing has got more complex. There are more languages and bucketloads more frameworks and apis to learn. Sure, I could pick up angular.js if I had to, but it would take me a while…

There is so much breadth and complexity even in niche areas of programming that it is not surprising that programmers choose to spend their time keeping abreast of developments in their own specialism rather than learning a skill which will place them way outside of their comfort zones.

As an example of extreme specialisation, I once worked with specialists in java persistence frameworks (for non-techie readers, a persistence framework is a thing that programmers use to make sure that the stuff that you type in to an app doesn’t get lost). There are at least 44 different persistence frameworks for java so you can see that even this tiny part of the programmers’ art contains a lot of knowledge.

Here’s an article that explains the organisational side of things pretty well and for good measures throws in some rational reason why specialists might not want to become generalists

So, given that specialisation isn’t going anywhere, what is the agile leader to do? Well, the first thing is to ensure that your team as a whole has the right mix of skills needed to develop and sustain your products. Note that I am talking about skills, not experience here. A skilled software developer that knows java can easily learn .net. Equally, a business analyst that knows the publishing industry can easily learn about financial services. In fact, in the case of business analysis, I would argue that it is often an advantage for people to come in to a business domain fresh, as their minds are not polluted by “the way things have always been done”. However, it is a very different thing to ask a software developer to learn analysis skills or an analyst to learn coding skills. Individuals may have the capacity and the desire to learn both (I did) but many don’t and they should not be expected to just to fill a skills gap.

How to tell if you have the right skills mix? Well that’s where Kanban comes into its own. Kanban will show you very quickly where are the bottlenecks that are caused by skills shortages. In Scrum, taking a snapshot of the board at the end of the sprint, coupled with feedback from the retrospectives should tell you where to look.

My new MacBook Pro

I’ve always been a believer in the idea that professionals in whatever walk of life should have the best tools available and this seemed like a pretty good justification to upgrade from my 3 and a half year old MacBook Air to the latest MacBook Pro. After a lot of agonising I went for the 13 inch touchbar model with extra memory, 500GB SDD and standard processor.
I don’t want to dwell on its physical appearance apart from to say its predictably gorgeous, slightly smaller and, I think lighter (I’m not bothered enough to actually weigh it, but it feels a bit lighter to me) than my 2013 Air. I think I prefer the squared off appearance to the Air’s wedge; this is a laptop that means business.
I’d rather spend more time describing the experience of setting it up and of using it as I think this is the thing that most Apple-haters (you know who you are) miss out on when they complain how Apple has ‘lost its edge’ or some such nonsense.
When it arrived (4 days earlier than promised!) I briefly wondered whether I would be able to migrate my files and applications from my Air. I need not have worried: when you switch on for the first time, it asks you whether you are setting up a fresh laptop or whether you are migrating from an existing one. You have the option of restoring from a Time Machine backup or directly from a Mac on the same network. I chose the latter and a few steps later it was merrily transferring away.
A couple of hours later, the process was finished and I’m glad to say an almost complete success. It had transferred all my files, my applications, including the ones that were not downloaded from the app store, and nearly all of the settings across seamlessly. The only things that didn’t work were:

  • Because I was running out of space on my 128GB Air, I had migrated my photo library  onto an external SD Card. The migration progress had figured out that I was using an external library but (of course) couldn’t find it. This was not a massive problem as I wanted to transfer the library onto the main disk anyway but it was a bit more of a rigmarole than it could have been as my SD Card reader didn’t work when plugged in to the USB-C to USB adaptor
  • For some strange reason it didn’t recognise that I had changed the settings for my Outlook (aka Hotmail) account to use the IMAP connection rather than the old POP3 (which Microsoft had kindly turned off a few months ago with no fanfare whatsoever). Once I had figured out what had happened it was a simple matter to add the new account settings to Mail, especially since Apple have a mail server settings lookup service on their site. Weirdly however, it proceeded to delete a whole load of e-mails from my inbox. I think now that it’s because I tend to delete e-mails from Mail on my iPhone to save space. Up until now this has not deleted them from the server but it has suddenly decided to start doing so. I don’t think it was necessarily to do with the migration but something to watch out for nonetheless
  • Safari asks me whether I want to save the login details for every site I have an account with. I don’t because I use 1Password as a password manager but it’s strange that it’s forgotten those particular settings when it appears to have remembered everything else. (You can tell I’m scraping the barrel now)

In use the most remarkable thing is how familiar everything is. All my files are where I expect them to be, I can log on to all the same wifi hotspots; it’s like using a newer, cleaner version of my old laptop. This probably contributes to the deafening ‘meh’ that came from most reviewers, but if you think about it, that’s exactly how it should be. Contrast this with upgrading a Windows PC or laptop. You spend more time figuring out where Microsoft has pointlessly moved the functionality you used to be able to find in your sleep and trying to find out whether there are any drivers for the hardware that MS haven’t got around to supporting out of the box than you do working.

I love being able to log in using my fingerprint and the implementation of the touch bar is just about perfect. You don’t have to change the way you work at all. I forget about its existence for hours at a time, then glance down and there’s always some useful information there. Again this is just how it should be.

I miss the reassurance of the old magsafe connector but I like being able to connect the power at either side. Since I bought a USB-C to Lightning cable I can now charge my iPhone directly from the power supply rather than having to go through the Mac or carry around a separate brick. Others have complained about the need to carry lots of cables around but the only extra one I use is a USB-C to USB connector for my camera, though to be honest, if I was that bothered I could just transfer the photos by wifi.

So there you have it. Reassuringly expensive, undeniably gorgeous and if you already own a Mac, a subtle but useful enhancement to your current, already class-leading experience. It’s tempting to say “One day, all computers will be made this way” but unfortunately I don’t think they will. Those who don’t get it, don’t get it, and I’m afraid that includes Microsoft, Google, Samsung and all the others. What worries me is that Apple themselves will one day forget how to make devices this good. The world will be a poorer place.