Archive for the 'Engineering' Category

“Girls suck at math”

I generally don’t talk much about gender stereotypes in STEM (science, technology, engineering and math). I try not to add to the noise – until I saw this on xkcd.com (courtesy of a TechCrunch article about… well… gender stereotypes.)

This touched a nerve. It caused a flashback of the Teen Talk Barbie “Math class is tough” incident in 1992 and the aftermath.

What has changed in 21 years? There has been some progress…

  • Mattel came out with a Pediatrician Barbie.
  • A few women rose to global prominence in the high tech world: Carly Fiorina, Meg Whitmann, Sheryl Sandberg, Marissa Mayer, many more.
  • Many successful companies are co-founded and/or led by women. A random East Coast sampling includes CyPhy Works (Helen Greiner, ex iRobot), Data Gravity (Paula Long, ex EqualLogic), Communispace (Diane Hessan), care.com (Sheila Marcelo), OneForty – sold to Hubspot (Laura Fitton), and so on.

…But much work remains.

  • While the aggregate gender ratio has more or less evened out at MIT, historically male dominated disciplines remain male dominated. According to this slightly stale Quora answer, in 2011 Mechanical Engineering (Course 2) was 36.8% female and EECS (Course 6) was 31.7% female.
  • In recruiting ME/EE/CS engineers to join our team over the past two years, we noticed the incoming funnel was nowhere near 30-40% female.
  • When asked to write an essay debunking a stereotype of her choice, my 11 year old immediately chose “Girls can’t do math” as her topic.
  • Oh, of course, there are always moments like this to highlight the “different availability of aptitude” issue (also known as the Larry Summers foot-in-mouth issue).

21 years and not much to show for it. Our school systems are not effective in nipping stereotypes in the bud. Most STEM fields remain male dominated.

What are YOU willing to do to help?

Some practical mitigations are already being done in the startup space. For example, prominent people like Brad Feld have been using their platform to raise awareness. Angel investors like Golden Seeds specialize in investing in women entrepreneurs. There have been versions of the startup weekend catering to women entrepreneurs as well.

Another mitigation is to work on prevention, starting with the younger grades in the school system. Adults (male or female) can proactively mentor young girls who trust them to pursue their interest in things like math clubs, science clubs and robotics leagues. I recently moderated a panel discussion on STEM careers for MIT female undergraduates. I asked each young woman to recount how they ended up at MIT. Everyone had a personal story involving a mentor in a STEM field, who actively coached them to explore these interests. Things like the LEGO league cater to children in Grades 4 through 8, and is a great first experience for girls to try systems level engineering. There are plenty of resources for teaching girls (and boys) to program as well.

A third mitigation is a call to action for female scientists, engineers and technologists to embrace opportunities to speak to school groups about their work. My children’s school invites a geologist to come talk to them about rocks and crystals once a year. That brings interest to an area of expertise few children have access to. Even better, the expert is a female role model. If you are a female in STEM, consider what you can do to share your enthusiasm about your work with school groups. Seeing is believing.

The last word of wisdom comes from this Boston Globe article about shattering the glass ceiling. Between this, and Sheryl Sandberg’s much anticipated book about leaning in, women should take note: believe in yourself and achieve great things, and you will help inspire the next generation.

I hope that with these and other measures, in another 21 years, no one will be writing yet another blog article lamenting the fact that nothing much has changed.

“Good, fast, cheap” – all 3?

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]

Image

Years ago when I inherited my first truly complex, multi-disciplinary program, a beast with 1.5 million lines of code among other things, a wise mentor told me about managing to three things: content, schedule, budget.  Namely, one gets to pick two out of three, and the third item has to float.  

I didn’t realize it at the time but most other people refer to this triad of parameters as “good, fast, cheap – pick two”.   

This is great as long as we are doing armchair product development.  However, in real life, for better or for worse, these three parameters almost always look overconstrained. 

  • GOOD: For any new product or service, intensive customer development will tell us the absolute minimum set of features/functionality we need to provide.  Once you truly grok the buyers and users and have invested in coming up with the short list of stuff they need, it is really, really hard to cut anything off of this list.
  • FAST: To keep pace with today’s fast moving markets and customer needs, everything that needs to be done needs to have been done yesterday, or we risk becoming irrelevant.  One can never release products or services quickly enough to meet the needs and expectations of the business and its stakeholders.
  • CHEAP: There are very few startups (or any other businesses for that matter) where the product organization isn’t short staffed and/or watching the run rate like a hawk. Even if budget is unlimited, there is the mythical man month issue to contend with. The current headcount almost always defines the budget for any internal projects to be done within the next few weeks.

