A time-to-market friendly approach to product development
Here is primer on technology selection and a good approach to selecting mix of tools and technologies for enterprise applications. In this blog, I’ll go over:
What tends to influence and how to handle and curtail the extent of intrusion by internal factors in an enterprise scenario?
I’ll then delve into what are some of the pitfalls that should be avoided to ensure that a decent realistic system is built well in time for the opportunity at hand or business drivers that sponsored the project at the first place.
Typically enterprises tend to get influenced by lot of inside facing aspects whenever a new application or system needs to be built.
1. The first one is the
and which division or department is going to build system. This is generally the department whose job is to service the customer base for which the system is intended
HOW TO HANDLE THE INFLUENCE OF Organization Structure:
Organization Structure happens to be the most non-technical but at the same time most influential factor.
- If you are part of management team deciding on the technologies to be used, then make sure that you take feedback from non-management participants to figure out the best technologies to be used.
- If you are a non-management part of the team, make sure air your views on technology selection no matter you have be asked for or not. In any case, the have to grab the bull y the horns sooner or later during of the project. It is better to be upfront in this situation.
2. The second factor is:
(a) type, (b) number and (c) quality of resources
available to build the system. This is sometimes a small and straight-forward team and sometimes more complicated when contractors or offshore contractors are given the task of building the system
a. Type – the type means the technical skill set that the resources currently have or want to use
b. Number -number refers to the number of resources available to work on the system
c. Quality – refers to the experience level of resources
HOW TO HANDLE THE INFLUENCE OF Engineering Team:
Engineering Team is ultimately responsible for building and delivering the product. Take their feedback during technology selection. However don’t get swayed by their technology leanings which are mostly governed by their comfort level with the technology. Ask them why they think a specific technology is more suited for the job. If their answer is different from the trivial answer -i.e. the comfort level or available skills in team- then only consider the technology.
- If you are part of management team deciding on the technologies to be used, then make sure that you take feedback from non-management participants to figure out the best technologies to be used
- If you are a non-managerial participant, make sure air your views on technology selection no matter you have be asked for or not. In any case, the engineers have to grab the bull by the horns sooner or later during of the project. It is better to be upfront in this situation.
3. The third factor is the
management team’s background
. Lot of corporations or there specific Engineering departments are sold out to Java and Open Source stack or Microsoft stack or Apple or Adobe based technologies. In such scenario, there is an affinity in management to stick to the same stack and leverage existing skill set as well as investments in infrastructure to the fullest.
HOW TO HANDLE THE INFLUENCE OF Management Team’s background:
Management Team in Engineering departments generally consists of Engineers who have graduated into management cadre over a period of time. Management team also tends to have strong likes and dislikes for technologies. They also have strong likes and dislikes for “buy versus build” situation. To mitigate the risk of likes and dislikes of management , it would be prudent to do the following:
- Do a POC if a new technology or framework needs to be tried
- Perform a cost-benefit analysis also for various options. The analysis should factor in salaries of resources for development-plus-maintenance of the system being built in case of buy versus build situation. Typically Enterprise tools also and need at least one full-time administrator and good mount of IT support in order to be successful.
Last but not the least, also check licensing of tools and frameworks before starting the development so that no additional costs are involved in using it. This, by no means, should be interpreted as certain types of licenses are big NO-NO. As long as the cost of license justifies the improved productivity or performance or time-to-market, it is worth it. In short, just stay legal upfront by checking the licensing and roping in legal department early on.