Just do it!

Just Do It by kjudy

I laughed out loud when I saw Ken Schwaber titled a passage of his book, The Enterprise and Scrum, “Just Do It”.

Ken describes how a customer can sacrifice quality and sustainable pace in the short term but pay it back at a premium, “$4 to remediate every $1 drop in quality.”

Clearly there are pressing bugs, misses and serendipitous opportunities. There are times to inject work into a sprint backlog. There are even times to “stop the line” and reset a sprint.

But when you manage a self-directed team, “just do it” — and I’ve heard that very phrase — is bullshit.

Just characterizes another person’s work as easy. It is the people performing work that need to estimate it. They are on the hook to execute and are incented to think critically in detail about what they are taking on. The worker grasps the actual effort better than the executive.

Do characterizes the work as physical action. Software development is problem solving and abstract modeling, i.e. knowledge work. “I’m typing as fast as I can?!” Even industrial lean practice relies on workers engaging beyond the boundaries of the immediate task to improve the product and the process of manufacture.

It characterizes the work as a single, clearly defined task. Again, the person doing the work determines whether they clearly understand assignment. Otherwise, you’re not admitting to any ambiguity of language, hidden complexity, or potential misunderstandings.

Just do it is a one way directive that splits responsibility from authority, i.e. YOU just do it. It signals a leader is not willing to do their part to remove obstacles for their team.

Just do it hides inefficiency under a veneer of necessity. Is it a surprise that “just do it” finds companionship with “just the way things are done” and “just the nature of the business”?

All this to say “just do it” in knowledge work is bullshit. The value lies not in the truth or falsity of the statement but the effect it has on the hearer. It dismisses workers’ concerns and excuses management from accountability.

Moving from bulls to birds, if self-directed teams are the goose that lays golden eggs, “just do it” is a pellet blast in the ole’ egg layer.

Women & Agile Development

Ken Schwaber made an audacious comment today. To paraphrase:

“One of my canaries in the coal mine is the number of women in the software industry. Women are smarter than men. They tend to gravitate to careers where they are compensated well and find the work rewarding. They are fleeing the our industry in droves.”

He was speaking at Agile 2007 on The Enterprise and Scrum.

The Stanford Daily reported that “13 percent of CS undergraduates are female this year, down from 24 percent in the 1999-2000 school year.” This despite National Science Foundation statistics that show more women are receiving bachelors degrees than men.

I agree with Mr. Schwaber, a software industry more inviting to women entering the workforce would provide a better, more humane environment for all employees.

Also, what potential innovation is being lost? History is rife with examples of gender inequality in service and outcomes across a wide variety of industries — most troubling being medicine. A male dominated field should not be confident it is best serving its women consumers.

My company’s own research indicates that women are men’s peers when it comes to the use, ownership and purchasing decisions around technology. So this is an opportunity as much as it is a concern.

A 2006 paper by McDowell, Werner, Bullock and Fernald found that pair programming practice “may help increase female representation in the field.”

Agile values and practices support a collaborative, empowering and sustainable work place. As practitioners, we should encourage research on whether this can contribute to a more diverse workforce.

Fundamentally, we have to make software development more conducive to the contributions of half our population.

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.

The buck stops… where?

A fundamental value of computer ethics, agile and Scrum is truth telling.

As developers we have an obligation to provide honest feedback around decisions that affect either the quality or value of software our employer asks us to create.

I am now the senior person dedicated to software in my company. If that means anything it is that my responsibility has expanded to protect the best interests of my employer on any project we undertake that has software development dependencies.

The profound challenge in this is that while the company has expanded my scope of Responsibility it has not necessarily expanded my scope of Authority. As a mid-size, growing company we give department heads great discretion. My company is also one of many with a structural distinction between online and IT related software development. Therefore my team has no direct role in some of the most visible outputs of our company.