How do we run projects when all three parameters appear fixed? Asking people to do more faster on a going basis isn’t awe-inspiring or effective (at least not if you care about burnout prevention).  

What I find is that while all three look equal, if we take a few moments and think about the situation critically and rationally, we can usually find the one that is less equal than the others. The one that is a nice-to-have disguised as a must-have. With the grace of some corporate will, there is often maneuvering room on this one.

In some cases, it might be that the headcount is fixed (a true budget constraint), and a specific delivery date that are set by external circumstances outside of our control (a true schedule constraint). For instance, if you are in consumer electronics and you want your product to be in physical Best Buy stores for the holiday season, you are going to be showing the buyers a looks-like, works-like product in final-looking packaging in April, together with every other CE product that is competing for shelf space during the same holiday season.  In that case one might have to make some hard choices and cut beyond the MVP feature set in order to meet that date, with a plan to augment the product with additional features and functionality later on (e.g. with software updates delivered over time).  

In other cases, it might be that your headcount is fixed (a true budget constraint), and you need to get enough work done to facilitate a specific workflow for a specific customer or set of customers: your product or service is useless until you achieve critical mass on this workflow (a true content constraint). In that event, whatever the business pressures might look like, you simply will have to negotiate enough elapsed time to get the job done.

At the end of the day, overconstrained projects are self-inflicted problems for an organization.  If we are willing to ask the hard questions, and make difficult tradeoffs with eyes wide open, we can usually find a sensible solution that optimizes the outcome for what truly matters.

When an idea is 10+ years ahead of its time

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
CES is happening this week. Since I’m a tech geek, I’ve been avidly following news and blog posts about all the gadgets and technology trends that are being announced.

So far the thing that interests me the most is the connected cars phenomenon. Mercedes-Benz, Audi and Ford each have their own proprietary platform that connects to the internet and allows you to get information from the internet and/or use your mobile phone to check the status of your car. This seems to be an idea whose time has finally come. Here is a video showing the Mercedes-Benz system. (As a former Audi owner I would have loved to show the Audi system instead… but this video is more digestible.)

This is especially interesting to me because some 15 years ago, while I was with a product design consultancy, I was part of a team that worked on an “infotainment car” concept with a cutting edge automobile company that shall remain nameless. We did an ethnography study where we shadowed research subjects for an 8-hour day as they drove around, going about their normal business with us and our videotaping equipment in tow.

We crunched the data, and came up with what we thought people would want to do in the car: get location based information such as nearby restaurants, get turn-by-turn navigation help, get entertainment such as music and video in the car, and get help and support if they get into trouble. We understood that the user’s eyes have to be on the windshield and we thought of wacky ideas like a heads-up display (HUD) superimposed on the windshield, so that critical information may be presented to the driver without requiring them to take their eyes off the road. We called this the “infotainment car” concept.

Considering this was mid 1997, US cellular networks were in the dark ages (GSM/GPRS was not even approved as a standard), and the most advanced connected car technology on the market at the time was General Motors’ OnStar system (equipped with a GPS, an analog cellular uplink and people answering calls), the infotainment car concept was truly a glimpse into the future.

We eventually visited the automotive company’s advanced research lab and saw such a concept car with all the requisite technology. This concept car would have worked from a technology standpoint. Its only problem was that the technology was very expensive and far from mature, and the content and infrastructure was sparse, and in some cases, non-existent. The ideas were wonderful and in hindsight, more than prescient, but the content and technology limitations made it impossible to realize the full richness of the user experience. The concept car stayed in the lab for another 10+ years.

Fast forward to today, and look how far the technology has come. The cellular uplink is now smoking fast – witness the 4G LTE radio integrated into the Audi. This makes it possible to have a really great data download and media streaming experience. Location based information is accurate and plentiful. Many people (myself included) keep large amounts of personal data in the cloud, making it ever more possible to have an excellently consistent connected experience anytime, anywhere. Advanced display technologies are starting to become a reality. Audi is even talking about a heads-up display.

