Archive

Ex-Amplify.com

Delivering Software is Easy

[From the Archive: Originally posted at Amplify.com Nov 13, 2010]

There’s any number of folks in the software community that can build and deliver quality software to order. Most often these folks are working in small software shops, or in other cosy, obscure enclaves, who study their craft and apply the many progressive and effective ideas now known, to make sure they give their clients a great experience and value-for-money.

And we’ve all been developing and delivering software for long enough that we know how to do it, and how to do it (more or less) quite reliably.

And, from a self-indulgent point of view, that’s as much as needs to be said. We can just forget about all those less fortunate folks who haven’t discovered the secrets to reliably delivering. And all those folks who are dependent on them. And the folks who have to pay for it all.

But let’s face it; there’s (maybe) some thousands of folks who can deliver reliably, and hundreds of thousands who have to try but don’t know how, or know how but can’t anyway because of where they work, who they work for and because of all the monkey-wrenches being lobbed into their daily routines, and the bear traps lurking around every corner. And then there are the millions of folks dependent on the latter.

”I’m all right, Jack” is not a message that appeals to me. Which is why I choose to study software development in the large, searching for root conditions for the monkey-wrenches and bear-traps, and trying to do what I can to help those hundreds of thousands of less fortunate development folks caught in what I refer to as the “aspiration gap” – that gap between the (high) number of folks wanting a job where they CAN just focus on delivery and the (low) number of opportunities where that happy scenario is possible.

– Bob

Postscript

Here’s a picture showing “The Aspiration Gap” between where the majority of software development jobs are (blue curve), and the jobs folks would like to have (green curve):

The State of Agile

[From the Archive: Originally posted at Amplify.com Nov 1, 2010]

Summary

Agile at its most effective has the hallmarks of a social science or organisational psychology phenomenon, and not much at all to do with technical practices. If we accept this assertion, then I suggest it behoves Agile promoters to consider the implications of Agile adoption in the light of social science, along with individual and organisational psychology. From this perspective, the State of Agile is looking vulnerable – precarious even. But have no fear! Agile has already brought much pleasure and (job) satisfaction to many thousands of people, and points the way towards more effective organisations. Even if Agile crashes and burns, with its and a myriad of other contributions, I believe the world of work is changing for the better.

About me: I have been in software development and the technology business for nearly forty years. I’ve written compilers, interpreters, software tools, commercial, financial and embedded systems. I’ve designed and architected things from the very small to the massively huge. As a coach and advisor I’ve seen all kinds of development shops and approaches, from tech start-ups through to global corporates. I’ve been learning about agile since circa 1994, owning and running the UK’s first 100% agile software house in the process. I find my vocation lies in helping people, my motivation in seeing folks have a more fulfilling life at work in tech businesses, and I’ve spent 25+ years seeking answers to the question “why is software development most everywhere still done so badly?”.

“Before enlightenment, chop wood and carry water. After enlightenment, chop wood and carry water.”

– Wu Li

Tipping Point…

More and more folks within the Agile community claim that the Agile flavour of software development has reached some kind of tipping point. That non-IT people within businesses and other organisations have begin to appreciate the benefits that Agile software development has to offer over more traditional means of developing software, to the point where these business folks are considering trialling it, or even adopting it.

Certainly I’d agree that over the past few years we have seen a marked upswing in interest in the word “Agile” from the business community – although maybe less pronounced in the UK and Europe then elsewhere. And in an increasing number of cases, that upswing of interest does seem to have spurred businesses – or their IT departments , at least – to try out agile methods on one or more of their projects.

Some prominent opinioneers in the agile community even assert that in some years, Agile software development will sweep away more established approaches and become the “new normal”.

How realistic is this? We have seen false dawns before, in the shape of e.g. Structured Methods (SSADM et al), 3GLs, 4GLs, CASE tools, formal methods (VDM,Z), the 5th Generation (MITI), Object Orientation (OOA/D/P), Process Improvement (BPR, CMMI). Each of these has, of course, added to our sum of knowledge, and given us new means to do better. But none has swept the board(room).

Now, along with Agile (Scrum, XP, Kanban et al), we also have Lean software development, Systems Thinking, Deming, Theory of Constraints, “professionalism” a.k.a. certifications, Action Science, and more.

As a grass-roots initiative, Agile has come a long way in its short life, and garnered much support from practitioners.

But is Agile really the best bet for businesses looking to do something positive about gaining competitive advantage, better serving their customers and markets, or making more money?

Is Agile even a good bet? Have we, the practitioners – in our giddy delight at finding something that makes our work more enjoyable, interesting and meaningful, with the promise of transforming business itself – blithely ignored the elephant in the room?

…or Knife-edge?

Personally, I see the current state of Agile as less at a tipping-point than poised on a knife-edge. Many adopting organisations report relatively positive early experiences with Agile. Positive, at least with respect to the “usual” criteria; predictability, quality, cost, timescales, productivity. And positive even for “softer” or more general criteria such as employee engagement, effectiveness and stakeholder satisfaction.

My own work with Rightshifting, and in particular the Marshall Model of Organisational Evolution, however, has thrown up a key question. The aforementioned Elephant in the Room:

