How values create change from small networks to large

These are notes from my presentation at the Hawaii International Conference on System Sciences (HICSS) #45.

I’ll link to my full paper when it is available and to subsequent posts as I publish them.

Agile values, product innovation and the shortage of women software developers Part 7 of 7


(44) Agile values in an enterprise context

I’ve described two examples of how Agile principles call upon practitioners to battle hostile workplaces. My paper has several more. But let’s talk about how Agile teams instill Agile values into the enterprise. As a development team matures impediments become consistently rooted in the surrounding organization. Continuous improvement becomes an effort directed out into the larger company. Where an organization fails to support a team adopting an agile practice, the teams needs to drive for these changes in the organization by first building trust and influence by producing results in spite of their impediments and then using that success to win support for removing the obstacles that lay in their path.

(45) A principled Agile enterprise

In response the larger organization will begin removing impediments to team performance by, for example, adopting a retrospective type review process, rewarding collective over individual performance, compensating for span of influence over span of control.

(46) How values create change from small networks to large

But how can small change within companies produce large order changes across an industry or society?

(46) Ba

To model this, I’ll use Nonaka’s concept of Ba, or “a shared context in motion, in which knowledge is shared, created and utilized[65].” Sectors that thrive off innovation do so by sharing knowledge across direct and extended-relationships among people. Each set of relationships exists within a physical or virtual space. Each of these spaces at any given moment in time is Ba.

(47) Ba in knowledge work

Knowledge workers interact within their local communities, interest groups. They graduate from school and change jobs. Companies are distributed across locales. Consultants travel among companies and conferences bring individuals together from across the industry. In sharing, creating and synthesizing knowledge one Ba influences the other, fostering change on the small scale to the large and back. The broad adoption of Agile practices is itself an example of knowledge occurring first within individuals and teams and then spreading across an industry.

(48) The challenge

But widespread Agile adoption has been a mixed blessing for principled agilists. Agile values are not permeating as well as the practices themselves. To invert Alistair Cockburn’s dictum, the industry is valuing agile practices over agile principles.

(49) Snowbird

This threat is on the minds of prominent Agile thought leaders. Enough so that the notes from the 10 year reunion of the initials signers of the Agile Manifesto contains “four things the community needs to do in the next 10 years”: demand technical excellence, promote individual change and lead organizational change, organize knowledge and improve education, and maximize value across the entire process[66].

(50) Conclusion

Agile is not about doing “Agile” things. It is about continually improving ourselves, our teams and our organizations to create better software for our customers and our end users. If we embrace that on a wide scale, we will recognize we are driving away an incredibly valuable source of talent and an incredibly valuable contribution in our effort to create products relevant to over half of our end users. We can use the principles underlying Agile practice to guide our efforts to remove this impediment.. Successful embrace of agile principles within teams will instill a more social and engaged view of the software developer role that can shift companies and the larger industry, driving beneficial change into academic institutions and the perceptions of the greater public. This change in our workplaces, in the common perception of our work, and in the institutions that educate software developers would encourage more girls to pursue computer science and help the industry recruit and retain larger numbers of talented women.

Thank you.


All slides.

Previous: Antidote the diving catch culture of heroics and privileged roles

There is abundant research on the problems women face in our field. I would love researchers to jump in on whether Agile principles and Agile practioners can really make a difference.

I’d also love any suggestions of organizations, institutions and individuals I might reach out to for more information, collaboration, or to take up the cause.

Please comment on my proposal to Agile 2012.

The full citation list for my paper.

Do Agile principles demand we confront the shortage of women developers?

These are notes from my presentation at the Hawaii International Conference on System Sciences (HICSS) #45.

I’ll link to my full paper when it is available and to subsequent posts as I publish them.

Agile values, product innovation and the shortage of women software developers Part 4 of 7


(23) Agile Software Development

Now let’s incorporate Agile Software Development into this. What unites the different agile methodologies is a shared set of values and a shared cause to change the way software is made and delivered to customers. These values are declared in twelve principles and summarized in a four line manifesto…

(24) High level principles

We value: Individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan.

(25) Agile values are the foundation of agile practice

“These values are not just something the creators of the Agile Manifesto intended to give lip service to and then forget. They are working values. Each individual agile methodology approaches these values in a slightly different way, but all of these methodologies have specific processes and practices that foster one or more of these values.” – Jeff Sutherland

(26) Agile values as a standard of conduct

Agile principles and the ongoing discussion of them form the basis for a normative standard of conduct informing how practitioners should behave towards our work, our peers, our employers, our customers and our end users. They challenge practitioners not to a narrow definition of success on a task but to craft with quality, to collaborate in high trust, to cede authority to individual contributors, and to work with the customer’s interests in mind, to make predictable progress at a sustainable pace, and to make problems and opportunities visible.

(27) Agile values as a call for beneficial change

Agile principles urge us to inspect our actions, confront impediments, and drive towards beneficial change. And the means to this is, as Alistair Cockburn suggests, we “…value agile principles over the agile practices[38] Or as Bob Martin says, Not simply to execute but to take care.”

(28) What Agile principles demand we confront this problem?

So if Agile practitioners recognize the shortage of women in our shops is an impediment to value delivery – that it is an obstacle to our mission as agilists – then we will work to remove this impediment. The question becomes “What Agile principles demand we confront this problem?” In the interests of time I’ll highlight two hostile cultures described in the literature and the agile values that challenge them.


Next: Antidote to hostile workplaces and the alpha geek…

Previous: Can women devs help software better address the needs of women end users?

All slides published to date.

There is abundant research on the problems women face in our field. I would love researchers to jump in on whether Agile principles and Agile practioners can really make a difference.

I’d also love any suggestions of organizations, institutions and individuals I might reach out to for more information, collaboration, or to take up the cause.

Please comment on my proposal to Agile 2012.

The full citation list for my paper.

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.