Here is proof that an idea alone isn’t enough to make a successful product or business. Execution alone isn’t, either (the automotive company knew how to make such a car, albeit at a crazy price point). The right external conditions are the third requirement.

I have another case study that supports this observation. Another company I worked with that shall also remain nameless had thought of the exact same core idea as the MakerBot Replicator. Here is a video from the company explaining this incredible 3D desktop printer.

That idea came up well over 10 years ago and remained unactionable until recently, when relatively more cost effective 3D printing technology, better options for the substrate, as well as 3D digital content creation technology caught up with each other.

As a product person, one must stay on top of technology trends and be alert and aware when the conditions arrive that makes a brilliant but previously impractical idea come into its own. Being in the right place and in the right time is a pre-requisite to success.

Product Planning Series: Requirements

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]

This is the sixth post in my Product Planning Series.

The mere word “requirements” can make a lot of startup people wince. It conjures up the bad old days where folks spend months developing an MRD, PRD and a Functional Specification. It brings up images of Stage-Gate and classic Waterfall processes.

There are situations where big long planning documents make sense.   For example, if you are developing a medical device that needs to go through the 5(10)k process, you really have very little choice.  You have to go by the medical devices handbook which pretty much stipulates that you need to write all those documents and place them under a document control process.

However, in a startup situation, where you really don’t know if your problem, solution, and business model will jive with customers and users, overinvesting in planning documents just leads to lost time and productivity.  It also sends the wrong message to the team: instead of being open minded and work closely with customers to define the product and the business model, you are making up too much of it in the office. By the time the big MRD is written the world has already changed and the requirements could be obsolete.

I am against over-investing in requirements documents. However I am even more against not writing anything down and relying on tribal knowledge to implement a solution. That works if there are, like, 2 people in a startup. When you have more than 3 or 4 people working on the same thing, communications becomes very important. Working in a fast paced startup where new data comes in constantly is not an excuse to punt on basic common sense.  Good team communications practice begats good project execution, which will increase the probability that your product will do what you want it to do in the marketplace.  By the way, this goes for hardware AND software.  Even an agile process needs a holistic view of the end goal.

Here are some requirements do’s and don’ts in a startup setting.

DO

  • Write SOMETHING down
  • Get buy-in from ALL STAKEHOLDERS.
  • Be practical and specific. Leave it loose at your own risk.
  • Build a top level project plan that identifies key tasks, milestones and interdependencies
  • Develop a lightweight 2 year roadmap
DON’T
  • Start building anything without buy-in
  • Write a 100 Page MRD
  • Overspecify details on each feature in classic Waterfall fashion
  • Build a 5 year product roadmap with a great deal of detail
At the end of the day, for a development team to be productive, they really don’t need big long documents to describe everything. They just need a few slides on a few topics.  Here are the topics that I find useful to write down for the team. A lot of this stuff should be available for free, from the business case and who/what/why/when discussions.  Some of it is technical – like a lightweight description of the MVP.
  • Clear description of the market problem that is being solved
  • “Elevator pitch” of the solution (preferably with images)
  • Description / analysis of first target segment
  • Buyer and User Personas
  • Detailed storyboards on top 1-3 typical workflows
  • Specific examples for details encountered in each workflow
  • Considerations for human factors / human cognition
  • Top level design directions to be followed by product design team
  • Lightweight functional description of minimum viable product (MVP)
  • Quick and dirty 2 year product roadmap
  • Any external business drivers (e.g. trade shows, funding runway, etc.)
The most important thing is to do the thinking and research that will support the materials presented in these types of documents. The second most important thing is not to overthink things when you write them down.  Use the minimum possible number of pages to convey the information – don’t overinvest.  That way you will not feel too badly if customer development tells you something new and you have to trash some of these documents and write them over.

The many facets of leadership

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]

Like any other manager of a functional group, the product development manager wears many hats.  He or she is a technical lead, a head coach, a Gantt meister, an HR specialist, a product architect, a social chair, a strategist, a tactical guerilla fighter, a human shield against distractions, a cheer leader, a measurer and communicator of team performance (whether good or bad), a translator of corporate strategy to his/her team, and a translator of technical jabberwocky to less technical stakeholders.

He/she must take care of his/her product as well as people.  He/she must work effectively with product management, sales, marketing, manufacturing (for hardware products), finance and operations to ensure the output of the development team plugs into a viable and implementable company plan.

