14.04.2014

I am just IT geek doing his job! Don’t bother me with vision or business!

Why could be unknown vision and strategy any problem? Why should production people care? This is management topic, right?

  • I am developer/IT specialist just doing my job.
  • I do not care about business and management stuff.
  • This is management task, I am just doing my job!

These are the typical answers I usually hear from production people. And the same guy is later on screaming something like this: “How can be customer dissatisfied, we deliver exactly what they wanted!” But is it really what customer needed to support HIS daily tasks? Usually not! It is our problem to uncover REAL customer needs and mine it from the customer. They usually do not know what they need or they do but we do not understand customer business language and the fore require exact and precise documentation… Do you agree?

And of course, if customer does not see any value, he does not want to pay for it and therefore try to decrease the costs… Why to pay for this crappy IT service/product that does not have the functionalities we really need. And IT vendor is not asking us for details. They wait until we come and say what EXACTLY we need. But wait isn’t this their job we pay them for? How can we IT guys deliver exactly what customer needs? We need to:

  • understand their needs and business: how exactly end users use our product on a daily basis? Do I know and understand their daily tasks?
  • ask them and frequently verify our as well as their understanding on working demo.

If you still do not know and understand why you should know something like product or service vision, just try to answer following questions:

  • Based on what do you decide on acceptance or rejection of new customer requirement?
  • According to what do you design IT product/service architecture?
  • Based on what do you make daily design decisions?
  • Based on what do you decide whether to fix incident immediately or wait a bit and prolong the resolution time not to repeat it?

One of the right answers should be the product/service vision, the direction where we want to be, the customer segment and basic features and scenarios of our product.

Support and maintenance people as well as developers usually complain about overloading tasks. But again, one of the key root causes is missing product visionwe can use for daily decisions. Having clear product vision supported by basic business scenarios and list of application features is necessary to approve and (design and) implement just needed features. We will not accept contradicting features making the usage complicated and code base more complex and error-prone.

Missing or unclear product visions (customer need) is usually the reason for accepting low priority features or even features contradicting the original supported business scenarios! This is what usually happens in the practice. We do every feature to every customer. Nobody knows what the core product is and nobody wants to say NO to customer. Why? YES to all requests means current income that is visible. The long term losses caused by exponentially increasing code base, contradicting features, complicated testing, error finding, maintenance and hard end user usage are not visible directly in money. But this invisible impact causes the overload and money losses.

What can we do? How to mitigate the impact and improve the current status? Stop for a while and start to say NO to contradicting features. How to find what the contradicting features are? Clarify the following with the Product/Service Owner and customer:

  • Who is our customer? Write down the roles, personas, typical users and their daily tasks, problems, needs. The answer cannot be “everybody” to bring a specific and visible value.
  • How and for what they use our product/service (from business perspective, using business language! ;))
  • Ask the customer what he perceives as a value he is willing to pay for? Value is not the longest list of features. The better is just one simple feature, if it exactly fits the need. What you perceive as a value can be seen by the customer as a must.
  • Write down or draw basic business scenario your product/service supports and share it with the team (the best is also draw or describe it together).
  • Define basic and priority functionalities that make this business scenarios realized in your product/service.
  • Learn to say NO to requirements outside this vision (but use them to rethink the vision, maybe the trend on the market is changing).
  • Continuously (the length of the interval would differ case by case) rethink and update the vision based on the customer and market changing needs.

Every developer, IT specialist, tester, database guru, Service Desk agent, simply everybody  in daily production and development should know the vision and customer need (value) is. Otherwise we are not able to deliver what the customer really needs! IT is no more added value but rather a must supporting majority of enterprise operations. The more and the better IT supports the business, the more it is perceived as a value and proactive IT vendor behavior. You know, the “proactive” buzzword is mentioned by customers for years, and finally we know what is really means.

Despite the mentioned facts, you can still decide not to care about the value and customer needs. You could still require detailed requirements and no communication to customer at all. This is perfectly ok, but you need to become reconciled to lower salary, ongoing cost pressure, possible lay-offs and also less interesting job.

Update from 15.4. 2014 (based on social networks discussions): this article describes the need of understanding customer needs and value for him. We do not ask customer for the solution. Of course, they do not know the solution, but they are able to describe their daily pain and based on it we can see the patterns, where the need is. Finding the solution fulfilling customer need is our job, job of IT guys. The need can be identified and understood regardless of the distance between the customer and delivery team. Even if customer is 1000 km far away it depends whether we try to identify the need or not. What is important is to know what is our customer doing. Is it steel, bank, pharmacy, insurance company? How and for what do they use our product, service? Of course, the best solution is to see directly end users using our product, but if customer is in US and delivery team in India, partial solution is to observe similar (e.g. local) company.

Steve Jobs is often mentioned as an example of visionary who does not even ask people, he just knew, proposed and delivered. He did not ask potential customers, he did not conducted marketing researches. But he has had (either consciously or unconsciously) very deep knowledge about customer needs. This was the reason for not asking. 

This article is also focused on value delivery and evolution in case of existing services and products (so called sustaining innovation). We do not focus on new products and services design and development where the customer segment and business models are not known yet (so called disruptive innovation). Moreover, also in case of disruptive innovation we need to verify our idea and hypothesis with the market and customers and pivot if it does not reflect the needs – see e.g. Lean startup method.

Comment section

Leave a Reply

Your email address will not be published. Required fields are marked *