Author Archives: Charles Verge

Smoothing the transition from prototype to production

I’ve been talking to a number of startups hiring developers at various stages of development that are having problems gaining momentum in getting their product built. This often stems from not having a core technical expertise they can rely on for advice and to ensure things are built properly. Having a product built properly allows new features to be added easier, less surprises happen and the software runs smoothly. Another source of the problem is not knowing how much time and resources should be invested as the concept is unproven.

This situation can seem to be a catch 22, to build a product properly it takes more time and resources than to put together a prototype product. To over rely on a prototype product can prevent in fully capitalizing on an opportunity in the future and to scale too soon can delay product release and resources.

My preference is to take the low risk option by only investing what you can justify. If there is a proven high demand for the idea then building a more complex prototype can be done. If the demand is not proven, then spend more time fostering the demand or be willing to take the risk. The is central to any business looking for a return on investment.

The question is, how do you transition from the prototype phase to production quality phase smoothly without hindering the growth of the business ?

To answer is not so simple, in some aspects there is an art to it and in others there is many common pitfalls that can be avoid. Let me start with an outline of the progression that I’ve seen many companies go threw and second some recommendations to avoid common pitfalls.

Progression of getting a product built

The first stage is a startup is looking for someone to build version one of the product, usually for the lowest cost possible as it is unknown if the product is worth continuing with and little requirements are put on the technical requirements of the codebase. Having a low level requirements and utilizing junior developers in this case can reduce costs as it may be more important to test an idea then to build a foundation for a future product. The trap is that your prototype code written quickly gets turned into a production application which sets the stage for disorganization.

The next stage is they have a code base built and hired a number of developers to get to where they are. As a result there is usually two or three different frameworks and or languages that make up their product which is put together in what ever way works. At this point they are starting to run into problems getting more advanced features added or getting features added consistently. Bugs are also starting to appear and maybe at random. A company might persist in this state for a number of years particularly if the product is profitable and if features do manage to get added.

The third stage is where it is recognized the code base needs to be cleaned up and it is holding back growth of the company. Usually at this point the founders have developed a fair amount of knowledge around the development process and are starting to seek out a core technical person or have become more technical. The goal is to create new code in a standardized way and in a manner that allows additional features to be added.

The four stage is the company has a core technical team, has a set of standards and an organized code base, development cycle and is looking to regularly roll out features. At this point companies usually have a good idea of what type of developer they want to hire and what they want them to produce. Problems faced at this stage is is trying to find developers who fit their mold exactly or not having a quality on boarding process to allow smart developers who can learn the development environment.

This may seem like an acceptable route to take as progress is continuously made, often at the cost of sweat, blood and tears. Essentially it involves hiring several developers over the time span as the founders learn the ropes of getting a product developed one piece at a time. This route can consume a significant amount of time, finances, emotional energy and allow for competitors to get an edge.

Is there a better way ?

The proposed alternative is to recruit a trusted senior technical advisor or technical founder earlier on in the process to ensure proper standards are in place. The second part founders being more proactive in learning the development process and assessing what is needed to be built. If you are building a technology based product then knowing what you are getting into is key so you have the ability to make decisions. This is not necessarily knowing enough to be a rockstar but understanding the process and what is done at the ground level makes proper decision making easier to do.

When proper standards and practices are in place then it is a small cost at the beginning with a large savings down the road. With more understanding of the technology then the hiring process goes smoother, you get access to more talented staff and that staff can do a better job.

Simple best practices

The good news is there is plenty of guides on best practices out there some basics are

  1. Test your assumptions before building
  2. Use an organized development process like agile
  3. For anything more than the absolute basics test start using an object oriented development framework. Model View Controller is an example of such
  4. Be proactive about keeping things organized and efficient

The following are a few resources, feel free to suggest some more

For non technical founders

http://justinmares.com/what-the-non-technical-need-to-know-about-tech/

http://www.groovehq.com/blog/non-technical-founder

Hiring process

http://www.quora.com/Stripe-company/What-is-the-engineering-interview-process-like-at-Stripe

http://www.fastcolabs.com/3015662/want-to-recruit-better-developers-give-them-broken-code

http://www.forbes.com/sites/theyec/2013/07/26/how-to-hire-a-programmer-even-if-you-dont-know-code/

MVC Best practices

http://www.yiiframework.com/doc/guide/1.1/en/basics.best-practices

http://blog.codinghorror.com/understanding-model-view-controller/

How do I make my idea happen ?

To make an idea happen you need a method and motivation to continue during the bad and the good times. Methods are road maps for potential routes for realization of an idea and stories of others can fuel for your motivation.

On this site methods are organized into different stages that you may be at: Discover, Strategize, Design, Prototype and Optimize. If you see something that could be added articles you discover else where or write feel free to share. A diverse perspective is one of the best ways of finding ideal routes.

For inspiration I’ll collect stories about products and creating them. The first of these is What makes a good product ?

Others include stories of how other products where created, like the Prototyping of the apple mouse.

There are many methods and there is an old proverb that applies. All roads lead to Rome, There are many different routes to the same goal. Finding the best route is the hard part of making your dream happen. Share your knowledge and leverage the knowledge of the crowd to help your team stay motivated while discovering the route you are going to take.