Assumptions

  • New-mindset-for-practitioners: Adopting Agile, so that it’s “done right” and delivers its promised benefits, necessitates its practitioners adopt a certain new (contrary to prevailing norms) perspective on the world of work. I refer to this as the “Synergistic” mindset.
  • Prevailing-mindset-for-organisation: Most organisations which are candidates for Agile adoption have a prevailing non-Agile view of the world of work. I refer to this as the “Analytic” (or possibly even “Ad-hoc”) mindset.
  • Cognitive-dissonance: Having different groups within an organisation, each holding markedly and observably different views of the world of work (e.g. Analytic, Synergistic) will inevitably lead to both tension and alienation.
  • Local-optimisation: As long as the scope of Agile adoption remains limited to practitioners (i.e. in one small corner of the organisation as a whole), their new mindset is likely to remain relatively unnoticed, and unlikely to cause significant tension and alienation in other areas of the organisation. But in this case, Agile will deliver little, if any, significant business benefit (i.e. to the “bottom line”). Practitioners, of course, might be relatively happy with the new ways of doing things, in the short term, at least.

The key questions, then, for me become:

In the case of Cognitive-dissonance:

How long can an organisation tolerate this state of tension and alienation, a.k.a. “organisational cognitive dissonance”, before feeling compelled to resolve it?

In the case of Local-optimisation:

How long can an organisation tolerate a new and opaque way of working that appears to indulge its practitioners without delivering any significant business benefit?

And as subsidiary questions:

How is a state of increasing tension and alienation likely to resolve itself? What are the alternative outcomes we can foresee?

And what relative likelihood for each such outcome?

And finally

Given the above questions, what is the prognosis for Agile adoption in most (i.e. Analytic) organisations? And thus, what is the prognosis for the way the world of business will come to regard Agile in future?

I leave the answers to these questions to you, dear readers – and to the unfolding future, which we explore together…

– Bob

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

Agile. Necessary but not Sufficient.

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

For want of a nail...

On Twitter recently I wrote,

“How about taking the whole #agile debate to a different place: The role of Product Development in (technology) businesses…?”

Some folks seemed to express an interest in this idea, so I’ve penned this post to draw together some threads appearing on Twitter and various blogs over the past few weeks and months. I claim no originality in these ideas, but maybe the weaving-together may offer some new perspective.

Am I anti-Agile? That’s as maybe. For my part, I have been evolving my take on the world of work, and in particular the world of work in technology-related businesses – from banks through electronic product companies to software houses, etc. – for over twenty years now. Over that time, I have seen the interest in “Agile” grow steadily, mainly amongst developers wanting to do a better job (and cut out some of the crap from their working practices), and more recently amongst some folks outside of software development, too.

My recent concerns over Agile, similar to those voiced by Al Shalloway and a few others, stem from the observation that many folks – developers and non-developers alike – seem to be expecting too much from “adopting Agile” within their organisations. Yes adopting Agile will often make developers’ experience of work more pleasant. And yes, adopting Agile can often double software developer productivity in the medium term.

But simply applying Agile principles (and practices) within development project teams will typically buy organisations, at best, no more than single-digit improvements in their overall PRODUCT development endeavours (i.e. improvements to the bottom-line). This degree of improvement, even when realised, can often be lost in the general noise of the business, or attributed to many other factors aside from Agile adoption per se.

This marginal value is often further eroded by the increased disruption along the Product Development pipeline, most obviously at the interfaces between the development team and the other folks / departments involved in the wider Product Development effort. In many cases, this disruption, coupled with marginal (apparent) bottom-line contribution, can persuade senior management that the whole Agile escapade has not been worth the candle, with consequent dilution of support. Under these circumstances, Agile sinks back into being – at best – something for the software developers alone.

So to the title of this post. Unwittingly, in most instances, Agile adoption is the vanguard of a shift in mindset within adopting organisations. Agile only really takes hold and delivers productivity benefits with the adoption of new ways of looking at and relating to the world of work (self-organising teams, reduction or elimination of specialisms, new roles for middle-management, intrinsic over extrinsic motivation, etc., etc.).

I believe Agile (or similar) has a necessary role to play in introducing this shift in mindset into development teams. But in no way is this sufficient for the shift in mindset to take root in the rest of the organisation.

In fact, starting in Development – already often seen by the rest of an organisation as a bunch of strange people doing inexplicable things and costing unfathomable amounts of money – would not be my choice of the best place to start a movement towards a new world-view for the organisation.

And without winning the confidence and participation of the rest of the organisation in the ongoing shift in mind-set, Agile builds its own Ghetto.

In summary, the benefits of a shift in mindset throughout the Product Development pipeline can bring compelling, triple-digit percentage improvement to a business’s bottom line. It is necessary for development teams to be part of this shift in mindset, and Agile is ready-made for this role. However, limiting such a shift to development teams alone is in no way sufficient to achieve the compelling benefits of a wider shift in mindset.

– Bob

Bain on Business / IT Alignment

[From the Archive: Originally posted at Amplify.com Aug 18, 2010]

Dan Rough just asked me about my thoughts on this (2007) Bain report, and its relevance to #Rightshifting.

Firstly, it’s good to see that someone in the big bench-markers was paying some attention to effectiveness. (Question: is anyone still interested in 2010?)

Of course, the Bain argument is mainly concerned with “pragmatic” issues such as business growth and costs, whereas #rightshifting finds its root in social justice, with considerations of profitability etc. *derived* from that root. By which I mean, #rightshifting holds that profitability, business growth and lower costs all improve (dramatically) with a more engaged workforce.

