Innovation in Software

Vagueware

Archive for September, 2009

You are reading a blog - Innovation in Software - no longer under active maintenance. These pages are kept here for archive purposes. If you wish to find out more about Vagueware please read our current website which will include links to the new blogs when live.

Better comments

with 6 comments

For various reasons I’ve decided to change the comments system on this blog to use Disqus. That means there is much more social media cohesion within the comments, and hopefully we’re going to be able to have a better 2-way discussion here.

Let’s get started: It seems twitter traffic might be peaking right now. So, I posit that all people who have access to the Internet today who want a twitter account (or indeed any other social media account), has one. There are few new users who are likely to sign up. Therefore the only growth available for such sites, is new Internet markets where access is limited (e.g. Africa). Discuss.

Written by Paul Robinson

September 26th, 2009 at 6:07 pm

The “Rockstar” Developer

with 6 comments

About two years ago, job adverts started appearing in the industry that had interesting phrases in them: Ruby on Rails Rockstar; Ajax Master; Software Architect Ninja.

Eyebrows were raised. Was this just another example of the industry’s machismo playing out? Were we witnessing the next generation of kids coming up through the industry and rejecting the corporate ties of traditional job titles? Did HR really expect their latest technology recruit to play to stadiums, or attack enemies silently in the middle of the night?

What these companies were actually trying to say was “we need somebody self-motivated, dedicated to their craft, and who can take a lead in front of our audience (composed of customers, investors and employees)”.

Alas, the whole meme was misunderstood, those recruited into such roles were ridiculed, and adverts stopped trying to feel like they were recruiting heroes from Manga comics or NME.

However, we still need that mindset all over this industry. I’d go as far as to say it needs to become the default. We just need to cut out the hyperness and stop drenching the industry in irrelevant masculinity.

Let me explain what I mean by “that mindset” in more detail. Most of you will be familiar, but I think it’s worth recapping:

  • Self-motived

    Anybody can learn how to write code, or fix a server. The difference between the majority of people in the industry today and the ones we want to see more of is how they learn, not what they learn. Some years ago I was working in a public sector gig where I had a couple of different people working under me. The difference between how they thought about their work was considerable. If I asked the first person to do something, the response might be “I’ve never done that before, so I’m going to need a few minutes to work it out, Google around, work out what I’m doing, spot the drawbacks, OK?”. Brilliant. The other guy would simply stop at “I’ve not been trained to do that. You need to send me on a training course”.

    There is no room in this industry for people with the second mindset any more. Rockstars don’t normally go to music school. Yes, training courses can be valuable, but unless you’re the kind of person who teaches themselves constantly, you’re not suited to this industry.

  • Dedicated to their craft

    A craft you say? Better believe it. Most of us are taking a blank piece of framework and sculpting it into a finished product. “Rockstars” care about aesthetics, tools, even to some extent materials (or at least in the Ruby world we do). Software people should have ideals of craftsmanship, even when they’re pretending to be engineers.

    However, not everybody is dedicated to their craft. Many will not go to a conference unless somebody else is paying. Most do not re-factor their code to make it better in every way possible. 98% will never attempt to help other developers improve their code without an assumption of compensation. The really great people in this sector have the mannerisms and dedication of the minority, mannerisms we need to see become the norm.

    I’m not suggesting hair-shirts or years of religious solitude here, just an interest in the industry that seeps a little bit from time to time out of normal work hours and uses up some of their spare time and cash because the interest is genuine.

  • Taking a lead

    I’ve met and worked with many “back-room mindset” developers. I once worked in a “pit” of developers and engineers at a household-name firm where team members were told to go home, have a bath, and come back tomorrow with clean clothes without any holes in them. To the uninitiated, this sounds disgusting (and to be fair, the pit did have a ‘funkiness’ about it), but in years gone by this was what small development teams were like. Guys who were in the back room, never asked for an opinion, never brought into management meetings, and who liked it that way. An invitation to a meeting was often met with a sneer by many of the people I worked with back in the late 1990s.

    Those attitudes are now (thankfully) disappearing. If you are the kind of developer who never wants to talk to the customer or management, you are useless in this industry. You’re dead wood. Sorry, but you need to realise that 80% of development is about communication, and good developers are the ones who lead that communication. Taking the lead is what we do. We are sculpting the future of organisations and job roles, we don’t get to sit in the cupboard and meekly accept specification documents handed down to us by non-developers any more.

