Scrum, XP, Management and the Ethics of Agile Software Development

Time to shift focus: from Scrum tools and process to practice

I am ambivalent about the Scrum community’s focus on process and tools.

Yes, it is this effort that has driven adoption and created an economy for us practitioners. But adoption is yesterday’s challenge. We’re kind of winning that one.

We need to place less emphasis on getting new organizations to try Scrum to more on getting existing teams practice Scrum better.

DSCN1768.jpgHow many of us many, many Scrum adopters strive towards the potential of the practice?

  • Where reliable software delivers monetary return to sponsors because it is truly valuable to end users.
  • Where individual contributors are allowed to bring their most creative effort to the workplace to the benefit of both employers and end users.
  • Where workers are allowed to live rewarding lives outside the workplace to the betterment of their families and communities.

Not just exceptional productivity – ambitious enough as that is — but exceptional productivity to a genuinely productive end.

Life is full of compromise but if that is not the aspiration — to fill our careers with as much of these achievements as possible — then why bother?

Why spend money on training and tools to deliver more waste on short, iterative cycles?

Why extract more lines of code that no one will test or use but only spend money to maintain?

Why use the Scrum process to perpetuate the alienation of the knowledge worker from their work?

Mastery means taking responsibility for ourselves and our peers. Grasping our practice is the sum of our intentions and actions in the service of something.

So here’s my plea to shift the conversation back to it’s roots.

“Agile” is about the material and human good we create when we respect our co-workers tell truth to our employers, strive to improve, and care for the people affected by the software we help build.

We use a tool or process to the degree it furthers that end and no farther.

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

Oops… learning lessons over and over

Here are agile software development mistakes that kick my ass whenever I let them:

  • Know the assumptions in plans. Recognize when they change.
  • Don’t abuse time boxing. It is a toe hold for over-committing. When the time box ends, the work ends.
  • Doing Scrum means DOING SCRUM. Sloppy backlog. No Scrum. No Product Owner. No Scrum.
  • No iteration boundaries and no commitment doesn’t make me “lean”.
  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

More playing on – Learning Outcomes

Supplement to a doomed Agile 2009 proposal.

Learning Outcomes

  • To share with participants concepts in professional ethics
  • To tie the nature of ethical dilemmas to essential complexity and the means for tackling dilemmas to the practices of agile development
  • To emphasize the origins of agile practice in values and culture and to tie that to ethical imperatives
  • To identify gaps in agile values that prevent it from being a complete ethical framework – to broaden the definition of stakeholders
  • To challenge the common assertion that doing your job constitutes being ethical
  • To walk through real-world ethical dilemmas, and discuss possible actions and outcomes
  • To build the community of practitioners engaged in the topic and interested in supporting their peers through crises of conscience
  • To brainstorm tools and techniques for expanding the conversation to a broader community in a way that is safe, inviting, and does not violate our obligations
  • To engage the agile community in the larger development and academic community’s efforts to define ethical guidelines for us and potentially inflict them upon us
  • To discuss the growing potential for unintentional benefit and harm from non-safety critical systems
  • To discuss the potential for governmental intervention in response to some highly visible or damaging failure by software systems or software practitioners
  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

And the band played on…

So the proposal for Agile 2009 is not looking good. The open space format is being panned for being too loosely structured and open ended to compete for a 90 minute slot. I gather from the comments that the topic itself is also striking people as less than gripping.

Well, as my ship sinks I send of this waterlogged response:

The session proposed isn’t about open space it is for conversation on professional ethics in an agile context.

As described in the proposal, we would dedicate time at the outset to bring the participants into context on issues and concerns in the industry, the ethical premises of agile development, and to create a safe space in which to have this conversation.

Facilitated open space itself is a highly disciplined framework that differs from the open-ish as much as Scrum differs from Scrum butt. With all due respect, a discussion of real ethical dilemmas no longer belongs in Open Jam then a private and personal conversation belongs in a hallway.

I’ve presented on this topic at Agile and the Scrum Gathering and found the conversation surrounding the presentation more valuable to everyone involved because while the topic is esoteric, the lived reality of our personal values and crises of conscience is visceral. Something practitioners do not often have a chance to discuss with peers who share their point of view but not their co-workers and employer.

I am certainly willing to debate whether there are conflicts over values in an agile workplace, whether we do or should give a damn about the benefit and harm we indirectly propagate but do we have to engage on the premise that a lecture on ethics or role playing games about workplace dilemmas is a better fit for the topic, the Agile conference or the participants?

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

Agile Principles and Ethical Conduct

My presentation from HICSS 42 – Agile Principles and Ethical Conduct.

The paper is here.

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

Demanding more of each other – Agile, Ethics, and Harm

In response to “Doc” and my proposal for an open space on dilemmas agilists face in the workplace, we’ve been asked what the ethical issues are around Agile and whether the topic is worth the three hours we’ve requested.

Agile is built upon a set of values. They are normative in that they declare certain behaviors and outcomes as better than others. They hint at a vision of who we ought to be and what we ought to be concerned about.

As we quoted before, Jim Highsmith believes agile is engaged with the “mushy stuff of values and culture”. At Agile 2008, Bob Martin declared agile to be no less than a rallying cry to free developers.

Ants by Pensiero on FlickrAs we strive to embody agile values in the world we will encounter dilemmas — tough, ambiguous decisions fraught with fears, limitations, risk, possible sacrifice and consequence to others.