I don’t quite see why Bain have chosen to make “Alignment” a different axis from “effectiveness”.Surely alignment of IT with the business (giving the business the features it needs) is a part of effectiveness? I guess it played to their focus on “Business Alignment” as a strategic (marketing) ploy back then (2007).

I’m also not too sure to what extent this report was regarding IT as a “string and tin” and/or webtone provider, and to what extent software development played a part.

I can certainly concur (from experience) that organisations that try to improve the IT / business alignment by e.g. distributing IT around the business units seem to rapidly lose any semblance of “being able to do a good job on IT projects”. So, yes, I find the “Alignment Trap” issue congruent.

Coming back to the question of relevance to #rightshifting: If we unwrap the chart and stack the four quadrants horizontally, it seems to me to be very congruent with the #rightshifting chart we all know and love. That is, I would order the quadrants, from left to right, thusly: Alignment Trap (11%); Maintenance Zone (74%); Well-oiled IT (8%); IT-enabled growth (7%).

Big Note: The above ordering only takes us to about the 2x effectiveness mark on the rightshifting chart! There’s lot’s more (empty) space on the rightshifting chart (to the right of 2x, up to and beyond the 5x mark) that this Bain report doesn’t even acknowledge.

I can certainly concur with their basic premise:: “Aligning a poorly performing IT organization to the [relevant] business objectives still won’t get the objectives accomplished.” For me, the key question remains unanswered by this report: HOW to get business objectives accomplished REALLY effectively?

Amplify’d from twitter.com

Read more at twitter.com

– Bob

The Teflon Consultants

[From the Archive: Originally posted at Amplify.com Aug 17, 2010]

I was reminded whilst writing this tweet of a disappointing discovery I made when recruiting consultants for several projects at Familiar, the software and consulting business I used to own and run in the late ’90s.

As the business grew, we had a need for some folks to help out on a couple of development improvement projects, in a consulting/coaching capacity.

When it got to meeting the potentials for a chat (always so much better than an interview, imo), I of course mentioned our “value-for-money guarantee“:

“Whenever we invoice you, just pay as much as you think our work has been worth to you”.

This is a guarantee we gave to all our clients – and continue to give, btw.

To a man (and woman), the potentials, as soon as they heard this (why had they not already read it on our website, one could reasonably wonder), looked aghast.

Not one of them could conceive of standing behind their advice in the face of such a (brutally effective) feedback mechanism. Perhaps needless to say, I did not offer any of them a position.

Amplifyd from twitter.com
  • flowchainsensei @liammclennan Equally amazing: how many consultants don’t want to take responsibility for giving advice that works

Read more at twitter.com

– Bob

The Starting of Familiar

[From the Archive: Originally posted at Amplify.com Aug 16, 2010]

Introduction

In an attempt to give folks some context to some of my more contentious remarks on e.g. Twitter, I reproduce here the story of how Familiar started out, and some of the things we achieved during my time on deck:

A Customer Quote

“One of the most rational and engaging organisations I have ever seen.”

~ G Shekhar, CTO, InfrasoftTech

Familiar Limited was a company that I started with a colleague upon my leaving Sun Microsystems’ UK Java Center in early 1997. We also had the delight of some ten other interested folks helping us form the company and its ethos from the outset.

Green Park, Longwater Ave, Reading – headquarters location for Familiar Ltd circa 1999

Familiar was a software house specialising in delivering advanced bespoke Java web applications, that also shared its expertise on how best to manage the business of software development – in the form of consulting services – with other software development organisations. In fact, Familiar was the first 100% Agile software house in Europe.

Founded on Principles

When we set up Familiar, we had between us seen literally hundreds of development organisations, and we were convinced that it was sound business sense to found Familiar on the following core principles:

  • We would run the company for the mutual benefit of all the people coming into contact with it.
  • We would institute “human systems” that treated people – employees, customers and suppliers alike – like competent, rational, trustworthy adults.
  • We would do everything possible to build a community for the long term. Success depends utterly on having the full commitment of well-informed people who really want to make a difference.
  • Work can be the most fulfilling, exciting and absorbing activity known to Man.
  • No matter how motivated, intelligent and competent people may be, they still benefit immensely from an agreed, common approach to tackling work.
  • Commonly-held “management” assumptions and traditions (for example: jobs, appraisals, standard employment terms and conditions, management authority) are sometimes counter-productive and deleterious to a healthy business.
  • All our business dealings would seek win-win-win-win outcomes (for us, our suppliers, our clients, and their customers)

Guided by Practices

Given the above principles, this led us to institute a number of key mechanisms to advance these principles:

  • People were encouraged to participate in the community on whatever basis they felt most appropriate for their circumstances (for example, as employee, contractor, sub-contractor, apprentice, consultant, etc.).
  • Equity was available to anyone that participated in the community.
  • People were invited to each choose their own personal terms and conditions, including rates / salaries, working locations, hours, tools, and so on.
  • People were continually encouraged to synthesise and evolve their joint working practices (with a baseline set of working practices to make this as painless as possible).
  • People were invited to choose their own assignments, tasks and deliverables.
  • Narrow specialisms, such as sales people, managers, and so on were conspicuous by their absence. Everyone was encouraged and supported to become so-called “Generalising specialists”.

And the product of these principles and mechanisms? A hugely engaged and participatory workforce, and a really humane community, which produced a number of essentially defect-free software products, and pushed the envelope in terms of what was possible from a software development organisation.

As an example, here’s just one quote from a continually-surprised customer:

“With INControl, Familiar gave us one of the most successful extranet application projects in CWC history.”