There are more traits out there that we need to collectively foster, each of us at a personal level. This is just a starting point, this is what I thought of when people mentioned “Rockstar” developers. We just need a new name for it, something that doesn’t have all the connotations of “rockstar”, “ninja” or “master”. “Crafter” could work, but is too folksy for most people.

If the industry doesn’t start seeing these traits more in the kids coming up out of college, we’re going to struggle. The massive teams of old are dead. Small, focused development teams filled with people who think about their work the right way are the future. How do we foster these people?

Written by Paul Robinson

September 8th, 2009 at 8:55 am

Who is the audience for the Life Recorder?

with 3 comments

Michael Arrington appears to be drunk. Or at least, he’s suggesting he is the kind of person who would wear a Life Recorder, which my casual talking-to-people-down-the-pub research about a year ago shows only drunk people seem to think is a good idea. Arrington though thinks they’re the wristwatch of the 21st century:

Imagine a small device that you wear on a necklace that takes photos every few seconds of whatever is around you, and records sound all day long. It has GPS and the ability to wirelessly upload the data to the cloud, where everything is date/time and geo stamped and the sound files are automatically transcribed and indexed. Photos of people, of course, would be automatically identified and tagged as well.Imagine an entire lifetime recorded and searchable. Imagine if you could scroll and search through the lives of your ancestors.

Would you wear that device? I think I would. [...]

Lost. The. Plot.

In his poll, just under a thousand people agree, but they haven’t thought this through. The people you meet may not wish your conversations to be recorded and many may not want to be photographed. You will not have the time to spend browsing through what happened last week because you have this week to live. They will be an extra device to manage, charge, and maintain. They will record things you will want to forget. They will mess up your social life as people actively reject and or object to your presence. They will mark you out as a self-absorbed prick.

Yes, there will be startups touting them and selling quite a few. I’m sure some people will buy them and annoy their friends with them. The narcissistic types in society will love them. A few celebrities might even buy them and have them regularly throw snippets to twitter. But they will be ultimately be considered a fad as people realise that they are more of an intrusion into their lives than an assistant.

Within military circles they might prove popular, and the police have been trialling “helmet cams” for years. Beyond those niches though, these things are an absolute waste of time and money.

Who on earth else is going to want these things beyond the self-obsessed?

Written by Paul Robinson

September 7th, 2009 at 5:44 pm

Posted in Hardware, Trends

Tagged with

Somaliland – When Software Projects Destroy Countries

with one comment

Source: Wikipedia

Source: Wikipedia

Somaliland is an autonomous region that is probably very much like your pre-conceived notions. Its 3.5 million people have struggled through warfare (many suffer post-traumatic stress disorder), the economy is “in early stages of development” and it has suffered greatly to gain recognised independence.

Few people know of its existence, fewer still care about its future. But we should. The Horn of Africa has seen great misery and human suffering over recent decades, and whilst it is a country that has many faults including widespread corruption, it is at least a better attempt at democratic, peaceful governance than anywhere else nearby.

Alas, the entire country is now at risk, thanks to a technical “solution” to a problem that never really was.

The current edition of Private Eye has in its column “From Our Own Correspondent” a story from Hargeisa that should make all involved ashamed of themselves. Emphasis throughout is mine:

Somalialand is the only place in the Horn of Africa that is democratic, stable and tolerant. Yet because of misplaced fears of the mushrooming of micro-states, we remain unrecognised by the international community, 18 years after declaring our independence. As a result the world keeps us at arm’s length and has instead forced on us consultants so greedy and inept that the very peace we now enjoy is under threat.

Elections in an impoverished, nomadic society are never easy, but our record of closely contested polls compares pretty well with our neighbours [Somalia, Ethiopia, et al]. Our friends faraway nevertheless thought that what we really needed was a state of the art biometric finger printing and facial recognition system to compile a voter’s roll. But an operation of such complexity – not to mention the $10m funding – could not possibly be trusted to us natives.

[...]

