Then, can the engineering system development method ensure the success of MIS system development? The answer is no, there are many examples of failed MIS systems, and their development has also adopted the engineering method, or claimed to have adopted this method. But as a result, after investing a lot of money, the system can't achieve the expected goal and meet the needs of users, so that users doubt whether the project should be developed or whether the selected hardware, software and development tools are appropriate. What's the problem? Through the analysis of some failed MIS systems, the author finds that the problem lies not in the development method itself and the choice of software and hardware, but in the implementation of the development method, that is, mainly in the management of development projects.
Any kind of development method is ultimately implemented by people, and people will inevitably encounter many project management problems during the implementation of development work. How to treat and solve these problems correctly is directly related to the success or failure of MIS system development. At present, although there are many discussions about project management in MIS system development, most of them are limited to the discussion of ideal development model in ideal development environment. However, the actual development environment and development model are different and influenced by various objective factors. Ignoring these factors, or avoiding and not solving the existing problems, will inevitably lead to the imperfection or even failure of the development work. This paper aims to discuss how to deal with the relationship between some important factors in the actual MIS system development, analyze the contradictions in project management, reveal the existing problems and explore the solutions.
What is the project management of MIS system development?
The project management of MIS system development is a management practice based on the theory of management science and the reality of MIS system development to ensure the smooth implementation of engineering system development methods. It includes project evaluation and feasibility analysis, personnel management, schedule management and cost control in MIS system development.
Roles and responsibilities in project development
The development of a MIS system needs the cooperation of users and developers. In the development of MIS system, developers and users play different roles. The main roles are:
User's project manager: He is the organizer of the development project, responsible for the planning of the development project, the stage acceptance of the system, the monitoring of the overall progress of the system, the use of funds, the coordination with the developer's project manager, and the organization and training of user personnel.
Client business personnel: the proposer of MIS system requirements and the end user of MIS system. They are the ultimate judges of the success of application system development.
User decision-making layer: the final decision-making body of MIS system development, and the decision-making layer should make decisions on the start of MIS system development projects, the budget of funds and the overall goals to be achieved by the system. Its decision-making is directly related to the successful development and smooth implementation of MIS system.
Developer's project manager: responsible for project planning, organizing and dispatching the developer, checking the development progress and coordinating with the user's project manager.
Software programmer of the developer: develop the system according to the needs of users and the plan and progress of the project.
Treatment of various problems and relationships in project management
1, the relationship between users and developers
Users and developers are the unity of opposites, and both want to do a good job in development projects. But users may lack a comprehensive understanding of computer system engineering, such as engineering organization; However, developers do not fully understand the needs and details of users, which makes users and developers understand the project differently from the beginning. However, this difference in knowledge and understanding often does not show up in the early stage of development. After the system development, both parties found that this difference made the developed system far from the actual demand. Therefore, the important goal of MIS system development project management is to establish an environment that is convenient for developers and users to communicate. In the stage of system requirements analysis, in-depth communication between developers and users is the key to the success of the project. But this kind of communication is often difficult to communicate because of various misunderstandings between the two sides.
In the requirement analysis stage, the developer's analyst always focuses on the overall requirements of the whole system first, and will not make too much investigation on the specific details. When users ask for some details, developers often say "these questions will be discussed later", but unfortunately, they may never talk about this issue again. When the user thinks that these requirements have been put forward to the developer, the developer does not consider them at all. Therefore, in the early stage of development, the user's project manager should record and sort out these requirements. After the developer completes the overall requirements analysis of the system, the project manager should put forward a further, deeper, more detailed and more specific requirements analysis of the system in time to solve the problem that the developer has to "leave it for later discussion".
When some requirements have not been determined, the client project manager often says, "We still have to consider these requirements, but you can do it according to the current model first." Unfortunately, developers often regard the current working mode as a future and definite requirement to design the development system, but forget the uncertain factors of users in this requirement. Later, when users asked it to change, the convenience of development fell into a dilemma. Therefore, users' managers should make the requirements clear as far as possible, and put forward several possible implementation schemes for developers' reference, so as to ensure that developers can design uncertain factors into flexible functions when designing the system.
The developer said: "The user side has approved the demand analysis report, which shows that we have thoroughly understood the needs of the user side."
The user side said, "Although I don't quite understand some technical terms in the demand analysis report, they can write this report and certainly have a deep understanding of our needs."
In fact, the requirement analysis report is a written expression of the system requirements. Because the demand analysis report is written from the perspective of software design, it is often difficult for users with less computer background knowledge to understand, find out the discrepancy between the demand report and the actual demand, and make constructive suggestions. Especially those poorly written demand analysis reports, users are even more confused.
Therefore, the user's project manager must ask the developer to explain the requirement analysis report in more detail, so that the user can accurately understand the content of the requirement analysis report and find the deviation between the requirement and the reality as soon as possible. This is also a summary and confirmation of the demand analysis work.
The user said: "The computer should be able to achieve this function, why not?" Users often overestimate the ability of computer software development tools, always think that it will achieve any required function, and expect too much, so they are often disappointed with the designed software. In fact, any technology has its limitations, and computer systems are no exception. The final result of system development can only achieve limited goals. Therefore, both parties should formulate the ultimate goal of the system in detail, and must not generalize the requirements in some simple terms, such as "realizing office automation" and "establishing a modern MIS system", which can only lead to misunderstanding of the MIS system by users.
In a word, the relationship between users and developers is one of the most important relationships to be dealt with in project management, and increasing communication and reducing misunderstanding is the key to handle this relationship well. Therefore, the project manager should effectively arrange the communication between the developer's software personnel and the demander's users to ensure the smooth communication channels. In communication, users should try to avoid vague requirements, while developers should put an end to perfunctory and muddled behavior.
2. The relationship between the user's project manager and the user (business personnel) and the decision maker.
The relationship between the user's project manager and the system user is very subtle. On the one hand, MIS system makes users reduce their work intensity and improve their work efficiency; On the other hand, MIS system has changed the current work management mode, making users lose some flexibility and randomness. However, the success of MIS system depends on the user's inspection. No matter how good the system is, it can't be said to be successful if users are unwilling to use it. Especially in the trial operation stage of MIS system, users' use of MIS system is actually an in-depth test of the system, and they will find many program errors that were missed in the software test, which will help developers to further improve the software functions and improve the practicability, stability and reliability of the software. Therefore, how to encourage users to use MIS system and help them overcome the dilemma of the new working mode has become one of the tasks of project management.
The user's decision maker is the leader of the user project manager. Because administrative means is one of the powerful means to promote the use of MIS system, his support for the project is the key to the success of MIS system development and the guarantee for its smooth implementation. Therefore, the user's project manager should communicate with the decision-makers at any time and get their full support, which is also a crucial factor to ensure the success of software development and use.
Any new way of working is bound to have its adaptation and improvement process, and the project managers, decision makers and users at the client side must fully realize this. When problems occur, the user's project manager should quickly analyze the problems and correctly judge which problems are caused by the inadaptability to the new working mode, which problems are caused by improper operation and which problems are caused by the imperfection of the MIS system itself. For the problems caused by not adapting to the new working mode, the project manager should guide users to adapt to the new working mode quickly, and if necessary, persuade the user decision-making level to take administrative measures to promote implementation; For those problems caused by improper operation methods, the project manager should train users to operate the system correctly; For those problems caused by the imperfection of the MIS system itself, the project manager should coordinate with the developers quickly and eliminate the errors in the system as soon as possible.
At the beginning of the trial operation of the system, users often complained: "This interface is inconvenient and not easy to use."
In software interface design, user managers should pay attention to remind developers of its practicality, simplicity and operability, pay attention to the characteristics of the current working mode, and take care of users' work habits to reduce the difficulty of using the system. This will be conducive to the smooth implementation of the new system and the smooth transition of working methods.
To sum up, the project manager always pays attention to the understanding and support of the decision-making level; It is necessary to help users adapt to the new working mode as soon as possible and help them solve the problems encountered in use; And make the system constantly improve in use.
3. The relationship between project manager and software programmer
How to deal with the relationship between project manager and software programmer will directly affect the enthusiasm of software programmers. In MIS project development, the project manager is often caught between two parties. On the one hand, users, on the other hand, software programmers. When users ask questions about the system and ask for modification, apart from the simplest interface modification, software programmers will always find out various reasons (such as affecting the progress, disrupting the system structure, affecting performance, etc.). ) to deny it. This is the most common reason for the contradiction between developers and users.
You can often hear software programmers complain:
"The needs of users are always changing, and my development progress is also dragging."
"This function cannot be added because it is not in the requirements analysis report."
"We will correct this mistake in a few days."
As a project manager, we should not only meet the changing needs of users, but also fully mobilize the enthusiasm of developers. Due to many factors, such as inaccurate system analysis, changes in user business requirements, etc. Developers will be required to modify the program. As a project manager, we should remind the developer of the inevitability of program modification as soon as possible, and the user manager should intervene in the development work as soon as possible in the actual operation process, and find and solve problems in time. In the trial operation stage of the system, the demand changes constantly put forward by users are summarized and sorted out, and the problems are concentrated to discuss solutions with developers. This not only meets the needs of users for system changes, but also does not interrupt the normal development work of developers irregularly, leaving developers in a state of constant revision and impatience.
4, the relationship between hardware and software
The hardware and software of MIS system are important parts of MIS system. However, at present, in the construction of MIS system, hard is often more important than soft.
I can always hear the client: "The equipment should be the best, the most advanced, and in one step."
"How can software development fees be so expensive?"
According to statistics, at present, domestic users' investment in hardware (including network) accounts for 78% of the total investment, while software investment only accounts for 22%. Indeed, advanced equipment and excellent technical performance are helpful to improve the performance of MIS system. However, it is debatable whether the construction of MIS system should pursue high, new, sharp and one-step realization. Today, with the rapid development of computer technology, computer manufacturers are constantly introducing new products, and their cost performance is much better than the old products. Take hard disk technology as an example: the price of 1994 1 GB hard disk is equivalent to the price of 1997 9 GB hard disk, which shows that the idea of one-step implementation is unrealistic. At the same time, the system performance exceeds the application requirements too much, which is actually a waste. It's like killing a chicken with an ox knife. Therefore, "unified planning and step-by-step implementation" is the principle that project managers should pay attention to. In planning, business development and technological progress should be seriously considered. In the implementation, the emphasis of hardware equipment should always be on the stability, reliability and expansibility of the equipment.
If there is a phenomenon of spending money on hardware equipment and pursuing one step at a time, users are often a bit too harsh in software development. As we all know, a good and high-quality MIS system is developed by software programmers. High quality here refers to the availability, convenience of use, maintainability and upgradeability of software, which is a necessary condition for software promotion. With too little investment, developers can't devote themselves to the development of a project. When developers think that their input is equal to the input of users, they are unwilling to continue to invest energy, which leads to the development work being anticlimactic. MIS system can't achieve the expected effect, and even the best hardware can't play its role. Of course, it is difficult for users to evaluate the development factors such as engineering organization, engineering quantity calculation and technical content analysis, so it is difficult to correctly calculate the reasonable software development price. The user's project management personnel can hire relevant experts or refer to the development of the same industry at home and abroad for approval.
In the control of development cost, users should use the powerful weapon of price reasonably, and the payment method and terms should be strictly linked with the development progress, software quality and software maintenance service quality, making it a means to urge and restrain developers.
5, the relationship between performance and flexibility
Performance and flexibility are a pair of contradictions in system design, which seems to be something that system designers rather than project managers should consider. But in fact, many domestic MIS failures are related to the improper handling of this contradiction. Therefore, we think that the relationship between performance and flexibility should be fully considered in project management, and remind system designers to deal with this contradiction at any time. Performance is an important factor in system availability, and it is hard to imagine that a system with slow response speed can be recognized by end users. Flexibility is an important factor in the system's ability to adapt to changes, and a system that can't adapt to changes in working mode is also difficult to implement. However, according to the traditional MIS system theory, increasing flexibility will increase system complexity and reduce system performance. So, how should we treat this contradiction?
In the current situation, flexibility is the main contradiction relative to system performance for the following reasons:
(1) At present, the management mode of most companies is in the exploratory stage, and there are many factors that may cause changes. Therefore, the MIS system designed according to the current management mode will face the test of using the change of company management mode. Therefore, the current MIS system should fully consider these uncertain factors when designing and adapt to these changes flexibly.
(2) Due to the development of computer technology, the speed of computer hardware is rapidly improved, and the system performance is greatly improved, so the decrease of system performance caused by the increase of flexibility is not obvious.
When the software programmer says "In order to improve the running speed, we assume that a parameter is constant" and "If we want to add a query method, we may have to change the structure of the table", the project manager should pay enough attention to it. Remind software programmers to fully consider the flexibility of user requirements and try to avoid sacrificing system flexibility to improve system performance in software design. On the contrary, we should improve the system performance by optimizing the program structure in program design.
There are mature engineering methods for MIS system development. However, the engineering development method still can't guarantee its success, and it needs perfect project management methods to ensure it. The development environment and implementation environment of each project are different. So the problems in project management are different. But the relationship to be handled in project management is basically the same. How to deal with these relationships is an important task for the project manager. This paper discusses the relationships that need to be dealt with in project management and the problems that are often encountered, hoping to help project managers and system developers. The author believes that with the continuous improvement of project management methods, it will certainly provide further guarantee for the success of MIS development.