This is an attempt at making requirements elicitation more efficient and to help get the bigger picture. Software, whether it is explicitly said or not, makes an impact on the business it is being used in. Value of the software is driven by that magic number provided by the Return On Investment (ROI). So, even if the customer is an individual treat him/her as a business. This can bring out the standing and significance of the software in the business.
What business are we talking about?
A software is typically looked at as a solution to a problem. This problem lies in its own problem domain which lies in the business. The business involves much more than your customer. It involves your customer’s customers, your customer’s vendors, shareholders, other stakeholders and of course your customer’s competitors. A business also plays are role in the entire supply chain. A business interacts with its customers, interacts with other businesses, probably with customers of its competitors. A business is a system with other subsystems in it, in which people are involved. Any software, whatever its scope, used in any part of any subsystem has the potential of making an impact on the entire system and eventually making an impact on the supply chain. If the software does not make a difference to the entire system, then why invest in it? Accounting department of a company can want an accounting software. But if using it does not affect the business of the company, is it really useful? Meaning of usefullness can change when you consider this business.
The business gets its ROI only when it can leverage the software to improve its standing in the entire supply chain. This can be direct or indirect. This business is a different animal than your customer. It is affected by more factors, it runs under more restrictions and it also affects more factors. To be able to get a handle on these factors, it is imperative to understand and treat your customer as a business.
What factors are we talking about?
Business, being a generic term, lets look at its generic factors.
The software affects the peripheral businesses or subsystems, along with the problem it is supposed to solve. A manufacturing unit can improve efficiency of the production department, however, this efficiency affect the business only if it propagates through the delivery systems. Sometimes, an improved production department can stock up the inventory system which can turn into a cost centre. The production efficiency is also only as good as the efficiency of the business providing the raw materials. If this is realised earlier in the stage appropriate solutions can be identified for the possible problems caused by localized optimization.
The real benefit lies in overal optimization, which looks at the bigger picture and finds solution in the bigger picture. This factor can help us in tying features of the software to benefits to the business, without the middlemen of departments or localized cells. Somehwere there also lies the answer for ROI.
A business inherently involves people. With people come their skillsets, their ability to learn and their questions. Software is not only about development, it is also about training, it is about making the users use the software in a right way. This can happen only if their skillsets are considered. The business perspective highlights this factor which is missed a lot of times.
People are a form of current investments. There can be many others like using existing real estate, expertise and even softwares. A software initiative can consider to use them instead of requiring new investments.
Growth and Dynamics
A business wants to grow, wants to scale up, wants to do more things. The software should not be an impediment. There is no way of predicting future requirements, but the software design can include provisions for growth and scalability. Website for a newspaper, that has a thousand readers today, but expects five thousand in future, should be able to handle this scalability. An overhaul of the website for this purpose can turn about to be too expensive. This can be achieved by querying the roadmap or vision or goals of the business.
Last but not the least, a business operates under a variety of restrictions. Timelines, financial budgets and even the market trends factor into the various tasks that a business carries out. These restrictions percolate to the software initiative. Eventually, each of the restrictions on the software project are born out of some real-life business restriction. This realization can help us understand the impact of breaking any one of them. It can make us look for a better solution that can comply with all the restrictions. If complying with all is not possible, it can at least give us time to prepare for the eventuality.
Still Be Personal
Treating the customer as a business sounds impersonal. Being personal does not mean involving personal problems, but giving personal attention to the customer. Labelling the customer in a category of other customers and giving a generic treatment is impersonal. Every customer, every business and every project is different. Realizing this, treating them different and giving them personalized solutions is being personal, and this can happen only when you can deliver something that brings in positive results for the entire business. And this can happen only when you treat your customer, not as an individual, not as a group, but as a business.
Technorati tags: customer as business
Copyright Abhijit Nadgouda.