Is it Time for a New Manifesto for Software Development?

Is it Time for a New Manifesto for Software Development?

The publication of the Manifesto for Agile Software Development in September 2001 changed software development forever.

The nineteen engineers present asserted that there was a better way of creating software than the “waterfall” approaches prevalent at the time by valuing;

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

It could be argued that the current “information age” started the day the agile manifesto was published, and that the massive product and service innovation we are enjoying now would not have been possible without it.

“Agile” software development has clearly served us very well, but would we now benefit from bringing together some of the emerging techniques and approaches in software development into a new manifesto?

Measuring a team’s value by measuring its’ impact on its’ business is a natural progression of better communication between developers and customers, and is an important maturity step. A software team exists to have impact on its’ business and good teams will want to take responsibility and accountability for their impact. To be effective as metrics the metrics need to be important, clear, unambiguous and consistently measured and communicated.

A company’s executive team should set overall priorities/strategy and add value by making sure their people are working on the right problems at the right time. Good teams are full of talented people that have a wealth of ideas on how to achieve the business goals, and their talent needs to be brought to bear on the business challenges. (Maybe going forwards we should measure the quality of an executive team by how effectively it deploys talent against its business challenges).

Modern tools, frameworks and approaches allow us to automate all of the activities needed to create customer affecting software. Testing, integration, deployment, monitoring and so on could and should all be automated and done quickly, easily and continuously. We want and need developers to be focussing their mental energies on solving business problems – not checking and moving software around.

Bringing this all together..should we now value?

Software team impact being measured by simple business metrics

Software teams being allocated problems rather than solutions

Low friction software development enabled by the automation of everything..continuously

At Hailo we formed teams using these principles (which we called “Mission Teams”) and one of the teams, the Driver Team led by the brilliant Dan Martins, was given the problem of improving the accept rate – which was the percentage of hails the taxi drivers accepted out of the total number they were offered. The team genuinely and honestly surprised the executive team with the quality, quantity and effectiveness of their ideas and had starting achieving all time record accept rates within weeks.

What do you think?

How To Lead Digital Transformation

How To Lead Digital Transformation

“Digital Transformation” is a term very commonly bandied around but what does it mean, and how do you lead it successfully?

There’s doesn’t seem to be a common definition of digital transformation, so to me..

Digital Transformation is the application of relatively new “digital” platforms such as web, cloud, smartphones, and social networks to radically change existing, or create new, business models or processes.

I think it’s fair to say that digital transformation is not an easy thing to pull off successfully and most digital transformation initiatives disappoint or fail. It seems that most incumbents are disrupted by a digital transformation rather than successfully executing one.

So..how should you beat the odds and successfully execute digital transformation?

In my experience it comes down to only three things..to be successful you need the hill, the will, and the skill.
By hill I mean a clear target or destination for the transformation needs to be decided and communicated. Everyone needs to know where they are going, and what success looks like when they get there. If the transformation is a “hill to die on” for the company then everyone needs to know what that hill is.
By will I mean the organisation needs to be completely behind the need for the proposed digital transformation and completely committed to its success.

You might assume that this is a “given” in these situations but that can be far from the case.

There is usually a spectrum of opinions on the need or priority of a proposed change within an organisation, and there is another spectrum of opinions on whether the proposed digital transformation is the right way forward.

To be successful the digital transformation needs consistent, total, public and unequivocal backing from the leaders in the organisation.

There will be “ups and downs” in any transformation, and the leadership needs to hold it steady through any tough times rather than start expressing doubts at the first sign of any trouble.

OK..so you know where you want to go and you have strong backing to get there.

To be successful it is critical you also have the skill or experience in executing the changes necessary to deliver the transformation.

As they say..there is no teacher like experience and it really increases your chances of success if you have people in the team that really understand the target context.

The only thing more likely to increase the chances of success than people with experience in the future world are people who have done a similar digital transformation before.

They will learnt a huge amount last time they did it and they can save a lot of time and money.
Of course if the digital transformation is truly ground-breaking then experience of the future state won’t exist. If this is the case then you will need to carefully create a team with people who thrive on pushing into the unknown.

Ideally they will have delivered analogous transformations before though of course.

One example that comes to mind of a successful digital transformation I was involved in was when I was at a paper based media business being disrupted by new “digital” products and services that were becoming available.

The Head Of Customer Operations came to me to tell me that when customers bought the new package of our services that we had just launched they were getting up to fifteen confirmation letters through the post per transaction (we a had product rather then customer focussed ERP system at the time).

