Thursday

Rags to Riches: Product Success @ Net Speed

Click here to view the full version of this document

Moderator
Steven Fraser, Nortel Networks, sdfraser@nortelnetworks.com

Panelists
Kent Beck - First Class Software, kentbeck@csi.com
Martin Fowler - Consultant, fowler@acm.org
Norm Kerth - Elite Systems, nkerth@teleport.com
Priya Marsonia - Nortel Networks, pmarsoni@nortelnetworks.com
Dusty Roads, Orient-Overseas Container Line, roadsdu@oocl.com

There are numerous approaches to software product development management. Some work, some don't. Our panelists will share their experience and perspectives with the audience in a dialogue initiated by the following questions: What are the most challenging cultural barriers to successful products? How do we shorten time-to-profit and time-to-market? How are best-practices best matched to project context?

We have used the term "net speed" - coined in the popular literature - as an exemplar of the increasing speed of interaction on the world wide web (as contrasted to the possibly disappointing "world-wide-wait" experienced by some). We suggest that product success is achieved by systematic application of project management principles, methods, and tools by empowered product teams. Product team stakeholders include cus-tomers, executive sponsors, marketing, development staff, release staff, and customer care staff. This is a broader set of stakeholders than would be normally considered in a project (contrasted to a product) context.

What has changed with respect to software product management in the past 35 years? Have best-practices been effectively absorbed into organizations now that the development community has been exposed to an increasingly broader experience base?

Fred Brooks' [1975] The Mythical Man-Month was a landmark collection of essays on the subject of software engineering management. Brooks observed that schedule over-runs were the most serious cause of project failure. Schedule overruns resulted from poor project estimation techniques; confusion of progress with effort (staff and time are not necessarily interchangeable commodities); inadequate project monitoring and corrective action; project delays are not adequately communicated to customers; and adding more staff to a late project.

More recently, Grady Booch [1996] wrote that software project failure is largely due to: improper risk management; not meeting customer expectations; and/or being blindsided by technology. More precisely - projects fail because of lack of adult supervision … it is not that such projects fail because of poor management; rather they fail because of no management. Steve McConnell [1996] in his book Rapid Development summarizes Classic Mistakes that have contributed to ineffective development practices. Ed Yourdon [1997] has characterized death-march projects by: schedule, staff, and budgetary compressions of at least 50%, combined with a doubling of feature requirements.

This panel will provide insight for both project managers and software developers.

Steven Fraser (moderator) is an advisor on Technology Transfer and the Chair of the Nortel Networks Design Forum at the Nortel Networks facility in Santa Clara, California. In 1994, he was a Visiting Scientist at the Software Engineering Institute (SEI). Fraser completed his doctoral studies at McGill University in Electrical Engineering. He is an avid operatunist and photographer.

Kent Beck
How do we shorten time-to-market/profit?

  • Small teams
  • Intense interaction with customers
  • A clear split between business and technology decision making
  • Going into production as early as possible with the smallest set of requirements that make business sense
  • Fanatical unit and functional testing
  • Constant refactoring across the entire system.

Best practices must be adapted by the team as a whole, since the team as a whole will be responsible for applying them. This adaptation must be considered an ordinary part of daily development, so the adaptation process continues as long as the project. And the set of practices chosen by the team must be carefully mapped to their collective (and corporate) personality.

Kent Beck helped pioneer CRC cards and patterns for software development. He rediscovered test-first programming, and popularized it with his xUnit testing framework, now translated into Java, C++, Visual Basic, and Smalltalk. He is the author of "The Smalltalk Best Practice Patterns", "Kent Beck’s Guide to Better Smalltalk", and a contributing author on Martin Fowler’s book "Refactoring". He is also the author of the forthcoming Addison-Wesley books "Extreme Pro-gramming: Embrace Change", and "Extreme Programming: Playing to Win", and with Erich Gamma of the forthcoming video "Test Infected". He recommends that you take any faux-third-person biography with a large grain of salt.

Martin Fowler
As I sit here and write this, I wonder why I'm here. This may be partly because it's a sunny morning that makes me want to go out for a walk, but it may be because I feel bemused by project management discussions. So many people with one true way of doing things. Somebody must be wrong!

I'm suspicious of methodologies, primarily any software process that is supposed to apply to all kinds of projects. There are marked differences between projects due to size, technology, and culture. One process cannot fit all.

I've come to believe that an iterative approach is key to reducing risk. However, people are finding it difficult to learn the basics of iterative development.

I'm very frustrated by organizations consistently failing to learn from their own experience. Making mistakes is human, but you should at least try to learn from them. You need a program of retrospectives to learn your own best practices.

Martin Fowler is an independent consultant who has spent a decade applying object technology to business information systems. He has written three books, none of which are about project management.

Norm Kerth
Any team building software at net speed will experience problems. Individuals will be assigned work they can’t complete. Successful high-performance teams create a culture where discussing difficulties is a natural part of the process for developing software.

If you do not work for a high performance team, I urge you to consider the advice of the other panelists; however, first make sure you install the Four Freedoms. These freedoms are:

  1. everyone on the project has the freedom to discuss the project the way they see it rather than the way someone else wants them to see it;
  2. everyone has the freedom to ask about puzzles they have with the project;
  3. everyone has the freedom to honestly discuss their feelings about the project; and
  4. if anyone thinks they don’t have one of these free-doms, they have the freedom to initiate a discussion about their fear of speaking up.

These simple freedoms take effort to install in some work environments, but there is no way to build soft-ware at net speed without these freedoms.

Norm Kerth is a leading expert and consultant in the areas of specification and design methodologies. He is a noted author, and active in the Patterns community.

Priya Marsonia
My expertise runs to large companies and large software projects, so I will express my project management views within this context. Large companies believe that they can decrease cycle-time by applying the best practices of the average start-up. The problem is, the average start-up's project management practices do not translate well to large companies executing large projects. One project management process cannot fit all.

To decrease cycle times, large companies must have: executive commitment and involvement; product pipeline management; clearly delineated, small cross-functional teams; schedule, budget and risk management; technology and process control; and resource management. Project decisions must be made crisply, by one decision-maker, with all stakeholders in mind. Project decisions must be communicated effectively.

Rigorous project management is the infrastructure for speed in large organizations.

Priya Marsonia is a Program Manager for Nortel Net-works. Marsonia has also owned a software-consulting firm that provided product management, project management, business process re-engineering, use case modeling, and human factors analysis services for large-scale enterprise-wide systems development. Mar-sonia consulted with several multinational corporations including: NEC Electronics, IBM, TIBCO, ADA Inc., Ameritech, and Stentor.

Dusty Roads
Dusty Roads is a business analyst with Orient Overseas Container Line (OOCL), a global container shipping company. Over the past 12 years, she has assumed a variety of roles associated with the soft skills of product development and release. Dusty's experience has been in the area of product definition, product support, cus-tomer advocacy, training, facilitation, and regulatory issues. Dusty is on staff at OOCL's Services Develop-ment Center (a Smalltalk shop) in San Jose, California and is a graduate of the University of Davis, California.

Return To Final Program || Return To Technical Program At A Glance

 OOPSLA'98 Home