Two days ago wrote "Independent Development and the War of soldiers" analysis of the advantages and disadvantages of independent development, got a lot of friends in the park feedback, but I think there is a lot of things not clear, there may be many friends also with me in the company's IT department, has its own research and development team has a lot of outsourcing systems or products. IT department in fact in many cases for a company in fact, in many cases is a very embarrassing department, more often in the boss's impression is a tube machine, pipe system department, and so-called to make a point of achievement is to invest a lot of costs, and so-called innovation is nonsense. Therefore, I feel that there are many problems in the research and development of an IT department, and these problems may be more closely related to the company's industry and decision-makers ' knowledge of information.
In fact, as the group's IT company's research and development team has been set up for more than three years now (the company's time to be longer), I happened to be fortunate to experience this three-year transformation phase, from the original pure PHP team to the Pure Java team to java+. NET team almost every year will have big adjustment, large personnel structure change, can say in this three years of time planted a lot of somersault, and our own impression is the company in the adjustment, whether it is the target or personnel, the boss's impression is to cast so much money but no benefit output.
Take a look at the group it scenario:
boss: You see we have so many companies, there are so many needs, your IT side to make some system to solve these, for you will have their own independent development of the possibility, the internal company as your first batch of customers is it. In addition to the market now there are so many open-source products you integrate these products are not your own system. There are many things do not need to self-development, you make a platform to have a lot of people can help you to develop, saying that personal overdraft hands on the ipad with us, you see the ipad has so many software these are Apple written? No, that's what other people wrote for Apple, so there are so many smart people in the world, you can't hire them to work, but if you have a platform then they may be on your platform to serve you, you don't have to pay them, right. Well, let's make a platform, this platform to include XX, XX, xx, xx, xx, xx, xx, xx, xx, xx, XX, you see how long you can get out of it ....
it: boss This we have to evaluate the system function, workload, personnel, and some people in the last time you confessed the project to be done before you can draw out ...
boss: I tell you that this way of working is not possible, you can not finish the work you could split into a task package, yes, you can assign this task package to others, you can also set a price, our company through the task package to statistics wages and performance. As for the last project, don't do it, now this is a big concept to be able to cover the last one. So the staff of that project will be transferred from now on, OK. I don't think this is going to be too long, 7 days! All right. Why seven days, because God created a human being by 7 days. So every job will be broken down into seven days.
Two months later, the boss also informed the IT meeting, that. We now want to engage in a big XX platform, this platform can ooxxooxxooxx .... , you see your IT organizes the people to do this work from now on, weekly report to me ...
A year later, the boss asked it to submit an annual analysis report, reporting that just half of the bosses began to say that I had invested so much money to keep you hundreds of people, and did not make a few decent products to come out ... The first half month before the new year, the company began to lay off staff, the spring boss and think of another platform, and began to recruit Daoteng up ....
In fact, I think the contradiction is somewhat similar to "the main contradiction of our present stage is the contradiction between the growing demand of property documents and the relative backwardness of social production." ", the above scene in the boss raised a lot of current mainstream ideas, such as: Project product, platform interface, subcontracting, Internet and so on concepts. Because with the technology, products, concepts updated more and more quickly, many times as the company's internal it has been difficult to keep up with the mainstream technology, products, management methods. But as the mainstream technology or product spreads too fast, it is becoming increasingly difficult for the IT department to meet the boss's appetite, such as the boss just bought an ipad and wanted to work on it, and the previous system is actually a lot of incompatible, and the changes are laborious. Of course, in addition to the IT department, I think in many cases the company culture is mainly the decision-maker (boss) understanding is a lot of relationship. I think that as an in-house research and development team, there are several questions:
1. Insufficient investment
In fact, from a demand for self-development to a mature is a relatively long process, and in the meantime need to continue to invest in personnel, products to adjust to optimize. But in many cases, the company's decision-makers or business units see only the immediate benefits. If a project is more than half a year, it is difficult to get effective support.
2. Team Quality
We all know that "a penny a Penny", the project team and do the product actually from the personnel skills requirements are very big gap, but many companies often can not put so much resources to build product team, more under strict cost control under the difficult to recruit to meet the "product" requirements of personnel, If the person is not satisfied then there is no way to talk about the product.
3. No dominant authority
IT departments in the company are basically "second-rate" departments, so it is difficult to avoid the company or business unit strategic adjustment, many IT projects or personnel have to adjust for adjustment. And sometimes if it feels like some solution can actually serve the business, but without business support, there are many cases where it will be halfway through.
Of course, as IT department we certainly also hope to take up such a dilemma, after all, the value of information is not to deny, this is why the basic reason for existence. Preliminary considerations I think some of the following aspects are not available for reference or to draw lessons from:
1. Self-development decision-making principles
such as "self-development and the War of soldiers," said in fact, we are not all products or systems need to self-development or is worthy of self-development, I think if you want to decide to do independent development to do the main is to consider whether the main business direction in order to obtain long-term support, Also can accumulate and improve the corresponding business experience and value, as for the system itself has no ability to do or high cost-effective I think it is the second.
2. Foundation and accumulation are important
Many of the company's projects need to develop, then the development of the words I do not need a one to start from scratch, but not from PHP, JAVA,. NET whole batch of exchange, such a price is too high. To find the main direction, to manage the relevant code, documentation, of course, the most important is the team to be robust. And I've recently been thinking about the ability to improve the underlying platform with products like Microsoft SharePoint. So many times the development will not start from scratch. But the cost of the SP's staff may be questionable, but it should be a direction.
3. New transactions are small and fast
In addition to the daily it and research and development work to adopt a "small and fast" principle, think it is worth a try to quickly build a small team quickly release results, and in the company training.
4. Planning is important
Many of the company's it is not planning, or some only a year of planning, in fact it construction is a relatively long process. I think the main plan is more appropriate for a period of three years, and then there is a relatively detailed plan each year. And the plan must be supported by policymakers. Planning in addition to it and research and development issues in fact, but also to consider the non-IT staff training, software and hardware important upgrades and other matters. Like a full upgrade to Win7 or something like that. Otherwise you will develop the system physique to consider IE6 problem.
5. Is open source worth trying?
In addition to using some open source solutions, in-house projects, there is no way to open up their own research and development results in order to build communities and improve the possibilities of production. This way in the Internet company is more common, do not know whether this is suitable for enterprise research and development field.
Summarize
Well, I think I know and my idea is about the same, the above is only a small personal point of view, there may be a lot of exaggerated or not the composition of the spectrum, waiting to shoot bricks ....
Discussion on independent development and enterprise IT management