One of areas I have focused in many years that I have been involved in building and taking enterprise software products to market is, bridging the code to customer gap. This really is the main reason for success or failure of products.
Inspiration
Inspiration for many of us building high tech products is offcourse Steve Jobs, and here is his take on bridging the code to customer gap
Enterprise Business Software vs Consumer Software – Gap is wider
Most enterprise software products have atleast 3-4 layers between the person who codes the software and the business user who uses the product. Here is the illustration of the chain.
Main challenge when we build products, especially business / enterprise software vs. consumer software, is often that we don’t have direct access to what the ultimate business user wants. Here are few more specific challenges that causes product success or failure
Customer side challenges
- Most people in IT department of customer do not have knowledge of what is required for their business, its many times their interpretation of problem or their perspective of a solution
- Business users who have the problem does not have time to invest in sharing the same
- Business users can articulate the problem but do not know how technology can solve it
- Business users cannot believe that problems can be solved in a different way – resistance to change
- Business users resist to share information, as it may cause them becoming redundant
- Business users and IT users have the knowledge of the problem but cannot influence their management to invest the time and money
- Many business think they are unique and different, and standard products cannot solve their problems
- Decision makers in Business and IT have different views on priorities and have conflict
- Cultural differences and perception without objective assessment of problem and solution that the product can solve – startup vs established vendor, geographical boundaries, technology preferences
Product company side challenges
- Focusing on what customer wants, usually solution provided by customer IT, rather than what’s the customers problem that needs to be solved by the product, which usually needs to come from customer’s business user
- Carried away by new technology, instead of understanding business impact it can make
- Lack of adequate specialized skills to build product – architecture, design, product management, developer, testing – assuming having just developers can lead to good products
- Thinking with a services mindset, basically just focusing and building for few customer requirements rather than for market, especially due to the $ temptations there
- Lack of understanding of how product gets sold
- Lack of business /domain knowledge with development team
- Complete lack of knowledge with sales /presales to show the value of the product
- Huge reliance on consultants to get the products implemented , to configure and/or customize
Tips on how we can bridge this gap
- Pilot with 2-3 key customers in the market you choose, where key Business person is involved – Get many user stories and business use cases defined from them
- Identify key people in customer side who has business + IT knowledge or get a team
- Culture of getting developers to focus on the problem that’s being solved, rather than just getting excited about technology and language
- Key developers/architect to meet business users instead of just IT
- Investing in acquiring the functional/industry/domain knowledge imparted to the development
- Training extensively the product capabilities – Level 1 for Sales, Level 2 for Presales and Level 3 for consultants
- Training development team how sales happens, who are the target users and what can help sell the product – listen into sales calls, customer sessions
- Adopting Agile development methodology
- Building a conscious product mindset into development team
- Building products that can be managed by business user without IT dependency
- Adopt design thinking methodology that helps understanding the business viability, technical feasibility and user desirability
Cloud helps in bridging this gap better
The biggest advantage for me with cloud is that it really helps in bridging this gap extensively, as the developer can see how the product is being used, they can quickly react and there is a far simpler code to customer connection.
Share your thoughts on this and experiences of any additional challenges you have come across or tips that you have in bridging this code to customer gap…..