As a result, I cannot have true accountability for some outcomes since I cannot change them. That does not absolve me of my ethical responsibility nor allow me to narrowly define success in my current role. That is why to take my job seriously is to take on a certain amount of anguish.

The obvious answer is that I never should have taken on the role unless I was given commensurate authority. Perhaps this is correct.

I accepted the promotion because I believe it raises the profile of my team and makes more visible the quality and value return they are producing. I also believe that while responsibility without authority is flawed, it is a common state of play for those of us who introduce agile practices into a company. Let’s be honest, introducing agile is an attempt to lead change. Since I am not an entrepreneur it is a given that I will have to earn trust at each step of the way in making that change.

So given these circumstances, what is my responsibility to my employer around truth telling? Who am I obligated to tell truth to? Let’s focus on questions of value and quality and leave aside safety or legal concerns because as dramatic as whistle blowing is, that is not my reality.

Basic risk management tells me that the person who’s interests are most damaged should a problem arise owns the risk. In a functioning Scrum organization this is the product owner — or as Yahoo calls them, the single wringable neck. This one person is held accountable to the performance of a product in the market place. It is to them that any concerns over the value or quality of a software product need to be raised.

As I’ve said, I have a Scrum team but I do not work in a Scrum organization. There are times when projects originating outside my team do not have a clear “single wringable neck”. This presents a huge challenge. Who will be most affected by a problem if no single person is assigned real accountability for the outcome of a software project?

I have decided after hard experience that in circumstances where there is no responsible and empowered product owner the person most affected by problems is the person most identified with our brand and our products, my CEO. Therefore my responsibility for truth telling is to her.

This is, to me, a freeing realization for in it lies great opportunity for my company. My CEO who has proven herself to be an exceptional product owner. If anyone on the business side understands agile principles and my ethical responsibility as a software developer it is her. If anyone is capable of creating positive change in my company it is her.

Therefore, in the spirit of my CEO’s own vision, I will expect the best of people while maintaining my integrity and independent judgment to serve the best interests of my company, our customers, my peers, and our society.

Learned Helplessness

Dave Pollard has an interesting post, From Simplistic Thinking to Embracing Complexity.

On attempts at knowledge creation that don’t engage employees and customers…

such systems presume ‘learned helplessness’ of customers and employees: The customer, the citizen, is often viewed as a mere, passive consumer of your organization’s products and so-called wisdom. The employee, likewise, is assumed to be ignorant, stupid and disinterested in the success of the organization beyond his/her own job. Most people don’t take kindly to having their intelligence insulted. And failure to engage customers and employees in co-producing the product is a tragic waste of great opportunity.

Learned helplessness. Yup, that about sums up what it’s like to work for a product owner who refuses to let the team invest in the vision of a product. Complexity and invention don’t lend themselves to command and control.

There are individuals like Dean Kamen with a singular genius for invention. Still he emphasizes the value of collaboration – of sensitivity to others and society. His F.I.R.S.T. foundation celebrates the whole individual engaged with others in a technical challenge and the ethic of Gracious Professionalism.

It’s a way of doing things that encourages high-quality work, emphasizes the value of others, and respects individuals and the community.

Agile software development values collective ownership. However, there is shared code and there is shared risk and shared reward. When a FIRST LEGO League Team wins, I’m sure it’s not a single 14 year old product owner who accepts the prize.

For a development team to contribute beyond the bounds of technical execution, i.e. “his/her own job”, product owners need to approach them

…through conversations, stories, and presenting the ‘problem’ to them so they can help you appreciate it better and then address it. – Dave Pollard

Embracing complexity is about engaging the whole person not just the coder. With the person comes life experience, passion, and imagination. As product owner, use your authority to break through indecision but avoid the desire to tell the team how to solve your problems. Describe what you are trying to accomplish and why it is important. Get the team in touch with the customer and let them help you.

The result will be more than the formulation of a single mind. It will be more what the customer needs and, perhaps, it will be unlike anything else out there.