Building a team

The cause you decide to champion is the determining factor of who joins your team. The cause has to resonate with quality talent for them to want to join your team. To resonate with the team you are building you will need to clearly communicate the problem you are trying to solve and why you need their help.

With out good story of your cause then your recruitment will be random at best and probably with a high turnover. The higher quality candidates will work with other people.

Effectively your cause is one of the main factors that brings your team together. This is particularly true with high quality talent where they select their best options. This goes against the grain where most people believe they select the team. With out your cause being strong people who could be good team members will never express interest in joining your team and that door won’t be opened.

This is not a new concept, Steve Jobs looked for people who believe in the cause and are best at what they do.
Steve Jobs in a documentary about Apple (1985)

Another was Winston Church Hill who had a strong vision for a European alliance to counter German aggression, a common goal to secure peace.

My cause is to improve peoples lives by enabling people to transform their ideas into reality.

It’s inspiring for me to hear other peoples cause and I’d like to your hear yours. Leave a comment or message me about your cause.

Prototyping of the apple mouse

The original mouse was prototyped with butter dishes, spools of guitar wire, toy train wheels and roller balls taken from underarm deodorant sticks. Prototyping things from the local corner store is still a validate method today. Until 3D printers become easier to use, constructing a new object by reusing existing objects and materials, will often be a lower barrier of entry for an initial prototype.

Prototyping the Mouse

David M Kelley on Apple’s first mouse

Break down of original apple mouse cica 1980

David Kelley on the Apple Mouse – standford interview

Resources

Ecorner Standford University’s Entrepreneurship Corner The Stanford Technology Ventures Program (STVP) Entrepreneurship Corner is a free online archive of entrepreneurship resources for teaching and learning.

http://www.youtube.com/user/OxfordSBS Saïd Business School from Oxford University has a number of videos similar to Standford Ecorner with their own style and different perspective. Building upon Oxford University’s 800 year old history of educating world changing leaders, the Saïd Business School seeks to develop the next generation of business leaders and entrepreneurs.

The Art of War By Sun Tzu

Ted talks

Culture

Simon Sinek: How great leaders inspire action – start with a cause, start with why you do it

ecorner Standford – Culture as a Sustainable Advantage

Databases

English language

http://www.wordcount.org/ – count of word frequency

Top 2000 used english words

Positive and negative words

Blogs

Glen Lipka product designer – Design desisions

The Silicon Valley Product Group

Statistics

Understand What Statistical Significance Means and Why Your Testing Tool Might Not Be Helping

Other

Timeline of a first time startup from start to end – http://flowtab.com/

How to Build Front-End Web Apps that Scale

Ben Horowitz – http://benhorowitz.wordpress.com/2014/01/02/can-do-vs-cant-do-cultures/

http://benhorowitz.wordpress.com/

A good project manager, the description fits any one who wants to be good at any thing

Engage people with your idea and leverage their knowledge

For an idea to mature to the point where you can begin to Strategize how it fits in the current ecosystem it needs to be refined. One way to refine an idea is to talk to the people who are going to use it. Engage them, listen to their feedback and work with them to better understand each others perspective. After doing this with 100 to 200 people I find the idea starts to mature and you can begin to Strategize.

Ways you can get feedback:

  1. Ask people if they heard of similar businesses, products or models
  2. Listening to your friends and family.  How do they talk about similar products? While trying not to influence the discussion
  3. Ask if people have heard of any videos, podcasts, research reports or web sites that might be relevant
  4. Ask if people if they know any one that might use the service or product
  5. Talk to competitors; ask them what their problems are with their products and services.  What do they want to improve?
  6. Try to sell the product without building it.  Use the power of your voice or prepare some sales material either on a landing page or a brochure. If no one is interested at all, then your idea or pitch needs some refinement.
  7. Have a friend or someone you know use a competitor’s product and observe their reaction. A complete stranger can often provide more accurate feedback then a friend who may tell you what you want to hear rather then what you need to know.
  8. Create a survey and ask potential customers to complete it. For online surveys google forms is a low cost option and survey monkey is a premium option.

If you are not the most outgoing person, you can compensate by recruiting a friend that is, or use methods like searching on twitter, Google, Facebook, etc., for people already talking about the problem or similar products. These natural complaints can be very informative as they can come from what people really think, which is often more accurate then what is told to you if you ask someone nicely.

Some things you can search for:

  1. Customers reviews, both positive and negative
  2. Chatter about competitor products and services
  3. Search volumes on google and other sites
  4. Find other products that the people who use the product you are building are using

If you want to start engaging people today send me a message and I’ll give you some feedback. To reach me use the form on the contact me page.

What makes a good product ?

Every one has a story to tell about their experience with a good product, I’d like for you to share your story. What does a good product look like, how does made you think and feel.

By collecting and sharing what makes a good product from different perspective we can gain a better understanding of what makes a good product and what could be done to make our products better.

Leave a comment or start a discussion with me by using the contact me form on this site to share your story about “What makes a good product ?”