~ Cable & Wireless Communications

– Bob

Tom Gilb Laments the “10 Wasted Years of Agile”

[From the Archive: Originally posted at Amplify.com Aug 15, 2010]

I very much share Tom’s summary of “the state of Agile”:

Summary

The Agile Manifesto [2] was never a well formulated document, from the point of view of making sure we did the right things right. I have at least, in my principles and values here, tried, in my not too humble opinion, to show a specific alternative – how it might have been. The manifesto has of course been successful in getting a wave of change. And moving to rapid iteration is a ‘good thing’. But rapidly iterating in wrong directions is not progress. The key idea of intelligent iteration towards well- defined stakeholder values, was clearly and extensively spelled out in Principles of Software Engineering Management, which most of the leading agile gurus point to as a source of some of their agile ideas. But as some of them reflect today, they missed at least one simple but essential point – ‘stakeholder value’ needs to be the guiding light for the iterative process – not functions and stories.

Hey, we are still a young discipline. We only wasted about a decade getting this wrong. Software has been seeing failed fads come and go for 50 years. We have so many experienced intelligent people now – maybe we can get it right in the next revolution?

If the IT-project failure rate (total plus partial) goes down from about 90% (Standish) to less than 2%, you will know we got it right, for a change. Do you think we can do it right by my 100th Birthday?
~ @imtomgilb

For Tom’s full argument, see e.g.: “Value-Driven Development Principles and Values – Agility is the Tool, Not the Master” (pdf of Agile Record article) or a related Slideshare Presentation.

Amplifyd from twitter.com

Read more at twitter.com

– Bob

What Next for the Agile Community?

[From the Archive: Originally posted at Amplify.com 6 Aug 2010]

[Update: Dave’s original post no longer available online – there is a copy at agilevoices]

Whereas I disagree in large part with Dave Nicolette’s full blog post – which I have excerpted (below) – I applaud the sentiments expressed in said excerpt.

Specifically, I profoundly disagree with his assertion that Agile has “crossed the Chasm”. Certainly many organisations have been and continue to dally with it, but the number that have taken it to heart in a *sustainable* way are few indeed (and even yet fewer in Europe and the UK).

My applause for the excerpted sentiments stems from my sharing Dave’s view that “we” (the Agile community) have indeed lost sight of process issues and even more, people issues, particularly “in the large” i.e. across the organisation.

Worse yet, few in the community (Dave included?) have yet realised that the root cause of failure to sustain agile adoptions has been, and will continue to be, not realising the nature of the challenge we face (of which I have written recently, elsewhere: [link – TBD] ).

Amplify’d from dnicolet1.tripod.com

In my view, there are three broad areas in which IT work was completely dysfunctional throughout the 1980s and 1990s, and problems in these areas gave rise to various attempts at improvement, including agile:

  • Process issues – The mechanics of taking ideas from concept to cash.
  • Human issues – Job satisfaction, commitment, motivation, enjoyment, and work-life balance.
  • Technique or (as we would say it today) software craftsmanship – doing work that teaches us something and in which we can take pride.

We have lost sight of these areas of focus (with some notable exceptions) and have become distracted by the attempt to perfect specific activities for their own sake. This is not a proposal for 90 minutes of congratulating ourselves. I think we need to figure out which way we want to take “agile” thinking from this point forward…if anywhere.

Read more at dnicolet1.tripod.com

– Bob

The Nature of the Rightshifting Challenge

[From the Archive: Originally posted at Amplify.com Aug 5, 2010]

Hi Pascal,

The Challenge of Sustainable Agile Adoption

You ask about the nature of the challenge of sustainable agile adoption, as I see it.

Most folks see the challenge as mostly one of getting one or more development teams working in an “Agile” way, with the implicit assumption that if we can make that happen, then those teams’ customers will begin to appreciate the benefits, and move progressively towards a wholesale adoption of Agile.

Misconceptions

Sadly, this is not the nature of the challenge. The real challenge is to help organisations – those seeking more effective software (and product) development practices, at least – to change their mindset, aka world-view.

It’s Really about Shifting Mindsets

The majority of organisations contemplating or attempting Agile adoption have a prevailing “Analytic” mindset (see the Marshall Model mindsets chart). The Analytic mindset is not fertile ground for the Agile way of being, characterised as it is by command-and-control management, Theory-X beliefs, functional silos, local optima, efficiencies, etc.

Any sustainable agile adoption must look to a shift in mindset in the host organisation as a whole, else expect eventually to be spurned.

Use Means Relevant to Mindset Shift

Agile adoptions are often a veiled attempt to get to grips with the Synergistic mindset (this characterised by e.g. systems thinking, a focus on end-to-end performance, Theory Y beliefs, etc.). Yet, because the nature of this challenge is most often unrecognised, few relevant or effective means are employed to address the challenges of this transition.

– Bob

Transcript of Email to @papachrismatts Explaining #Rightshifting

[From the Archive: Originally posted at Amplify.com Jul 31, 2010]

Having kindly taken the time to look into the Rightshifting ideas I have been championing for some time, Chris Matts recently emailed me with his comments:

“From what I’ve read, Rightshifting seems to be a call to arms to radically shift improvement of organisations. What I’ve not discovered is the means [Rightshifting proposes] to achieve this.”

He thought my reply warranted wider publication, so I’ve taken the opportunity to post that reply here:

