The Developer’s Job

The Developer’s Job

[From the Archive: Originally posted at Amplify.com Sep 23, 2010]

We all know that, particularly in Agile development, developers have to wear many hats, and juggle many priorities, all the while working as a team.

My recent tweet (see at end) seems to have struck a chord – although maybe not in a good way. :} My thanks to all who responded. To save tweeting a response to everyone separately, I’ve penned this post in answer to the general tenor of the inquiries i.e.: “Well, what IS the Developer’s Job, then?”

Firstly, I have to say “It depends”. In particular, it depends on the prevailing mindset of the organisation within which our eponymous developer finds him- or herself working.

Within organisations of an Ad-hoc or Analytic mindset (the latter being by far the most prevalent of all organisational mindsets), a developer will be lucky(?) to have the opportunity to consider much else besides software. Indeed, they may be lucky to have the opportunity to consider much else besides code.

My tweeted remark (see below) was posted from the stand-point of organisations with a prevailing Synergistic mindset (admittedly, rare). Like their counterparts in lean service, lean product development, or lean manufacturing jobs, developers in Synergistic organisations at least have the possibility of being able to see their role (job) in a broader context.

Of what does this broader context comprise? We can start by recognising that developers are serving more than one master. Most times, several masters, in fact. I am speaking of course of the various separate stakeholder groups which any effective development project team must concerned themselves with serving. End-users, sponsors, project champion(s), the product owner, and the team members themselves each constitute distinct stakeholder constituencies. As does the business (organisation, company) within which the developers work. (Aside: I use the term “covalent” to describe this phenomenon).

So my answer to the inquiry referred to above, in the context of Synergistic organisations, is “the developer’s job is to understand the needs of the various stakeholders, in terms of what they each value, and to collaborate with other areas of the wider organisation in meeting those needs”.

Rare indeed, the stakeholder whose needs are confined simply to a piece of software, and even less, code. I grant you that software may be one (sometimes essential) part of the delivered solution.

As ever, I welcome a dialogue on this perspective.

Amplifyd from twitter.com
  • flowchainsensei OK. So there are STILL a whole bunch of software developers who think their job is about building great software. Sigh.

Read more at twitter.com

– Bob

2 comments
  1. Oh my? Does the Synergistic org really exist for employees, like it does for consultants. The broader context comprise involves sticking to power point and pontificating leapfrogging with legacy 😉

  2. The software developers job is to “deliver” not build great software, taking a cue from the Matrix all programs are here to do one thing and one thing only, otherwise they will be deleted.

    Delivering great software means meeting the needs of all stakeholders which are the constraints within which their software product will work and be used. They therefore have to be great sales people (to sell their ideas to the stakeholders), great communicators (to bridge the gaps between stakeholders who may times have divergent and conflicting needs) as well as great “abstractors” (hide the complex details which only cloud the discussions).

Leave a comment