Software Best Practices

Voices on Software Development Best Practices
Welcome to Software Best Practices Sign in | Join | Help
in Search

10x Software Development

Numerous studies have found 10:1 differences in productivity and quality among individuals and even among teams. This blog contains Steve McConnell's thoughts about how to move toward the "10" side of that 10:1 ratio. Add to Technorati Favorites

March 2007 - Posts

  • Thinking About Software Executives

    It's hard to believe it's time to begin thinking about Construx's Executive Summit already. The Summit isn't until October (October 15-17), but there are a few long-lead-time activities. Right now I'm inviting speakers and rounding up discussion moderators. We're also finalizing hotel arrangements. Next I'll define discussion topics, and then comes the event agenda. Once that's done, we'll update the event website with 2007 information so that by May we can begin officially inviting people.

    This event has become one of the real high points of my year, because it gives me a chance to spend 3 intensive days with software development executives. Historically, I've spent much of my time with programmers and managers, but as the years have gone by I've spent an increasing amount of time with directors,VPs, and C-level execs. It's an interesting group, and interacting with them represents a chance to make a real difference in software development practices. The people who attend the Summit are typically the most senior technical executives in their organizations. If they can get some good insights into better software development practices, their whole staff will benefit. But if these people don't "get it," there isn't much hope for their organizations--no one above them is going to get it if they don't.

    I've learned that as you move higher in a software organization you find some subtle shifts in viewpoint that go along with the more obvious shifts in responsibility. Lower level managers tend to spend most of their time looking downward, looking after the staff underneath them. By the time you get to the VP level and above, the orientation tends to shift a little upward and a lot outward. Exec certainly can and should care about the staff underneath them, but their day-to-day issues revolve more around peer-level executives (in large organizations), boards of directors, C-level execs, and customers. Top technical executives aren't thinking so much about the health of individual programmers, managers, or even projects. Their focus is on the health of the entire organization. Some of the irrationality that developers perceive at their level can actually look pretty rational when you see it from the executive level (although sometimes, of course, it doesn't!).

    There are some subtle shifts in communication style that go along with the shift in viewpoint. In lower level technical ranks, it's common to find skepticism or even cynicism as the day-to-day stock in trade, and I think that goes with the territory. Good programmers have to be paranoid about all the influences that can undermine their work. This can lead to a certain negativity in their communications. It doesn't mean they're negative people; it just means that many programmers have found that the best way to ensure something works is to be hyper-conscious of all the ways it might break. For people who aren't used to that orientation, it can seem pretty negative.

    As you move up in an organization, top executives tend to be much more focused on possibilities than on problems, as well as being more concerned with the big picture than with pesky details. Summit attendees nearly all come from software development backgrounds so you might think they would be prone to negative-sounding communications, but as a group they sound much more positive than a group of developers would. I don't know if these software executives learned to change their communication styles somewhere along their paths to executive positions, or if perhaps people with a more positive communication style tend to get selected for executive positions more often. Whatever the reason, the difference in communication style becomes very noticeable once you become sensitized to it. 

    The event also attracts fascinating people from really interesting companies that collectively are trying just about every different kind of software development practice. I find it really stimulating to be in this environment discussing software issues with people from very different companies who all share the goal of improving their software practices.

    This year our speakers at the event are
    • Alistair Cockburn, "The Role of Manager in Modern Agile Projects"
    • Watts Humphrey, "Process Scaling: From Small to Huge"
    • Tom DeMarco, "Quick or Dead: Organizational Velocity for an Impatient Age"
    • Howard Look, "From Screenplay to 1.0: Applying Movie-making Process to Software at Pixar"
    • Steve McConnell, "The Legacy of Agile Development"

    The speakers are really the icing on the cake. The main focus of the event is small group discussions (fewer than 10 people per discussion) in which we talk about enterprise-level software development issues. I learn a lot just by sitting and listening in these discussions.

    If you'd like to read more about the event, please visit www.construx.com/summit/. Full details will be posted on that site shortly. [Update 5/18/07 -- full details are now posted at www.construx.com/summit/.]

  • The Existential Pleasures of Blogging

    I've been reluctant to start a blog because the things I would blog about are just not the things that I would normally write about. Sometimes I joke that I have a long attention span. Most people's issue is that they can't focus for a long time; they're easily distracted and can't complete large tasks. That isn't my issue. My issue is not being able to focus for a short time. Sometimes I really need to dive deep and simply can't bring myself to work on the non-deep tasks. If the task is three months long and really meaty, I can do it. If it's 15 minutes long and superficial, I can't even start it. Thus the joke about the a long attention span.

    Blogging seems to me to be quintessentially a short attention span task. That's not the greatest match for my interest in software development topics. But it isn't a bad match for my interest in recreational topics. And I think I can bring myself to focus on software development in bite-size chunks, at least from time to time. Consequently I've set up two blogs, one for software development and one for everything else. This blog, 10x Software Development, will focus on leading software development practices. My other blog, Waxing Philosophical, will focus on more personal topics.

    Cheers,
    Steve McConnell

Seminars           www.Construx.com           Consulting