This was clearly a disaster and I needed to do something about it.

The first thing I did was create the hill.

The hill in this case was to “stop the envelopes” and replace them with a single online record of their purchase within a new “my account” section of our web site. “Stop the envelopes” was simple, clear and unambiguous and I became like a broken record saying it.

As CTO I had the will and authority to make it happen, and most of the resources I needed to execute the digital transformation.

I created a relatively small team, augmented it with an external interim called Ratna Chengappa (who at the time was one of the most experienced ERP experts in Europe) and asked Mark Parsonage to lead it for me.

Mark had already demonstrated he had the skill to successfully lead change within our organisation having conceived and delivered a project to launch an augmented reality smartphone app that was pretty groundbreaking at the time.

Once we had the hill, will and skill my most important contribution to the project was to say “no – just stop the envelopes” every time a team tried to derail or delay the project by saying they needed a new tool, team, process or whatever.

The project completely nailed its digital transformation goal..it was calculated at the time that 1.5 million envelopes per year were stopped from being sent that would have been sent without the project and the customer satisfaction, cost and environmental benefits were material.

So there you have it..digital transformation is not easy but can be done successfully if you have the hill, will and the skill.

Interested? Give us a shout on hi@gro.team or 0800 246 5735 for an informal chat…

How To Find Developers

How To Find Developers

In a previous post I talked about How To Interview Developers but how do you find great developers to interview in the first place?

In order of effectiveness the main ways in which to find great developers are;

Referral, Search and Selection.

Referral

Referral by existing employees has been shown time and time again to be the most effective way of recruiting. If you don’t already have a employee referral incentive scheme in place you should set one up.The scheme will pay for itself many times over.

Search

By search I mean proactively searching for great developers. Effective ways of doing this include;

GitHub.com

If you are looking for deep expertise in a particular technology GitHub is a fantastic place to find it. Create a free account, type the skill you need in the search box (e.g. “PHP”), pick a repository with a lot of commits, click on the number of contributors link in the top right, and if you click on the name of developer who has done a lot of commits you will see his profile information including his email address. In my experience most developers don’t mind occasionally being contacted by companies about jobs very relevant to their skill set and interests. I think it’s also true that developers who are active in open source projects are much more likely to be passionate about technology, good communicators, and great team players.

Meetups

If you search for your desired skill in the search box at www.meetup.com it will show you all the relevant groups meeting in your area (which can be changed). Clicking on the group will show how many members there are in the group and a contact box for the organiser. Most organisers are happy to give you an opportunity to interact with the group in return for some beers and pizza at the meetup or whatever.

Selection

By selection I mean shifting through candidates that have approached you based on something you did.

The main ways of attracting a CV (resume) is to

1) Post a vacancy on your web site.

2) Post a vacancy on a public job board.

3) Work with a recruitment agency.

Your Web Site

I’m sure it can work but I’ve never had much luck advertising vacancies on company web sites. You tend to attract a lot of CVs that don’t really match the vacancy advertised, or people who aren’t legally qualified to work in the place of work. I still think advertising your roles on your web site is worth doing though – you never know and there are all sorts of brand and reputation benefits for doing so.

Job boards

Posting on job boards such as www.indeed.co.uk will generate a lot of CVs. If you have the time to do it the numbers game can work for you and you can get lucky. Don’t underestimate the overhead in managing the process end-to-end though.

Recruitment Agencies

If you’re in a hurry working with a good recruitment consultant is arguably the quickest way of filling your developer vacancies. They will charge you 15-25% of the first year salary for the privilege, but they generally will fill your vacancies. Bad recruitment consultants have given the industry a bit of a bad name but the good ones will do a great job for you by;

1) Taking the time to really understand what you’re looking for.

2) Filtering the CVs carefully.

3) Talking to any candidate before putting them forward (with added insight).

Archie managed to achieve a better than 50% interview/CV rate with me recently when hiring some contract developers in London.

Hopefully one of these approaches will work for you and you’ll find the great developers you’re looking for.

OK so now you have found your potential developer you need to interview them…How do you interview developers?

gro.team is a network of hand picked interims who help CEOs, CIOs, and CTOs deliver their change agendas and be successful… gro.team are currently engaged in the UK, Ireland, Spain and Sweden so if you need someone to come in and take accountability for something new, difficult or time critical get in touch! 

More “How To’s” and Case Studies at www.gro.team