How do you measure the performance of the development manager?  Which aspects are the most important to watch?

There is no right answer to this question because the hat prioritization depends on the organization, the state of the product development process, the personal dynamics inside and outside the development team, and the personality and style of the development manager.

For me, under most circumstances, the success of my team defines my own success.  There are two areas to watch:

  • Team performance: Is the team hitting its milestones on execution and developing a great product effectively and efficiently?
  • Team development: Are we nurturing and empowering team members to grow and prosper in their respective careers?

Team Performance
The greatest compliment anyone can give me and my team is to tell us that we are an execution machine. A team that performs well and executes its initiatives is a team that shines.  

Now how do you create conditions to help your team excel? First and foremost, the right people must be in the right jobs.  There’s no way to get excellent performance out of an organization if people don’t have the right aptitude and training to do the job they are asked to do in the time frame that the job needs to be done.   Performance will also suffer if people are made to do things they don’t like to do for extended periods of time.  

Second, we must clearly define goals and objectives, and then stick to them for long enough so the team has a chance to execute against those goals. To be in a startup is to be in flux. New data and learnings flow in all the time and we do need to be able to stay nimble and pivot rapidly when the data tells us to do so. That said, continuous thrashing is the best way to trash a team’s performance and morale. We must strike a balance between our desire to turn on a dime and our need to stay focused so we can execute against the best available information, creating deliverables that will help us test and learn for the next iteration.

Lastly, we need to succinctly define success in a clear and tangible way, then measure the team’s performance against these success metrics.  What you can measure you can improve.  There is nothing more motivating than being able to celebrate victories when we hit our milestones.  And when we miss, those are learning moments that give us valuable data to help improve our performance the next go-around.

Team Development
The second thing to watch for is whether team members feel happy and supported in their jobs, and whether they are growing and prospering along their chosen career paths.

I take the coaching aspect of a development manager’s responsibility very seriously. To the extent possible, the development organization should provide opportunities for team members to learn new things and stretch their skills in their areas of interest.  

While I believe the primary characteristic of a high caliber development team is its performance, a happy, motivated team in a trusted, supportive work environment that looks out for their interests and takes steps to help them grow can usually get more work done faster and with a better quality of output.

What do you think about all this?  How would you prioritize these hats in your own role?

Product Planning Series: From use cases to storyboards

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
This is the fifth post in my Product Planning Series.

My approach to product development revolves around user-centered design. The basic tenet of this philosophy is that the product team must be equipped with a thorough understanding of the end user’s needs, wants, expectations and limitations in order to create an excellent product solution to solve the user’s problems.

This understanding begins with user personas at a high level and becomes fleshed out via use cases and user stories.  The UX design team can then ideate on a solution to the problems the user is trying to solve and create storyboards to imagine how the solution may be implemented in the context of the product.

The words “use case”, “user story” and “storyboard” can mean different things to different people.  This is what I mean when I use these words to describe the tools and artifacts I use in the product design process.

  • Use case: A high level thought experiment of a workflow from a user’s perspective.
  • User story: A brief description of a part of a use case or storyboard that succinctly defines a task the user has to complete, from the user’s perspective, with no assumptions placed on design or implementation. Used to describe functionality that will go into a backlog to be prioritized and managed by a product owner (in classic Agile methodology)  It is usually much more granular than a use case and describes a snippet of what the user needs to do to complete a workflow.
  • Storyboard: An output of the design process that illustrates the experience of the user in a journey to complete a workflow using the product. In my experience, this is the fastest and most effective way to turn a high level UX idea into something concrete that the product management team can use to test with customers and the product development team can use to plan their work.
I find that these three things are fairly universal in their applicability to all kinds of products, hardware and software alike.   In cases where the use cases are complex and the solution is non-obvious, it is vastly faster and cheaper to iterate a design idea at the storyboard level than to code it up and then review the actual working code output.
With the right talent on the task, one can literally come up with 5 or 6 storyboard iterations in a single day without investing in any engineering development.  The impact on software products is substantial – it can take weeks to program just one of those iterations, so storyboards saves time and money in a tangible manner.  The impact on hardware products is game changing – a single iteration for a hardware implementation could take months or longer.  Storyboards allow the product team to iterate, test and learn, so that we can come up with a better end result in a shorter period of time with the least possible investment in engineering development.
Once the product design is vetted at the storyboard level, it becomes much easier to fill the rest of the design gap with a detailed design solution, and development will then be able to implement the design efficiently and effectively.