You’re absolutely right, in that the Rightshifting campaign is a call to arms to radically shift improvement of organisations (and specifically, their *effectiveness*). We have expressly avoided nailing ourselves to any particular means, for a number of reasons (see below).

I firmly believe that the first and biggest hurdle to improved effectiveness is the ignorance of the vast majority of decisions-makers, software development services purchasers, etc., as to how *in*effective their software development organisation presently is, and just how much *more* effective it could be. The question of “how” although relevant, only enters the equation once people have determined that they’re no longer satisfied with their status quo.

And of course, as you and I know, the “how” (or rather, many different “how”s) has been demonstrated in practice in enough places that “how” is not so much of a problem these days.

So, in a nutshell, Rightshifting is about education. Specifically, it’s about educating people as to what’s *possible* (and realistically achievable).

Note: Whereas the top line for Rightshifting is about education and thence to improved organisational effectiveness, the bottom line for me has ALWAYS been about creating more humane, fulfilling work and workplaces.

BTW Grant Rule – my comrade-in-arms in Rightshifting – has a marginally different take on the bottom line (concerning e.g. social responsibility, the Five Capitals, and sustainability in the macro-economic sense).

If you’ve not yet seen it, the article I feel that best speaks to the above is my “All Executives Are Unethical” paper, available here: http://fallingblossoms.com/opinion/content?id=1001 (pdf).

Some reasons for remaining silent on means
================================

  1. The idea of Rightshifting as an awareness campaign comes, not least, from Sir John Whitmore’s work on coaching. Specifically, the A.R.C. acronym: Awareness, Responsibility, Commitment. i.e. People won’t commit to take action about something before they have come to feel responsible for the issue, and that feeling of responsibility can only happen once they have become aware that there is an issue needing attention.
  2. I believe means are utterly contingent on context (Genshi Genbutsu – at least for Analytic-> Synergistic transitions and further to the right, c.f. the Ha and Ri stages in “Shu Ha Ri”, or beyond stages 1 and 2 in the Dreyfus Model) and would be loath to see the emergence and consolidation of Rightshifting “best practices”.
  3. We want to enrol as many supporters into the Rightshifting campaign as possible. Not least because we have a whole industry to educate. Leaving the means open to individual suppliers allows them to compete on delivering the most effective means they can find into the market, whilst cooperating on the basic education and awareness campaign (coopetition being a watchword of Chaordic organisations, btw, c.f. Dee Hock).
  4. I have always felt that people buy in to change better, when they feel ownership of the change. Allowing (encouraging) folks to discover and implement their own means will, I believe, contribute positively to feelings of ownership, and thus to the sustainability of the necessary changes.
  5. On a personal note, Falling Blossoms* was founded on the notion of emptiness as a positive dynamic. I believe that emptiness (as in empty space) motivates people to fill in the blanks for themselves. Lack of express means for Rightshifting is my attempt to implement this concept in the Rightshifting equation.

*One day, in a mood of sublime emptiness, Subhuti was resting underneath a tree when flowers began to fall about him.
“We are praising you for your discourse on emptiness,” the gods whispered to Subhuti.
“But I have not spoken of emptiness,” replied Subhuti.
“You have not spoken of emptiness, we have not heard emptiness,” responded the gods.
“This is the true emptiness.”
The blossoms showered upon Subhuti as rain.

Why Agile is No More (or Less) Than a Skunkworks

[From the Archive: Originally posted at Amplify.com Jul 27, 2010]


Agile as skunkworks. This simile struck me quite forcefully the other day, and I have already tweeted to this effect. But the more my subconscious works on it, the more the analogy seems apt. (My apologies if anyone else has already drawn these parallels.)

For those unfamiliar with the term, “skunkworks” is widely used in business, engineering, and technical fields to describe a group within an organisation given a high degree of autonomy and unhampered by bureaucracy, tasked with working on critical, advanced or secret projects.

The correspondences with Agile, and in particular with those Agile Pilot projects so beloved of organisations dipping their toes in agile waters, seem manifest:

  • Agile projects generally receive dispensations to forego “normal” standards of documentation, project reporting, etc.
  • Traditional processes – aka ways of working – cease to be mandatory .
  • Agile projects often get to work on something critical to the business.
  • Agile projects can freely(?) adopt a different world-view than their parent organisations with respect to hiring practices, treatment of staff, incentives, working hours, dress code, job titles, roles & responsibility, and so on.
  • Parent organisations look-on in bewilderment, and sometimes outrage or fright, at the corners that the agile project teams seem to cut, and maybe at their general alien demeanour, too.

So, if you accept these parallels, what’s the relevance of the analogy? I believe the relevance lies in the history of skunkworks. Even though some have produced amazing products, like the U-2 spyplane


and the later SR-71 Blackbird,

few skunkworks have succeeded in exporting their highly-effective ways of working back into their corporate host organisations.

Agile exponents by and large still cling to the forlorn hope that Agile will go mainstream, leach into traditional organisation by osmosis – and the benefits of the Agile approach will be realised by all.

I use the phrase “forlorn hope” advisedly, because if skunkworks have been unable to shift the mindsets of their “host” organisations for fifty years and more, why should we expect Agile to be any different in this regard?

As ever, your comments and conversations will be most welcome.

– Bob

Just Burning Toast and Scraping It

[From the Archive: Originally posted at Amplify.com Jul 26, 2010]

Of course, Deming was talking about manufacturing, but I suggest that his observations also hold for Product Development (including software development).

Do go read Glyn’s whole post [Update: full post now only available via the Wayback machine] for more context.