As illustrated by the Scrum MLB simulation many of us have participated in, an intellectual understanding of agile practices doesn’t protect us from saying what people want to hear in order to get work, avoid conflict, or out of an earnest if self-defeating desire to please. Even in circumstances which offer no material stakes.

It’s more than falling short of ideals though, it is about how we fail to seriously consider these values in the first place — the hard shell of justifications for doing what we are told. I’m personally alarmed by the lack of reflection I see practitioners who take holding a job to mean we can proceed without consideration for co-workers , end users, and society — stakeholders who don’t pay our salaries.

Agilists are uniquely suited to contribute to emerging software ethical norms now largely defined by academics and waterfall practitioners (I say this non-pejoratively). We aren’t trying to refine human frailty out of the equation. We embrace essential complexity. We have techniques for reflection and continuous improvement. We turn community into our greatest strength.

But there is a conversation to be had about whether the stated agile values are enough. They don’t really speak to our obligations to our peers and our society.

Should we hold each other to higher standards? Can we challenge experienced practitioners to contribute to the field, create good will, mentor, and do good works? Should we abide self-proclaimed agilists who show no talent for initiative, courage, honesty, collaboration and love of team? Doesn’t their work reflect on us? Particularly since the growing demand for agile which they exploit is built upon the hard work of our peers and mentors?

Don’t we owe some responsibility to the reputation of our practice, the long term viability of our careers and our industry — in the interests of making software which benefits people more and harms people less — to demand more of each other?

This isn’t idealism, this is the demand society will make of us as our numbers grow and our works affect people’s daily quality of life. The pervasiveness and interconnectivity of technology and the growing dependency of ordinary people on software services is creating much greater potential for the average coder to create benefit and to unintentionally harm. There are historical precedents in fields of engineering, science, letters, and the arts where codes of conduct become hardened into enforced standards and even governmental regulation in reaction to some controversy or catastrophic failure.

Finally, we need a way to confide in each other about the actual dilemmas we face in the workplace. There are few safe spaces for community and peer coaching through the intolerable conditions some of us face. Whether it’s abuse, dishonesty, or some other harmful behavior by peers or the people who have power over us. I worked in a place (briefly and I do not list this place in my resume) where a pregnant developer quite two weeks into the job for fear of the health of her unborn child. Isolated and afraid for our livelihoods, this is a terrible time to be compelled by circumstances to do things that compromise our integrity or to sit silently while others face harm.

These are not conversations that should “presented”. This would be sanctimonious and unhelpful. Rather we need to consider these topics with humility as peers.

An open space lends itself to this. I’ll let Doc describe open space technology in more detail but it is a self-organizing process. You gather, give yourself the luxury of time and space to think and to discuss a pressing concern on your own terms with the people who choose to join you. The sessions flow and change as new topics arise and old ones wind down. Then the whole comes together to pull the experience into a coherent conclusion. The process is self-documenting with proceedings of the event created as you go, then collated and provided back to the attendees. All of this takes time. Whether the time is worth it is a matter for the participants themselves to decide.

I hope this helps explain my motivations for co-proposing this session. More feedback is greatly appreciated.

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

Why solving ethical dilemmas is like building software

Here’s some grist for why we agilists can contribute to the conversation on software ethics and why it’s a fit topic for Agile 2009:

Handout notes I prepared for Agile 2008 drawing on the work of Jonathan Haidt and describing why ethical dilemmas have essential complexity per “No Silver Bullet.”

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

The mushy stuff of values & culture

Doc” and I submitted our proposal for an open space for Agile 2009, The mushy stuff of values & culture – an open space for workplace dilemmas.

Please check it out and respond with words of support.

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

Coffee and Ethics in Paradise

DSCN0680.JPG sunset at buddha point
It’s my final day on the Big Island after HICCS-42.

Unfortunately, I was a ghost at the conference. I spent most of the week tightly tethered to my East Coast work day. Much sleep deprivation, anxiety and coffee consumption.

I did see the Agile/Lean presentations chaired by Jeff Sutherland and Gabrielle Benefield and participated in the Ethics sessions in which I presented my paper. These were the main reasons I took this very expensive non-vacation and so I’m grateful for how things worked out.

Sounds like there may be an Ethics minitrack again next year. Apparently, this is a relatively unique thing in IT conferences academic or professional and an indication of why HICSS is such an unusual event.

The conversation around my paper may have sparked research interest. My “ask” of the largely academic audience was:

  • Learn more about agile
  • Research dilemmas in an agile context
  • Educate us about the larger concerns
  • Create safe venues for discussing our dilemmas
  • Write about things beyond business value and efficacy

We need all hands on deck. We need to learn from other, more established disciplines. We need better data gathered with greater rigor and without the coda of a sales pitch.

How can we build software with consideration for benefit and harm as well as business value in the interests of society and our users as well as our employers and stakeholders?

How do we evolve from head count to the engineers/craftspeople we need to become?

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter

HICSS-42

DSCN0234.JPG

This week, I’m presenting a paper at the Hawaii International Conference on System Sciences. My goal is to engage academic ethicists in a conversation about agile software development.

Given the year in employment I’ve had in the last year and what’s going on at my current employer this week, it is a gift that I was able to attend and I’m grateful for it.

  • email
  • Print
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • LinkedIn
  • Facebook
  • Twitter