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

June 2008 - Posts

  • Software Executive Summit Details Announced; Early Registration Incentive

    I am pleased to officially announce the details of the 2008 Software Executive Summit, to be held October 27-29, 2008 in Seattle, Washington.

    The Summit provides a rare opportunity for top software executives to compare software development challenges and solutions in a small-group-discussion format. Their discussions are punctuated by thought-provoking keynote addresses by Martin Fowler, Ken Schwaber, Steve McConnell, and others.

    For the past three years, 99.5% of Summit attendees said they would attend again within two years, and 100% said they would recommend the event to others.  See more comments... 

    "Speakers were world class. I kept saying to myself, 'Wow ... this is something I need to bring back and teach my team.'"
    --Bob Cymbalski, Director, Engineering, Motricity    See more comments

    Early Registration Incentive

    Attendees who register by June 15 will receive 2007 Summit pricing of $3000 (goes up to $3495 after June 15) plus a credit of $2000 toward Construx's public seminars. Space is limited, so Register Now!

    "Terrific conference. Great networking event. Being able to meet and learn from all the other software execs is a great opportunity. I've really enjoyed the conference. It's one of the few that I reserve a year in advance." -- Peter Scott, VP of Engineering, GeoMagic    See more comments

    Who Should Attend

    At past Summits, 95% of participants have held titles of VP, CTO, Director, or higher. All participants have multi-project responsibility for software development at the organization or enterprise level.

    Keynotes

    Here are more details on the keynote talks this year:

    • Steve McConnell, author of Software Estimation and Code Complete, “Secrets of World Class Software Organizations”
    • Martin Fowler, author of Refactoring and Patterns of Enterprise Application Architecture, “Cultivating Great Architects and Designers”
    • Ken Schwaber, co-creator of Scrum, “Scaling Scrum”
    • Travis McElfresh, VP Technology, “Driving Employee Satisfaction, Morale, and Productivity at MSNBC.com”
    • Matt Peloquin, CTO, Construx Software, “Technical Lessons from the Software Wild”
    • See more details

    "Construx continues to provide a unique, relevant opportunity to interact as a peer group. Absolutely best conference, hands down." -- David Spokane, Director, Software Engineering Office, EMC    See more comments

    Discussion Topics

    Here is a preliminary list of topics for the Summit's small group discussions.

    • Upgrading Your SDLC
    • Successful Leadership in Software Development
    • Managing Global Development
    • Guru Management: Special Issues in Managing Technical Personnel
    • Lessons Learned in Agile Development
    • Navigating the Planning Cycle
    • Driving Improved Technical Practices
    • Improving Productivity
    • See more details

    "The Summit is the only conference of its kind. It is a unique blend of presentations and small group discussions with high caliber attendees. Many tools, ideas, and useful practices were discussed at a rapid pace. Every software exec should attend every year."  --John Colton, VP Engineering, Application Security, Inc.    See more comments

    For more details on the Summit, see the Summit home page or register now!

  • New Software Executive Report Available: Managing Core Development

    One of my activities is moderating monthly discussion groups on software executive topics. The output of those meetings are captured in the Construx Software Executive Reports. Our newest report, "Managing Core Development," is now available. Here's an excerpt:

    “Core” code always refers to code that is in some way more central than other product code. There are several variations on this theme:
    • Most companies use “Core” to refer to architecture and functionality that multiple groups depend on. Reusable architectures, engines, toolsets, platforms, and frameworks are all examples of software that companies think of as core.
    • “Core” can refer to code that has exceptionally high quality requirements.
    • “Core” can refer to software components that provide competitive advantage.
    • One company defines Core as anything that affects the user experience. In this company’s business, this seems to be a variation on the theme of “Core” referring to code that has exceptionally high quality requirements and that provides competitive advantage.
    • In some cases, when data is of central importance to a company (e.g., product info for a web company), “Core” can also include data and data access.
    • Parts of the software that require governance are also sometimes considered to be core.
    Core is also known variously as "Platform," "Application Architecture," "Infrastructure", and other terms.

    Why Set up a Core Group?

    The core team’s responsibility is to provide an easy path for other groups to use leading technology, i.e., make it easier for non-core developers to do a good job. Core groups are sometimes set up to tap into specialized skills of a group that are needed commonly across products. For example, a company that produces scientific software might have a core group that consists of science Ph.D.s who write core code to implement key company algorithms.When the core is managed well, it can accelerate development by providing tools that make other groups more efficient and effective in the short term, reduce the support burden in the long term, or both.

    Differences between Core Development and Product Development

    Companies report several common differences between product development and core development:
    • Quality assurance tends to be more rigorous, because problems in the core can adversely affect multiple products.
    • Management of the core tends to be more rigorous for the same reason—schedule problems in the core can adverse affect schedules for multiple projects.
    • When the core changes, change impacts on all teams need to be considered.
    • Support obligations for the core are nettlesome. How long will the core group support each version of the code that it produces? Supporting several versions across each of several products can quickly become an unmanageable support obligation.
      ...

    For the rest of the report, see the listing of Construx Software Executive Reports or link to the specific report below. A free membership is required to view these reports. Here are some recent topics and links to their reports:

     

Seminars           www.Construx.com           Consulting