Since I wrote about how to get out of a software workshop and become a regular army for development, how to get out of a software Workshop: how to become a regular army for Development (II ), after the series of articles, I received comments from many netizens and asked questions from many netizens. Most people have already become project managers, and there are 2-3 or 5-6 people under them. A small number of students are still in school or have just graduated for 1-2 years. They ask questions about the language they want to learn and what are the core technologies.
According to my advice, many domestic software companies in China are mainly engaged in projects. If there is a single ticket, we can only rely on it if there is no one. After a long time, the boss will be able to cut people, and then recruit people. Therefore, a large number of companies do not have a Development Department (because in addition to sales, the development department does everything from development to implementation to support). Of course, there is no development department manager, and there is only a project manager. Not to mention the technical director and CTO. Even if I have a title as a technical director, I also want to give the customer a business card, and I have five to six people under my team. As a result of the project, the technical director also needs to code and implement it. It is actually a project manager.
In China, the term "Project Manager" is so common. Both the Implementation Project Manager and Development Project Manager are combined, collectively referred to as the project manager. Although development and implementation are different stages of software products, the focus of different stages is also different. However, since they are both project managers, their focus also has commonalities.
The project manager has the following responsibilities:
Project scope definition
Project plan formulation, decomposition, allocation, coordination, and reporting
Project Quality Control
Project requirement change control
Domestic project managers generally do not have the right to personnel and financial expenses. The boss will bring anyone to whom he assigns. He is just the most competent worker to process his work. Of course, there is no financial expense right. If you want to ask the customer for a meal, of course, you need to report to the boss (if your team wants to have a rest and entertainment meeting, they can only play the game online and want to have a meal for the team, but they cannot afford it ).
However, from the perspective of the status quo, the current domestic Project Manager cannot control the scope and requirements of the project. What the boss says is what the customer says, what the user says is what the customer can do, as long as he and his team can do it without exhausting or running the road, all they can do is accept the order. Of course, what to do and when to do it are not managed and controlled by the user. Of course, the project plan is formulated by the Project Manager, which is just a false one. The only thing left is project quality control: the quality of code development and implementation.
After receiving a lot of inquiries from netizens, I was asked about the use of the tool. (There are very few questions about the organizational structure and process, and I may feel that I cannot change it myself. I have no chance to implement it, you don't have to think about the reason, because you have to think about it ). Ask my current team what UML tools, what stress testing tools, what database design tools, what version management tools, what demand management tools, what progress management tools, what Bug management tools.
In their eyes, they may feel that a team, as long as they use advanced tools, will become an army equipped with machine guns. Just let our customers have an idea. As long as we use this ERP software, our management has taken a step, and our profitability will be improved. This idea is really strange. It is like a person who takes a dragon knife and does not cut down, but slashes himself. A knife from a good cook is in the hands of people who can't cook food. It's just a simple truth, but everyone is still imagining it.
Many people think that a formal development team should use rose, together, LoadRunner, powerdesigner, VSS, CVS, SVN, clearrequest, and so on.
But we didn't actually use these tools.
I have been working in a commercial software company and I deeply understand that my responsibility is to help the company maximize profits. The means to maximize profits are the minimum cost, the least people, the least time, and the simplest way to achieve the goal of the boss. The products with proper quality and functions are packaged, sell at the highest possible price. As long as you can make the money the boss wants to make and achieve the goal of the boss, as long as it does not affect this goal, it will not affect the big goal. It is inevitable that you have problems to solve, no problem. Which company has no conflicts, no interest groups, no problems, no complaints, some love, and some hate. This is the norm, not an exception. Therefore, the tools I use are generally used when I use almost all kinds of means, rather than for formal and formal purposes, but to solve the problem, it is a very effective solution and the simplest solution. I have never paid for face engineering.
The first problem we encountered was of course the software quality problem. Software Quality issues have led to implementation training, implementation and launch difficulties, difficulties in customer use, increased support costs, and increased support difficulty. Finally, the Implementation Department is unwilling to implement, the sales department is unwilling to sell, and the Support Department directly transfers the telephone to the Development Department. All people blame the Development Department for failing to do their jobs well or not. Of course, such a development department cannot be opened by the boss.
So I dropped my account to the master.
My first strategy was to set up a secondary developer (because he did not understand the customer's requirements, but did not understand the code after three times, so the code is full of loopholes. However, this guy is patient and a little lazy. It seems that lazy people are generally patient. However, I still have to wait a while and try to be a monk for a day. .), Ask him to perform technical support and testing.
In the past, many people in the Implementation Department called developers directly. The Support Department is also. The same is true for customers. The boss did not know the software or conduct in-depth research on the software, but he gave advice from the user's perspective. He called the developer directly to let the developer modify where he thought of the software, from the shortest font size to the most in-depth questions about business intelligence, the question is raised, and immediate changes are made to everyone else, including the customer. In this way, a developer cannot work and leaves the company.
After selecting a Development Department specialist for support, I will define the process. All requirements, no matter which department or customer, are directed to him. Even if someone calls the developer, including the boss, to the developer, the developer must talk about the requirement or problem to the technical support staff. I will arrange the Unified Development scheduling.
The developer stops working and can change the progress and priority according to my schedule. Support young man, the phone is starting to get blasted. Fortunately, my advice to the young man was that he had to record it first. Could he solve the problem? Could he solve it quickly? He looked at his abilities and didn't worry. Who was in a hurry? You told me. So the young man was given a reassurance.
The young man started using an Excel file. All questions raised by others are recorded. However, at the end of the process, there were different versions of Excel in my hand, in the young man's hand, In the developer's hand, and in the support staff's hand. They both said that this was modified, and that said it was not modified. It is impossible to say how many bugs there are.
So I went to the first tool, Bug Management System. Whether it is a bug, a requirement, a suggestion, or a question, anyone who wants to raise it will mention it here and record it at any time. Whether you are on a business trip or taking a shift in the Support Department, we will record it here. If no record is recorded, it will not be resolved.
As a result, the world is peaceful. After technical support and the efforts of developers, the storm went wrong. A conflict of interests is in a balance or may collapse at any time, causing the next conflict.
I assigned another important job to the support guy. Test. In order not to let you continue suffering, you must get stuck. If you don't get stuck on your own, the technical support in the future will be quite painful. The young man did a good job in testing to make him happy at work in the future. All tested bugs are recorded in the Bug Management System. Now, the workload and quality of developers have been quantified, and the workload and quality of support personnel have also been quantified, A lot of support work has been done for me to arrange plans and assessment personnel and apply for resources.
Therefore, a bug management tool can manage plans, progress, quality, requirements, and bugs, trace back, assess, and count the workload and quality of work. It is really necessary.
However, we found a problem. The customer's requirements are often misunderstood during the modification. Programmers develop programs at home one day, so they cannot understand what customers and implementers in the first line want to express. After the modification, the programmer felt that he had spent a lot of effort, but the implementers and customers were very angry. Finally, conflicts between developers and implementers continue.
How to clearly describe the requirements must be put on the agenda. Many inexperienced project managers are particularly confused at this step. UML tools, database design tools, and requirement management tools can all be used, and finally the problem has not been solved. I am tired of myself and my team.
I used the PPT + word + brain chart + Excel description method.
Because a lot of requirements come from that cross. Programmers often cannot think about this end. This is what people think about.
I wanted to be able to figure out a clue from the tens of millions of threads, so the brain Graph Software went on stage. Clearly shows the ins and outs of each branch.
When you describe a node, you can get started with the PPT. A single PPT is equivalent to an interface window. The slides on each page mimic menus, input boxes, and buttons. When you press the button, you can also jump to another PPT page, which is very similar to the software operation process.
The PPT allows programmers to intuitively see what the future software looks like. A detailed description of the PPT, such as fields, procedures, Special notes, and special controls, is described in word.
When there is a report function, you can use Excel to draw the report, so that programmers can enjoy it.
In this way, from the table and, from the summary to the details, from the branch to the association, all express OK. Customers can understand, programmers can understand, implementers can understand, and bosses can understand (this is very important. Although the boss doesn't understand the software, he wants to interfere with the software. If he doesn't understand it, he doesn't know what the guys are doing, whether they are actually working or being lazy, whether the workload is big or small, the software functions are complex or simple. If the boss doesn't understand, the boss will be very cautious in giving resources and time, so he is always cautious. Many project managers ignore this. I still use UML for the show. No one can understand it. No one can use it. It takes time to draw those nice pictures. This is the status quo in China. When we stand on the site, we will sing the songs of the mountain. It is our fundamental task to effectively solve the problem and increase sales revenue. We will not complain about it, and we will not be imagining how to solve the problem ).
As a result, the boss's balance began to tilt toward the development department. Resources, of course, it is easy to apply.
Drawing these Excel + PPT + brain map + word is of course time consuming (I did not find it until I introduced Japanese outsourcing development process management, our solution is very similar to that of the Japanese who emphasize quality ). Therefore, I applied for a project manager who used to implement the application (I could write some SQL statements, query data from the database, and adjust a report. It is too strong.) transferred to the Development Department to write these files.
The Development Department began to flourish. The Project Manager, developer, test and technical support are in place. Tools have also been used to go deep into every department of the company. Each department follows the standard description method and standard process. Now, even the implementers will draw an Excel report format and PPT interface.
If the software is in place, it needs to be packaged; otherwise, the software will not sell well. This is a natural thing. Everything should be a collection. All pretty girls like it.
For software packaging, the first step is to help files, video operations, solutions, product introduction, and demonstration systems. Of course, the copywriting staff will soon be in place. Art beautification is also in place. What can we do to make more money? The boss is not a fool. Who would like to sell a product with dirt.
With good products, it is also a problem not to go out of the Development Department. Only internal personnel know how to use the function and how to meet the customer's needs. Other departments do not know how to use the function. Many people do not know how new features and old features change. The document has been written, and the update instructions are also available, that is, no one can read them. Or call technical support. The technical support can only be explained continuously. The problem arises again.
Copywriting. Each version is released, features are updated, and texts are repeatedly organized for centralized training, training, and batch training.
As a result, the world is peaceful.
Since then, developers and implementers have lived a happy life.
Follow-up notes:
Many netizens commented that the boss could not provide resources. I wrote too well.
Well, if you look for resources from your boss after reading my article, you will be rushed back. Because, if you do not do anything, you start to need resources.
Some people also said that the company is able to work with these guns, but the garlic. It is impossible to send someone to you.
Well, if your goal is not to make more money for the boss, the boss will not be able to give you a little bit or even kill you. If you think that I am not waiting for such a boss, most of the companies in China will be like this unless you quit. If you want to do this, do not mix the day. It is basically impossible to let the boss shut down the company. Besides, it is no good for you to close your boss.
Take your first step. If you do not take the first step, you will think this is an impossible task.
To live a happy life, start from now on.