Product Planning Series: Project Management

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
This is the fourth post in my Product Planning Series.

Bringing up a new web app is much more than a technical project management effort.  Any new product or service development program is a massively interdisciplinary exercise.  In order to have a successful outcome all affected constituencies will need to be involved in developing the program plan, so that key milestones and dependencies are identified from the get-go and actively and aggressively managed so that there will be no surprises halfway down the line that will result in a significant project delay.

Here are some of the interdepartmental milestones that need to be worried about for our consumer SaaS example.

On the customer research / persona development side:

  • Product discovery research done – target persona(s) chosen and fleshed out
  • Needs, wants and expectations fully understood for target personas
On the business planning side:
  • Finalize pricing structure
  • Finalize channel strategy (for our example this is direct to consumer, which makes life very simple indeed.)
  • Where applicable, develop ROI analysis for target customers (this will be used by product marketing to convince prospective customers to adopt the product or service)
On the product planning side:
  • Product strategy fleshed out – this basically describes the product concept that solves customer problems
  • Basic product roadmap developed with some idea of phasing of which problems to be solved when and how over the next 12-24 months (I like to make a 1-2 year actionable roadmap and a 5 year vision roadmap)
  • First pass definition of minimum viable product (MVP) complete (this is a hypothesis based on customer learnings to date)
  • User stories developed (this usually requires a second round of customer research) – a paragraph per story
  • Key user workflows fully mapped out at least to the flow chart level (this is particularly important if you are developing something for a target user persona that is not readily relatable by your program team.)