Alas, this model [...] has somewhat underperformed. Presidential elections have been postponed four times now and are 18 months late, and now we have the prospect of civil war as our politicians cannot agree on a way forward.”

It’s a stable country that has a reasonable record on electoral fraud prevention. Who then thought that an advanced biometric system was what this country needed?

I’ve left out from the Private Eye piece the criticisms of how NGO Interpeace are (mis-?) handling this, how Britain and the US are washing their hands of it, and the details of who is blaming who, but the error was there at the start: they placed the country’s future in a technology system that wasn’t needed. No doubt it was profitable for somebody.

This is a country with a GDP per head of $226 – the vast majority of the population are living on less than $1 per day. $10 million could have helped address woeful statistics such as only 25% of Somaliland adults are literate, and just 17% of children go to school. The funding could have even helped the 72% of the population without access to clean water get some new wells.

But it gets worse.

The nomadic culture that dominates Somaliland (any two citizens can work out how they are related by sharing their names and clans), is culturally sensitive to finger-printing. That of course makes a biometric database a fatally flawed model. The problem they are attempting to address – that people from neighbouring countries could vote – has been “solved” with a system that introduces new problems, that means not even all of those entitled to vote want to necessarily register.

To cap it all off, the people who went about delivering the system didn’t just do a bad job at implementation, but a thoroughly awful one. According to some sources on the ground:

The current voter list is neither accurate nor can it form the basis of a fair and transparent election. The only alternative is to go ahead with the election without voter lists.
Interpeace stated in a controversial and a very contradictory press release dated July 25, 2009:

“The Voter Registration system was seriously abused during its implementation, with widespread corruption and systematic fraud, resulting in the failure to record the fingerprints of more than half of all registrants. In other cases, over 150 registrations were made with a single fingerprint at the same registration centre, or through photographs instead of in person.”

Say what? There are voters walking around with 150 polling cards, and others who got registered without ever actually turning up? That sounds like the kind of thing the project was meant to protect against. But the systems can spot all that and deal with duplicate registrations, right? Well, according to another source close to the action:

IT Professionals advised the hardware of the server should be upgraded and software to be reexamined to be fit to handle database of 4 million voters in Somaliland. The testing phase must include plan for next 20 years according to population growth rate.

They called for upgrade of both hardware and Software including the operation system, which should have latest security and performance tuning patches. The hardware upgrade should include Hard Disk, RAM and the Processor. They highlighted that majority of the data captured in the server are not in text [but in] binary format like picture and fingerprint, which needs massive storage area. RAM and Processor helps the server to boot and run quickly particularly during filtering the duplicates. [sic throughout]

Failures then, include:

  1. The whole project has several fatally flawed assumptions under-pinning core choices
  2. The money could have been put to more effective use elsewhere
  3. The software was designed incorrectly and therefore its output is unreliable and can’t be trusted
  4. The server infrastructure is under-equipped and under-managed so now they need to add more storage, more memory and increase processing power (and by the sounds of it, whack on a few service pack upgrades).

These are all failures we see in IT projects on a regular basis. If this were a new ERM or accounts platform we’d sit around the board room table, gravely shake our heads, talk about “lessons learned”, and put it all down as a bad job. We’d move on, avoiding the compulsion to try and “fix it” due to our own notions of “sunk cost”. This is in essence, like thousands of IT projects that have happened over the last few decades.

Except in this case, the consequences are more serious: the country now faces civil war.

As you go about your daily work rolling out technology to your clients and customers, you may not think that your potential failure to deliver will result in human fatality. However it will have consequences.

Iit’s important we think carefully as our industry takes a greater hold on the workings of civilisation and shapes ever more its potential, about what our lust for automation and control can do to lives if we fail to live up to expectations. Somaliland is an extreme – but sobering – example.

As an early supporter of NO2ID and long-term member of Liberty, Amnesty International, and others, I have heard enough stories about technology tampering with elections that even as an advocate of the power of software to improve society, I am perfectly happy that my native democracy requires nothing more than pieces of paper and some pencils to conduct an election. I sincerely hope that somebody decides it’s good enough for Somaliland too, before it’s too late.

Written by Paul Robinson

September 7th, 2009 at 8:45 am

An Idea: Developer Kit & Discounts

with 2 comments

