Moving Beyond Code-and-Fix Development

Taking a "code-and-fix" approach to development is quite common in small companies - you see it all the time in start-ups. And you can understand why. It's fast and flexible, and can work very well when there's just a few people on the development team. But in a larger company, it can lead to costly errors and a product that ships two months late. Aaron's got some tips that can help you transition out of a code-and-fix approach and into one that will work better for you.

“Code-and-fix” development is the most common form of development for companies with fewer than 20 employees and is therefore very common in start-ups. The phrase describes a process in which the feature set for a product is developed at the same time that the engineering team is coding it. It’s quite flexible and often works well when there are three or fewer stakeholders (typically the developer, director of marketing, and the CEO).

Once your company grows to the point where more than a handful of people are involved in the definition and development of a product, code-and-fix development leads to costly communication problems and produces a product that ships two months late with a user interface that only the developer can navigate.

Transitioning out of a code-and-fix development process, however, can be difficult. The stakeholders are typically attached to the flexibility that the style provides and are not thrilled about the prospects of adding “bureaucracy” to the process. You may also find that the management team has grown fond of talking shop with developers and then casually dropping newly acquired tech buzzwords between rounds of golf with fellow M.B.A. buddies.

To make this transition effectively, you should focus your efforts on developing clear lines of communication among all the parties involved. This will create the level of trust that is necessary as you start to expand the development process.

Here are some initial steps to consider as you develop clear lines of communication around your development process.

  1. Identify the Stakeholders
  2. A stakeholder is anyone in the organization who is affected by the product or has an opinion about how it should be built. In a small company, this could easily be the entire staff. As the product manager, you have the responsibility to ensure that all stakeholders are up to date and that they understand their individual responsibilities regarding the development of the product. This can usually be covered by broadcasting minutes from your weekly core product team meeting and by regular, informal one-on-one chats.

  3. Create a Core Product Team

    The core product team should consist of anyone who spends at least a quarter of his or her week working on the product. Typically, the team consists of a handful of tech folks (application, database, and QA engineers), a user interface designer, a marketing manager, a member of the sales team, and a customer service representative. This mix should give you a well-rounded set of perspectives (and fashion styles) to keep the meetings interesting.

    To be effective, a product team must be empowered to make decisions about the feature set. The draft of the initial feature set and any changes should be defined and approved by the team. This creates enough of a barrier to ensure that changes to the feature set and to the schedule are well thought out. It also increases buy-in from the people who are most affected by the changes, preventing morale problems.

    During the definition phase of a project, your core team may need to meet daily to work through all the requirements and tradeoffs. Once development starts, you should be able to meet weekly for less than an hour. These shorter meetings can be used to check on the schedule, discuss changes, and examine problems as they arise.

  4. Manage Management

    Most management teams think that the product team is the cause when a launch date slips. The product team can cause a late product launch by creating an unrealistic schedule, writing buggy code, not defining the product well from the start, etc., but this has accounted for roughly 25 percent of slipped dates that I have witnessed. The other 75 percent of slipped dates are caused by a management team that sets the launch date without getting input from the product team or changes the objective of the product midstream.

    It is hard to combat this problem, especially in a small company, but you can start to address it by actively incorporating the management team into the process. If your company is small enough, have your product team give presentations to the executive team regularly, sharing features, the current status, and problems as the product evolves. Since management teams typically have the attention span and reading skills of third-graders, be sure to keep your presentation short and visual (for example, by using graphs, mockups, etc.).

  5. Make Time for a Postmortem

    A postmortem is a meeting of the core product team after the product launch. In this meeting, the group reflects on the development process, identifying what worked and opportunities for improving future projects. Effective processes are organic and unique to an organization. The insight that you get from talking openly as a team about the successes and failures of your existing process are infinitely more helpful than academic articles (like the one you just finished reading).

Subscribe to get your daily business insights

Whitepapers

US Mobile Streaming Behavior
Whitepaper | Mobile

US Mobile Streaming Behavior

5y

US Mobile Streaming Behavior

Streaming has become a staple of US media-viewing habits. Streaming video, however, still comes with a variety of pesky frustrations that viewers are ...

View resource
Winning the Data Game: Digital Analytics Tactics for Media Groups
Whitepaper | Analyzing Customer Data

Winning the Data Game: Digital Analytics Tactics for Media Groups

5y

Winning the Data Game: Digital Analytics Tactics f...

Data is the lifeblood of so many companies today. You need more of it, all of which at higher quality, and all the meanwhile being compliant with data...

View resource
Learning to win the talent war: how digital marketing can develop its people
Whitepaper | Digital Marketing

Learning to win the talent war: how digital marketing can develop its peopl...

2y

Learning to win the talent war: how digital market...

This report documents the findings of a Fireside chat held by ClickZ in the first quarter of 2022. It provides expert insight on how companies can ret...

View resource
Engagement To Empowerment - Winning in Today's Experience Economy
Report | Digital Transformation

Engagement To Empowerment - Winning in Today's Experience Economy

2m

Engagement To Empowerment - Winning in Today's Exp...

Customers decide fast, influenced by only 2.5 touchpoints – globally! Make sure your brand shines in those critical moments. Read More...

View resource