On the design side: (these milestones are specific to my consumer SaaS example. Some other day I will write a different post for hardware products.)

  • Determine high level navigation architecture (what are the organizing principles of the information and actions you can take on this web app?
  • Wireframe key pages to illustrate workflow
  • Design a few example pages to “put the breadcrumbs closer”

On the technical side:

  • Development platforms chosen
  • Server side architecture design finalized
  • Server set up, ready for development
  • First proof of concept with rudimentary UI showcasing any high risk items that needs to be investigated (e.g. if you were testing out a brand new private video streaming service that has just come on the market)
  • Key third party technologies integrated (e.g. shopping cart, knowledge base, etc.)
  • Intermediate internal releases as parts of the app comes up for testing
  • First instantiation of the MVP (minimum viable product) with a relatively complete user experience, released for beta testing
  • First release of the MVP (start to charge for the service!)
On the customer research side:
  • First set of product discovery interviews done, ready for persona development
  • User workflows vetted with users at the wireframe/storyboard level
  • Customer Advisory Board (CAB) assembled, ready to advice program team on features and benefits
  • Continuous testing of intermediate releases with CAB members
  • Usability study of implementation for key workflows (Do some in-house lab testing with fresh subjects – not CAB members, and do some across a broader audience with services such as www.usertesting.com)
On the product marketing side:
  • Design and develop content and assets for landing pages, conversion pages, etc
  • Develop PR strategy to get the word out (for this example, work should be done well in advance to get key blogs to cover the launch of the web app.  Facebook page should be set up with appropriate content and prepopulated with fans drawn from the early tester community.)
  • Decide on, and execute, any one-time campaigns to promote the release (e.g. email campaign)
  • Develop any product collateral (e.g. quick start guide, user manual, video tutorials)
  • Update any corporate web pages ahead of time for a coordinated launch activity
On the business development side:
  • If applicable, business development activities to land partners will need to carry on in parallel with all these other activities. For instance our music app for small children might benefit from having Suzuki string teachers on the roster to provide expert answers.  The business development activity for this app would then involve recruiting and engaging these partners.
On the customer support side:
  • Determine customer support policy – first tier, second tier, email / phone coverage, languages and hours supported, turnaround time, etc.
  • Develop on line help / FAQ (this could be done entirely via a searchable, hierarchical knowledge base)
On the legal / regulatory side:
  • Develop end user license agreements / terms of use
  • If applicable, obtain regulatory clearance if the product or service requires it (our example does not require anything, but a medical site that, say, provides diagnostic guidance to various illnesses might have to look into FDA 5(10)k)
There is a lot of work that goes into developing a new business and many different constituencies are involved.  A little bit of planning up front goes a long way towards helping to make the program a success (and to minimize the level of stress in the development process).

Product planning series: Staffing for success

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
This is the third post in my Product Planning Series.

I decided to write this post after realizing that the actual activities and functional disciplines involved in building a new product are not necessarily apparent to people new to the game or seasoned professionals who come out of an unrelated functional discipline (e.g. finance).

Disclaimer: while the activities involved are generalizable, the actual staffing suggestions are only appropriate for a small company with a total headcount of 20-50. Companies much smaller or much larger than that will have a very different approach to staffing.

Activities involved in bringing a new product to market
There are several activities involved in bringing a new product to market. These activities need to happen regardless of who actually does the work.

  • Strategic product management – market sizing and analysis, identifying a market problem worth solving, choosing a target market segment, developing a business case, coming up with a pricing model and go-to-market strategy, etc.
  • Technical product management – persona development, requirements gathering, use case development, specifications development, generally advocating for the customer and end user’s needs and wants within the organization
  • Project management – generating a program plan that spans disciplines, with clear task breakdowns, milestones and deliverables, then managing against this plan
  • Technical development – implementing the product according to specifications, whatever form the specifications come in
  • Quality assurance – checking the homework of the implementation to ensure it works as advertised
  • Product marketing management – planning and executing market launch activities for this product to generate awareness
  • Customer support – fielding inquiries from buyers and end users about the product, how to purchase, how to use, and resolving issues as they arise
  • Sales – attracting target customers to try and / or buy the product

Hiring the right leaders to head up the product team
In a one-person startup, that one person will have to wear all of these hats. In reality, that is hardly optimal. Not only would this make for one grossly overworked individual, but I personally don’t know any one person who is fantastic at all of the above activities. Most of the time you will need multiple people to make up a product leadership team. Following are my personal take of who should be on this team. Your mileage may vary.

  • Product Manager – enough said. This person takes care of product strategy, requirements gathering and product definition and is in charge of customer research. He or she is the internal advocate for the customer.
  • Development Manager – this person heads up the technical organization and manages engineers. QA often reports to the Development Manager as well.
  • Product Marketing Manager – this person is frequently not the product manager. PMM is predominantly an outbound function, while PM is an inbound function. The PMM comes up with the right messaging to communicate the benefits of the product and takes care of market launch activities.
  • Sales Manager – this person uses positioning, messaging and other support materials generated by the PM and PMM to convert customers. Customer support often reports to sales as well.
  • Operations Manager – in hardware companies, this person is concerned with manufacturing, operations, inventory management, and supply chain management. In web software companies, this person is concerned wtih server care and feeding, failover policies and the like.

Development team for a consumer SaaS web app
Having put together the leadership team, and hopefully defined the product to an actionable degree, you will need to assemble a team to do the actual development. The talent required on the development team depends 100% on the actual product or service itself.

For the example I’ve been using (i.e. a music education SaaS offering for young children), I would need to hire / assign the following people:

  • Project Manager (PM) (this can be the development manager). This person is the Gantt Meister. (If you don’t know what a Gantt Chart is, you should probably not be the Project Manager yourself.)
  • Information architect (IA). This is the person who has the most impact on user experience (UX) – they worry about how end users achieve their goals and how information is presented to them.
  • Graphic designer. Contrary to what some people think, great information architects often don’t do all of the graphical presentation themselves. One way to think about it is that the IA worries about the cognitive aspect of a workflow, while the graphic designer worries about the esthetic presentation of this workflow. Between the IA and the graphic designer, the look and feel and actual UX of the web app is determined.
  • Client side web developer. This is a developer who is highly adept at manipulating XHTML/CSS and is comfortable with various technologies to implement the designs created by the IA and the graphic designer. They can make any interactive effect shine on the front end. Some of them are strong graphic designers in their own right.
  • Server side engineer / architect. This is a software engineer who chooses the right technical platform to develop on, architects the code, and decides how this code interfaces with various components such as the database, authentication engines, and client side code. They would be the right person to design and implement an external web services API if it exists.
  • Database Administrator (DBA). This is the person who designs, implements and maintains the database for the web app. For small apps the server side architect can double as the DBA, but for very large apps it’s wise to have a dedicated DBA.

Of course, this entire discussion is moot if it’s a one person startup 🙂

Product planning series: who, what, why, how

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
This is the second post of my Product Planning series (which uses a new web app as an example to illustrate how you go about planning the release of a new product or service.)

In my last post I outlined some of the questions that you should ask to establish a business case for your new product or service. Once that’s done, it’s time to define who you are building the product for and the problems they face, what your proposed solution looks like, why you think it is better than anything else out there, and how your solution will work to solve these customer problems.

Who
The first question some people ask is: why segment and target? If one does a wonderful job with product development, shouldn’t the product sell to anyone who might find a use for it? My answer is this: it is not possible to develop a wonderful product without knowing who you are designing it for.

Let’s say our web based B2C consumer SaaS offering is an educational site for children that focuses on advancing the musical education of kids who are learning an instrument.

Right away we can see that the buyer (a parent, grandparent or teacher) is different from the user (a student). You will need to build a buyer persona and a user persona. The buyer (parent) wants the child to learn. The user (child) just wants to have fun. To be successful the product must both educate, to meet the needs of the buyer, and entertain, to satisfy the wants and expectations of the user and to ensure stickiness and compliance in product usage.

If the word “persona” is new to you, Pragmatic Marketing has an excellent article explaining the persona concept, and Scott Sehlhorst has a great article on this topic. You can also consult my post on using ethnographic techniques to develop personas.

The purpose of developing the persona is to use the target buyer and user to help decide what to build and how to present it. What age group are we targeting – do you need to cater to the pre-reading crowd? How high do we go in the age bracket? These affect the user interface and use cases because clearly a 15 year old violinist playing first violin in a youth orchestra has vastly different needs and wants than a 5 year old violin novice working on basic bowing techniques.

Persona development goes far beyond demographic information and goes deep into situational scenarios. What is it like living in the households of these music students? What is their daily schedule? How long do they spend on music practice each night, and for how many nights a week? When do they practice music? How involved is the parent? Are they distracted by their siblings? What parts are hard to learn? What are the objectives of the child and what problems does he or she face? What are the objectives of the parents and how do they measure their child’s success?

A good persona provides demographic and psychographic information, as well as additional information about the attitudes and motivations of the persona in the area of product use. It is well worth the initial investment to develop a good set of personas, then clearly delineate the problems they face. It will help make development more efficient down the line and help you develop a great user experience that is tailor made to your target end users.

What
Once the buyer and user personas are defined, and their problems are well understood, it’s time to figure out what the solution to these problems might look like. For example, it is very hard to motivate a young child to learn all those pesky Italian musical terms. Perhaps an on line memory game might help them remember those terms. Another example is that the child may need to work on posture. Perhaps a video feature that allows the parent to take a video with their cell phone, then upload to a server and share it privately with the teacher might help. A third example is that the child has forgotten the correct technique 3 days after the teacher demonstrated it. A video snippet of the lesson might just do the trick. And having this all in one place encourages usage and compliance.

As a product team comes up with solutions, there are invariably way more ideas than what would fit in a desired timeline. Here is where the persona will be useful: the product team can use the persona to help them imagine what is of the most use to those personas, and develop a release roadmap where features that deliver the most benefits and value are released first, followed by other features that either broaden the offering or offer secondary benefits.

Why
Many wise product and startup people, including the folks at Y-Combinator, have commented on the need to focus on the customer, not the competition. This is very true. However that doesn’t mean you get to punt on doing a thorough competitive analysis to understand exactly what is out there in the market. This helps you in several ways:

  • You can check to see if your solution really solves an unmet need. If to your chagrin you find something that solves the problem quite well, it’s better to know sooner than later so you can pivot to solve a different problem that REALLY represents unmet needs.
  • You can learn from the successes and failure of other people who were in the market before you.

With a good understanding of the competition you are well poised to articulate your competitive advantage which is necessary for developing an actionable and meaningful positioning statement.

How
Interestingly, many technology startups start with the “how” as the basic premise for starting a company. Someone comes up with a brave new technology, develops a prototype for it, gets it to work, falls in love with it, then sets off starting a company with a field-of-dreams business plan.

That works sometimes if the technology is really world shattering. In consumer SaaS, the technology itself is sometimes commodity software. So for those types of products, the “how” comes only after having figured out the who, what and why. The “how” is concerned with how to actually implement the solution. For this example, you would pick the technology platform to develop your new site on – fielding considerations such as open source versus proprietary platforms (my vote: Open source), database of choice (I like MySql), programming platform (for complex web apps: Java EE back end with Javascript or HTML5 front end; for quick hacks, I like Ruby on Rails). You will need to make decisions early on about hosting and server care and feeding too: certain platforms bring a hefty server side license fee and you will need to account for it in your projected server fees and expenses.

Once the platform is picked, you can now work on defining and designing the product in detail, staffing up for success, and executing the plan to bring your offering to market in the desired timeframe.

Product planning series: Planning a new web app

[tweetmeme source=”chenelaine” only_single=”false” service=”bit.ly”]
I’ve been working with students quite a bit at the MIT Entrepreneurship Center this semester. One class of questions that keeps coming up surrounds how you actually take an idea and make something out of it. In particular, lots of technical people know how to do the bleeding edge research and get something up and running for the first time, then they get stumped at the point where they have to take an idea (represented in, say, 3 powerpoint slides) and a proof-of-concept technology demo, and take it all the way to V1 release.

Before you start any development work, it is important to frame the program from a business case and financial merit standpoint. The first question to ask is, what is the objective of this whole thing? Whatever the product or service you are trying to develop, you need to have a clear idea of what you are doing and why, and for what set of customers. You also need to clearly understand what you and/or other stakeholders like investors, partners and customers can expect to get out of it. If you haven’t figured that out, you are developing a technology, much less a product or service and especially not a new business around your proposed offerings.

Let’s take a new web based business as an example. Suppose we hypothetically say that “this whole thing” is a novel B2C consumer SaaS play. Some questions to ask at this stage include:

  • What is the market segment you want to target and why? (This forms the basis of your total available market)
  • What are the market problems of this target segment that will drive them to adopt your new offering? What problems are they facing – where are the pain points?
  • What are the defining characteristics of this segment (e.g. demographics breakdown, typical education, household income, all that good stuff”
  • What is the size of this market segment (by headcount, company count or some such – not by dollar amount)?
  • What is the product concept to solve this problem at the 50,000 feet level?
  • What is the likely size of the subsegment that will be addressable by the way you propose to solve this problem? (This forms the basis of the addressable market. For instance, if your offering involves an iPhone app, then your addressable market becomes the part of the target segment who owns an iPhone. Your total addressable market becomes limited by the penetration of someone else’s product or service.)
  • How are you proposing to charge for your product or services?
  • Now put the market sizing information, the pricing structure and so forth in a spreadsheet, run it out for 5 years and do a quick model to see whether you think the economics make sense. Don’t spend more than 30 minutes doing this – the purpose is to use this framework to help you think through factors that matter in the business case. This spreadsheet is mostly worthless as a tool to predict how your business will work because you have insufficient data at this point.
  • Having done all of the above, are you still happy with your idea, who you are serving and what you and other stakeholders will get out of x months of hard work and $y of investor money?

Now we all know the term “MRD” (a.k.a. “Market Requirements Document”) is no longer in vogue. Everybody wants to be fast, agile and not be tied down with piles of documentation. MRD is associated with the waterfall process and that’s very much frowned upon in this day and age. However, in my opinion you just don’t go into any major new initiative without doing some of this due diligence. I am against writing a large 35 page word document, but I do very much support thinking through these key points, gathering any and all facts you can get your hands on, and putting it all together in a powerpoint presentation, and using that as a communication vehicle to achieve alignment at all top level. Without this alignment a development program is pretty much doomed from the get-go – the engineers in the trenches could be working on large sections of code that are based on false assumptions and it would result in nothing but aggravation and frustration in the end.

Only after you have answered the above questions should you proceed to the development stage (which includes product requirements gathering, specifications, design, wireframing, then finally, coding. Coding comes last.) If you go through this thought process and can’t come to terms with what you find out, you should revamp the assumptions that led you to this new offering and pivot or adjust.

Now it is perfectly acceptable to go through this exercise and say “but we don’t know” or “the financials really doesn’t matter because this offering is a hook to help acquire customers for another more lucrative business”. But there is every difference between rushing ahead to do something without thinking through the implications and going into something knowing all the assumptions and facts. I’m a big fan of the latter – it usually leads to better results.

There is a lot more to discuss on how to go about answering my bulleted questions and how to actually plan and execute the development portion of the program. I will be filling in those posts over the next few weeks.

List of posts in this series:


Twitter Updates


%d bloggers like this: