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

uncategorized

Why I Blog

It’s been about a month since I last posted.

The hardest thing for me about blogging is not the writing, it’s maintaining the belief that I have something relevant to say. Despite that, I have to say writing on a regular basis helps me in my job and here’s why…

I read about a theater director who had trouble with confrontation. He imagined the muse of drama floating above him; a silent witness to his conversations. This helped him focus on those specific values he needed to champion in the best interests of his project. It’s easy to give ground but to diminish your work as an artist - humiliating.

I have no short cut for doing my job well. The best way for me to contribute to my employer is to build the most value for our end users given the resources at my disposal. End user value drives consumer demand. My reading tells me that the most productive teams are up to ten times better than the least productive and that repeatable innovation requires creative investment from line level staff.

All this implies to me that as a technical manager I need to work with talented people and foster their intrinsic motivation. In my fifteen years in software, I believe a cohesive, senior level, agile team is the best multiplier of individual talent and attracts and retains the most motivated, value-focused developers.

All that said, management is fraught with compromise and difficult conversations. Advocating agile within a company is definitely a case where the pain of staying the same needs to be worse than the pain of changing. Pain being a frustratingly subjective thing.

Reading, thinking and writing about what we owe to our peers, ourselves, our employer, those over whom we have authority, and those who use the software we make helps me visualize a muse of software development.

This muse sits over my shoulder; a silent witness to my actions. She boosts my courage. She challenges me to be humble. She draws brighter lines for me between ground I should give in the interests of peace and the ground that supports my core values and my ethical responsibilities.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Wordpress 2.1.1 Dangerous, Upgrade

I just upgraded my blog software reading this post on the WordPress development blog from March 2, 2007

If you downloaded WordPress 2.1.1 within the past 3-4 days, your files may include a security exploit that was added by a cracker, and you should upgrade all of your files to 2.1.2 immediately.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

About

I’ve been working in IT for fourteen years and developing software for eleven.

My first development job was in a startup working alone and crashing for a deadline. Classic code and fix. I was pretty successful at it. I generally delivered on time. Often through sheer force of will. My big weakness was not reaching out to learn from other developers. A sure sign of a new or just bad self-taught coder is that they bang away at a problem like no one has ever solved it before. I’m embarrassed by some of the old code that has my name on it. Luckily, I wasn’t a cobol developer so all that work is long since trashed.

As I moved on to larger companies, I suffered under well-intentioned but corrosive attempts at waterfall. Craig Larman’s Agile & Iterative Development has a great description of how these attempts at perfectable planning and design are based on a misinterpretation of W.W. Royce’s writings.

Some of these projects were successful but the process prized simple agreement over trust. At it’s worst it created false hierarchies which hid incompetence and fetishized heroics. I was burning out. My friends were quitting. As if that wasn’t bad enough, even our success often fit Mike Cohn’s description of delivering the wrong software on time and on budget.

Meaningful products can emerge from horrible process. But a way of working that tears down talented people’s desire to work is tragic. To repeatedly participate in this is to sap the world of it’s limited supply inspiration, creativity and joy. This is evil. Now that I have authority, my main goal is to avoid this evil.

About seven years ago, I took my first training from Stephen McConnell’s Construx. Stephen McConnell inspires me. He is open to different practices, sets high standards for performance, and champions a code of ethics for our profession.

Over time I learned some techniques for effective iterative planning, risk management, and estimation. I learned how to work with others to deliver quality software. Through Earned Value Planning, regular inspection points and risk lists we built transparency into our practices. With realistic schedules we were able to maintain a reasonable work-life balance.

Still, the weakness I saw in my team and in my leadership style was relying way to heavily on the abilities and day to day motivation of individuals. I had to manage the project. My best developer had to work on it. If one of us had a bad day the project might grind to a halt. Our whole wasn’t adding up to the talents of the individuals.

It took me a while to really grok that excellence isn’t about adopting a shared set of practices. It’s about rallying around a shared set of values. I shifted from mentoring my team on how I did things to a conversation about why we do what we do.

We all want to make a contribution, we want to deliver business value for our employer, we want to be proud of our work, we want to learn, we want to be honest, we want time for our family’s, friends and outside interests.

Over the last four years, we have adopted coding practices and a management style that supported our values. Specifically, Extreme Programming (XP) and Scrum. My recent focus has been on the management side. My short list of thought leaders is Alistair Cockburn, Mike Cohn, Ken Schwaber, and Jeff Sutherland.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Papers

Presentations

 

 

Site menu:


Blogroll

Colleague

Family

Me

Meta

tallman by miya judy

What I'm Doing...

  • Dinner of grilled hand made, fresh tofu and vegetables with a few glaasses of kurosawa sake. 2 days ago
  • Somehow spaced Jeff Sutherland's talk at Google. I choose to blame jet lag. 2 days ago
  • Airtrain exits won't open if you're too close to the gate. Standing by the reader to swipe your card sets off the sensor. Joke or test? 3 days ago
  • At Jfk breathing the dull brown haze I saw out my plane window about twenty minutes ago. Not so bad, really. 3 days ago
  • Pilot woke me up to announce we're sitting on the taxiway at seatac delayed one hour (+) because of air traffic into jfk. 3 days ago
  • More updates...

Posting tweet...

Powered by Twitter Tools.

Creative Commons License
This work is licensed under a Creative Commons Attribution - Noncommercial - Share Alike 3.0 United States License.
Copyright © 2006-2008
Ken H. Judy.
This is a personal weblog. Views expressed are my own and not my employer.