Amplifyd from www.glynlumley.co.uk
Just burning toast and scraping it

In one of his 14 Points for Management, Deming called for mass inspection to cease. Prof. Henry Neave comments that this is not to suggest that we eradicate all inspection. He writes, ‘There is the world of difference between, on the one hand, dependence on inspection as an attempt to provide the customer with something that he won’t complain about and, on the other, the use of inspection to provide guidance toward improvement of a stable process as well as to pick up the occasional special cause that creeps unannounced into that otherwise stable system’. In an interview with Mary Walton (June 1985), Deming stressed that, ‘Quality comes not from inspection but from improvement of the process’. In other words, we should seek to build quality in rather than inspect it out.

Read more at www.glynlumley.co.uk

– Bob

Agile: Doing the Wrong Thing Righter

[From the Archive: Originally posted at Amplify.com Jul 19, 2010]

Introduction

Undoubtedly we’ve come a long way since Snowbird (http://martinfowler.com/articles/agileStory.htmlhttp://agilemanifesto.org/history.html). And Agile seeds – when planted in fertile ground, at least – can grow successful, productive teams. Even hyper-productive teams (http://gojko.net/2010/04/20/jeff-sutherland-how-to-make-your-team-hyperproductive/).

Several conference announcements recently have trailed John Seddon’s upcoming polemic against Agile: “doing the wrong thing, faster”. Neither knowing exactly what John’s going to say on the subject, nor wishing to steal his thunder, I’m writing this piece to present my own views on why Agile has, more often that not, been doing the wrong thing righter.

One thing John and I are likely to share, though, is a Systems Thinking perspective on the subject. Hence the notion of Agile as “the wrong thing”.

Systems Thinking

Systems Thinking, in a nutshell, encourages us to take a look at wholes, not parts, and judge the worth of a system on its end-to-end effectiveness, rather than on how well individual parts operate (aka their efficiencies).

We can choose to regard any business as a system, with software development being just one part of such systems. No matter how well-run the software development team or department, the system within which it exists can still be dysfunctional and perform poorly. The introduction of Agile to a development group often only helps to enhance that one (relatively small) part of the whole system.

Some people note that Agile, and Scrum in particular, drives the discovery of these dysfunctional system behaviours e.g. throughout a business. And while I have seen that happen, few businesses have the will or insight to act on the messages coming from the agile teams. NB @dpjoyce has just tweeted about the “Red Pill / Blue Pill moment” (http://twitter.com/dpjoyce/status/18901380780).

Cognitive Dissonance

This highlighting of dysfunctional behaviours often leads, in turn, to significantly increased friction between the Agile folks and the rest of the folks they work with. Ultimately, the friction can become sufficiently uncomfortable to threaten the Agile initiative itself, improved software development outcomes notwithstanding.

I could write more (much more) on this topic, but – not least because this post was prompted by various folks wanting to talk about this question – I’m going to park my keyboard now and invite you to contribute (below)… 🙂

Amplifyd from twitter.com
flowchainsensei I’d still like to talk about why #Agile is “doing the wrong thing, faster” and why the Agile community fails on the “big picture”. Amplify?Read more at twitter.com
– Bob

“Coach as expert” vs “Coach as facilitator”

[From the Archive: Originally posted at Amplify.com Jun 29, 2010]

I myself sit very much in the latter camp (coach as facilitator). In fact, I have found that “coach as expert” can often have serious disadvantages for the coaching relationship and the progress of the player, both. It’s unhelpful that hiring managers and/or HR folks have so little clue about this.

Amplify’d from marshallgoldsmithlibrary.com:

I cannot make the successful people I work with change. I don’t try. Too many people think that a coach — especially an accomplished one — will solve their problems. That’s like thinking that you’ll get in shape by hiring the world’s best trainer and not by working out yourself.

Read more at marshallgoldsmithlibrary.com

– Bob

Career Paths for Technical Folks

[From the Archive: Originally posted at Amplify.com May 11, 2010]

In my previous Amplify entry, “Do Managers need deep technical skills?“, I suggested that folks with technical knowledge were perhaps not automatically the best choice for management positions in technical teams.

Marc Johnson then asked about my view on career development for technical folks. So here it is:

I have long thought it unfortunate that most organisations seem to have an implicit mental model of career development that assumes that to “get ahead”, folks have to get on to the general-management ladder and begin climbing.

It’s been my experience that many highly talented technical folks have little interest in swapping their technical role for a management one, but often feel that a change into management is the only way they can advance their careers.

Sun Microsystems (R.I.P.) used to have a somewhat novel take on this issue: They provided twin career ladders all the way up into the high echelons of the business, one ladder for technical folks and one for the general management folks. For a business predicated on technical excellence, this seemed to make some kind of sense.

In the more general case, I take comfort from the continuing evolution of business in general, and the role of management in particular, that suggests to me that the issue may become moot at some point in the future. Not least because I see the role of management changing (unrecognisably), and modern management skills becoming just one more skill-set of the multi-skilled worker.

Aside: By “modern” management skills I mean things like Systems Thinking, Theory of Constraints, Lean, appreciation of e.g. customer value, value streams, folks’ needs, and fellowship;. These in contrast with the more traditional emphasis on amorphous “people skills”, command-and-control, etc.

So, for technical folks in organisations that essentially require one to abandon one’s technical career to get ahead, the old saw remains true: “Change your organisation, or change your organisation.” :}

Amplifyd from twitter.com

– Bob

Do Managers Need Deep Technical Skills?

[From the Archive: Originally posted at Amplify.com May 7, 2010]

Jurgen Appelo asked me yesterday to clarify my (tweeted) position that requiring managers of technical team to have deep technical knowledge (within the same technologies as the team) is “senseless” (i.e. not very clever).

So here’s my response:

There are some (few) advantages to a manager possessing deep technical knowledge in those technologies being used by the team. However, these advantages are significantly outweighed by the concomitant disadvantages.

Advantages

  • Easier to win the (early) respect of the team.
  • Fount of knowledge on hand when the team get stuck on technical issues.
  • Better early inter-personal communication, as the manager and the team have a more congruent understanding, vocabulary, etc.
  • Technical skills imply, at least, that the manager in question may have an engineering perspective and understand the software development (e.g. coding) mind-set.

Disadvantages

  • Superior knowledge makes for less effective coaching, as the “expert” is often sorely tempted to provide a quick answer to move the work along, rather than allow the team to stumble and thereby learn and grow their skills. Aka “micro-management”.
  • People coming from a technical background do not often have the coordination and interpersonal skills necessary to help the team achieve a highly-effective state. Consider the perspective of Deming et al: “The Team works in a System. The job of the manager is to work on the system to improve that system with the help of the team”. (Personally, I’d describe it the other way around: The team owns and improves the way the work works (the system) with the help and support of the manager).
  • People with a deep technical knowledge have generally acquired that knowledge by dint of love of technology and long hours spent practising their art. Many such folks find it very difficult to set this love and these skills to one side on those occasions when the exigencies of the situation demand more focus on the development and application of their coordination and interpersonal skills.

To recap: Whereas the advantages listed above are more numerous, they are, in my opinion, far outweighed in significance by the stated disadvantages.

Personally, I would generally exclude people with deep technical knowledge from consideration for management positions, as both a favour to them, a favour to the team, and a favour to the work and its customers. Of course, there are rare exceptions. 😉

Amplifyd from twitter.com [original source no longer available]

  •  jurgenappelo
    @flowchainsensei I would welcome an explanation why our policy is “senseless” 5:21 PM May 6th via Twitter for Android in reply to flowchainsensei

– Bob

Postscript

[Mar 2, 2012]

Lest anyone slip into the notion that I favour non-technical managers over technically-skilled managers, please note that in the bigger picture (i.e. of organisational effectiveness), we would not have managers at all. The issue then becomes moot.

Commitment to Sprint Delivery vs Time-boxing

[From the Archive: Originally posted at Amplify.com May 1, 2010]

This post is my amplification of a point being discussed on Twitter the other day.

Context

The thread of discussion was kicked-off by my response to this tweet: “with time-boxed iterations, you commit to implementing all [stories] within a given period of time”

My initial response was: “No, not commit, just select”

Some folks seem to have taken exception to this (and probably with some cause, given its brevity), so here’s a little more of my perspective on twin subjects which are close to my heart, and receives less attention than perhaps they warrant: Commitment, and time-boxing.

Note: The subject of time-boxing mostly applies to agile approaches with fixed-length iterations, such as Scrum, although I would suggest that there is merit in considering time-boxing for e.g. individual cards / tasks / deliverables in Kanban, also.

Time-boxing

For me, timeboxing means setting a fixed end-date (for e.g. an iteration), and not ever allowing work to overrun that date. Not contentious so far, I hope.

Given a fixed end-date, then, the question must sometimes arise as to what happens when that date is reached and not everything planned for delivery on that date is “feature-complete”. I have generally thought it best to anticipate this situation, and have a project management pattern named “Constant State of Ship”. This pattern proposes that work items within a sprint should ALWAYS be “shippable” (at, say, 10 mins notice, max), at every point in their evolution, from “not started” to “feature-complete”.

Wikipedia says (of time-boxing): “If the team exceeds the date, the work is considered a failure and is cancelled or rescheduled”. I prefer to say “All work is shipped at the end of the timebox, some of it may not be feature-complete”.

Put another way, a time-box, for me, means allocating a fixed amount of time to work on a thing, and shipping that thing as soon as time is up.

Aside: In the past, I have worked with some project teams where we timeboxed the individual tasks / work-items / deliverables on the sprint plan, not just the sprint as a whole.

Commitment to Delivery

Given the above take on timeboxing, hopefully my comment on commitment takes on a little more clarity.

Commitment, then, involves the team as a whole asking its members to sign up to working on the planned tasks / work-items / deliverables for a fixed amount of time per item.

Aside: To improve the chances of that fixed amount of time being sufficient to reach “feature complete”, I encourage new teams, as part of sprint planning, to provide a “percentage likelihood of reaching feature-complete in the committed time”, for each item. Estimates below 80% trigger a re- evaluation of the allocated time / people, and most likely some re-planning. More mature teams can forego this step.

Summary

In summary then, time-boxing, as described above, means that teams – and individuals – don’t commit to shipping everything as “feature complete” in each sprint, but commit to doing their best to get as close to feature-complete, for each item, as they possibly can in the time they have allocated themselves.

I leave it as an exercise for the reader to consider the implications of this strategy, with regard to motivation, teamwork, and customer (product owner) satisfaction.

– Bob

A Personal Charter

[From the Archive: Originally posted at Amplify.com Oct 30, 2009]

It seems clear to me that many HR people do not like Personal Charters. I find this inexplicable, but I have seen it often enough to believe it’s a real phenomenon. In any case, as the kinds of organisation I favour working with do not have HR people or departments (i.e. the Synergistically-minded organisations), then publishing my own charter (dating back some fifteen years now) acts as some kind of filter for the opportunities I don’t want.

So, that having been said, why publish a Charter anyway? I have found e.g. Project Charters help immensely in productively managing expectations between the various parties involved in software development and similar group endeavours. And I believe all coaches can benefit from having a charter to hand when interacting with players and prospective players. In short, a charter helps folks know where they stand. I hope you can keep me honest and point out the occasions if and when I fail to live up to mine:

My Charter

Amongst the things I value personally, I count honesty, integrity, openness, generosity, altruism and non-violence. I share the view that people relate and cooperate best when they share a common set of values. I don’t believe any particular set of values makes for a better or worse kind of person per se.

I believe my vocation lies in helping others – which consequently drives most of what I do. Balancing that comes the understanding that people only value and appreciate help when they’re truly ready for it.

I find myself constantly amazed, delighted and perplexed by the infinity diversity of people’s perspectives, and their interpretations of their own personal experiences. I believe I shall never tire of exploring that diversity.

Perhaps because I’m British, I regard the term ‘friend’ to mean ‘a person one knows well and regards with affection and trust’ rather than e.g. ‘a person with whom one is acquainted’. That doesn’t mean we can’t become friends.

I have no wish to challenge your point of view, or beliefs – unless you’d like me to. If you blog or tweet, I will infer that you would indeed like me to.

I welcome enquiry-oriented dialogue and certainly value your challenging my point of view – but I’d also appreciate it if you’d refrain from simply trying to have me adopt yours, or censure my opinion.

If you ask me for my help, I’ll gladly and freely give it – except where it might compromise my values. If after a while I don’t seem to be making a difference, I might seek to withdraw – but only after discussion and with your informed consent, if possible.

Words offer a poor channel for communication – written words even more so. Inevitably then, we will sometimes misunderstand each other. I for my part will try to anticipate, identify and correct such misunderstandings. Sometimes unchecked misunderstandings may result in a certain emotional frisson. Hopefully we can all try to remember this.

I believe in letting people know how I see the world – in the hope that this knowledge might improve communication and trust, and with the full understanding that this might occasionally cause unintended discomfort or be mistaken for a posture of conflict or confrontation.

I hold the view that criticism – particularly constructive criticism – generally rewards the giver rather more than the recipient. So, expect to see me using a more Socratic and non-violent approach.

To the extent that you come to appreciate my contribution, you may care to reciprocate – but it’s not part of the deal.

And of course, I will treat anything you tell me in the strictest confidence, should you so wish it.

– Bob

Pitching Agile – Some Lessons Learned

[From the Archive: Originally posted at Amplify.com Jul 16, 2009]

Background

One of the afternoon sessions at the recent BCS miniSPA event in London was entitled “Pitching Agile”. I went along hoping to learn a few tips on this topic, only to find a wicked role-playing session in prospect.

The Session

We were grouped into four teams, each with a balance of Agile experience, from self-appointed guru through to novice. Each team had some 4-5 people in total. The brief: to prepare a pitch to the four CXO’s of a 5000+ developer Global Financial organisation looking to “go Agile”. We would have 10 minutes to prepare a pitch to each CXO in turn, each such pitch taking no more that 2 minutes. In the end we had time for three pitches (rather than the proposed 4). The excruciatingly short time scales proved both a curse and a blessing.

The Confusion

Through inattention or omission our team fell to the assumption that we were pitching as a team of external consultants. We were summarily and cruelly disabused of this flawed assumption as early as the first pitch.

The Pitch

We quickly decided to pitch using the Three Box Monty (flipchart) format as described in Paul DiModica’s “Value Forward Selling” (top book BTW), and got down to constructing the pitch.

  1. Box 1 presents issues faced generally in the industry in question (Financial Organisations, in this case).
  2. Box 2 (ideally, to be completed during the pitch by the CXO being pitched-to) describes the special problems of the particular prospective purchaser.
  3. Box 3 describe how Agile (and our team) will fix the prospect’s business issues (i.e. as listed in box 2)

Lessons Learned

  • Box 2 of the Three Box Monty didn’t really work out in the first pitch, and so in preparing for the second pitch we decided to ditch it in favour of a “future state – the agile enterprise” box. This seemed to be much better received in subsequent pitches.
  • Hard numbers seemed to be received well (again, a lesson carried forward from the first pitch): Organisational budget for 5000 devs = circa £400M annually; assumed savings from Agile transformation of circa 50% (doubling of effectiveness) = £200M annually; 10% budget for transformation effort = investment of £20M.
  • We fell short (in every pitch) in describing the actions necessary to achieve the transformation (despite being explicitly pre-warned, and putting some effort into addressing this topic).
  • Anticipate as many objections as possible, and have rejoinders ready- we were prepared for these.
  • Only ever have one person (the Salesman) presenting the pitch. (When stuck, he can direct one of the other team members to answer the question).

Outcome

Despite feeling overwhelmed by the task and the lack of time both for preparation and presentation, we discovered to our delight that we had been adjudged “the best of a bad lot” and received a small but welcome prize recognising our achievement (a box of choccies).

Postscript

My thanks also to the hard-nosed bastards playing the roles of the CXOs, as well as to David Harvey for presenting the session.

– Bob