One of the problems I sometimes have when heading up a developer team is just getting the right kit in the right hands. I have a project now where I need to get an iPhone and a Blackberry 8900 Curve to a developer, but we’re blocked.

I speak to teams occasionally that need to get iPhones to developers but don’t want to take on contracts, nor do they want the devices locked to O2 for ever more (or even in the first place). You can buy them online, but at around £650 for each 32GB 3GS, kitting out at a team of just a few developers can be painfully expensive.

Sometimes I’ll see a team come together that needs a pile of development kit just for a couple of months to see a project through. I’ve even heard of one team buy half a dozen Mac Minis at the start of a project, bill it to the client, and then come the end of the project they had no use for the machines any more. Talk about waste!

The logistics of this stuff is scary. Managing cashflow, sourcing equipment, it all just takes time.

When I see something that is taking a developer away from getting product shipped, I wonder to myself “isn’t there a better way?”. And tonight, I realised when it comes to sourcing hardware and software for development teams, there is. Vagueware could, if people wanted, help.

We can source kit, (including legitimate and factory-fresh unlocked and SIM free iPhones), for considerably less than you can pick the same equipment up for on the high street or eBay. Need 20 machines by Monday? With Photoshop installed on 5 of them? And XCode or Visual Studio ready to roll on the rest? We could do that, quite easily thanks to knowing enough guys on the wholesale side of the hardware business.

In essence, I’m thinking about offering hardware/software bundles for developers – custom packages, tailored for projects – priced at wholesale prices. Even renting out kit if that’s what people need.

I’m just floating this as an idea right now, if the feedback is good, I’ll look into making it happen.

Written by Paul Robinson

September 4th, 2009 at 1:00 am

Start-up Advice: Talk Their Language, Not Yours

with one comment

On the GeekUp mailing list, some business development advice was being asked for in terms of growing revenues and finding sales channels.

The advice being offered was to specialise: choose a niche and excel within it. Good advice, but the recipient started talking about the problems that come with specialising in CakePHP – a technology framework for rapid development of web applications – and I felt compelled to chip in with advice I think might be worthy of putting to a wider audience:

Don’t get caught in the trap of thinking specialisation means technology specialisation.

Business people don’t know about CakePHP. They know about e-Commerce, or customer forums, or customised marketing emails, or intranets where employees share knowledge.

Talk in their language, not yours.

When I go out and do sales, I talk about using Agile methodologies, iterative development, growing the technology base as revenue and budget allow. We use methods that ensure desired behaviour is captured and tested against cheaply, so changes in business assumptions are cheap to re-factor in the code – i.e. we reduce the cost of change to as close to zero as possible.

They couldn’t give a stuff what I’m actually saying is “we code Ruby on Rails with Cucumber, Culerity and RSpec tests”, because that doesn’t mean anything to them.

So, follow the market specialisation, not the technology specialisation when you speak to clients. Sure, choose the tech you like working with, but talk to your clients in terms of eCommerce stores, bold new ideas, e-mail marketing or super-slick brochureware sites as part of marketing campaigns.

Same as with selling anything: you sell benefits, not features*

All the big agencies I’ve seen thrive have chosen this style. The small guys seem to bang on about technology (or even worse “we only use GNU/Linux tools in production of your website”), and being able to do “anything” and get frustrated when people aren’t lining up at the door – the clients who like those shops generally aren’t the ones most of us want anyway.

* Before somebody points out that some gadgets “sell” on feature lists, that’s not what’s happening. When I say “this camera has triple 15 megapixel CCD sensors”, you might think I’m selling a feature. I know though that a geek who is into this price niche will likely transfer that feature in their head into “I can take really sharp pictures with good natural colour definition pictures with that camera”. I sold you a benefit via your own knowledge of the possibilities of the feature. :-)

It seems obvious, but most people miss it. Talking in the language of technology and features is a mistake I made for several years and am still struggling to deal with as I develop my new marketing material. The simple truth is, if they knew what all this BDD and Agile stuff was and why it was so good, they probably wouldn’t need our services. Now all I want to talk about when doing sales is business problems, issues and ideas and how to address them. Take heed, young grasshopper.

Written by Paul Robinson

September 1st, 2009 at 3:36 pm