Work log for a project manager:
On this day, our department R & D manager called me the past and told me that our team had to take over a new project. This project has been confirmed by the high-rise of customers and companies. The last time required to complete it is 2 months, It must be completed before June 5, and the contract is signed. Then, the R & D Manager handed me about the needs of the customer Fax. I have taken the demand and look at it.
[Xxx set-top box system demand]
You need to support HTML4.0 browsers, support JavaScript and Flash support Email support MP3 music format file playback support notepad, schedule, pending, calculator, English-Chinese dictionary, address book, etc. PIM application video on demand system Running system Requires 16M DOC and 32M RAM.
...
Because most of the PIM (Personal Information Manager program has been written, the VOD system is a product of partners, so I put the line of sights to how to build a better desktop system and integrate the application into a framework. Come.
We first asked the customer's demand for the interface, they replied to us, need to be similar to the Windows desktop style, and email gives us a picture. Fortunately, our original interface is this style and does not need too much modification. I think this project is not big, it is expected to be completed within 2 months.
I probably made a recent plan. First of all, we must conduct a deep discussion on desktop systems and users, take out a solution that makes us proud, let customers satisfied; then consider which technology is used, and the software design; Code implementation.
Although time is urgent, I am still preparing to take out the user's interaction design within 3 to 4 weeks. During this time, we have not stopped in the discussion. Everyone put forward a lot of good insights and almost crazy ideas, and we also refer to some information, including the computer magazine, an article describing Sui (Social User Interface) There is also a "breaking technology cage" (a book that specializes in interactive design). During the period, we also discussed the integrated application and the construction of the UI system. In the end, we decided:
Using XML as a configuration scheme for desktop systems, providing strong customizable, expandable. Netscape4.76 is used as our browser. Using Browser to implement Webmail. Adopt some ideas of Sui, join a desktop wizard program. To support better desktop features, the Always on TOP properties are supported by the Elf program. The MP3 and VOD programs are used as a Plugin for Netscape.
Then, I probably expected the arrangement of workload and human resources:
1. XML parser (based on SAX XML analysis): 1 month
2. Window manager (including XML-based configurable, and support always in front): 2 people
3. Desktop Elf Procedure: 1 month
4. MP3 program: 2 people
5. System integration: 1 person
6. System Test: 1 person
(Note: In the estimated subconscious, every week is working seven days).
But now I have only 5 people, and my people now have allocated them into each project. At the project seminar, I put forward my resources and time issues to the manager of the business unit. The reply I got is that time can't change, May 1st, so there is six weeks; then, put my group member Lee from another project (longer) to my project, responsible Window manager. In the end, my project team is composed of 4 people, a part-time student John (the level is good, when we discuss interaction design, you will start preparing the XML parser's pre-work), Lee is responsible for the window management section of the desktop system, Huang Responsible for the development of cooperative partners and integrated VOD systems, I am responsible for desktop elves program and overall system design work. Then we start working. (At this time, John has completed his XML parser.)
First we examined the implementation technology of these features, generally designed the work: the architecture of the desktop system, module division, and module relationship (including desktop configuration and window management, respectively, respectively by John and Lee); consider Netscape's operation mode; how to make MP3, VODs and Netscape combine problems. At this time, there is another week of past, and we have a full 5 weeks. Rush!
John and Lee and I work in May 1 week, during the company to eat, every day is overwhelming, then sleep during the day, I will go to a small billiard together in the afternoon. We also changed the best display in the company, this feeling is great. Soon, after the May Day holiday, John and Lee's modules were basically completed, and the function of my desktop wizard is basically realized.
At this time, the user has participated in an exhibition in foreign countries, and the original idea has a new idea and sent back to some pictures on our exhibition. It should be recognized that foreign design is indeed excellent. We are responsible for the salesperson of this project to make a commitment to customers without consulting with me, OK, according to this, just change the picture. In fact, this is not a problem that the picture is changed, and you need to make a small code change in the desktop configuration management section. I would like to make an objection, but it is already late. Ok, re-design and encode, so because the original design flexibility is relatively large, there is no injury to the bone. However, the rework still spent a few days.
At this time, the expected situation has occurred, John adjusts due to the topics of the instructor, and now you must spend the time in his graduation design, only a few hours at night, you can work on Saturday. .
At the same time, the desktop system enters the integrated phase. First of all, it is found that Lee and John have not fully considered that two people's modules are working in a process. The foundation of their original design is parallel, this has to spend 3 days, Treating two people's interfaces, and the program can finally run. However, the desktop system is very unstable, often developing Core Dump, bug is randomly appearing and there is no location that it happens, and the GDB report is in the Memory Management section of GLIBC. This bug is greatly plagued us, and we spent a day, 24 hours a day, continuous debugging and inspection code finally discovered the error (I will talk about this error in the later code review). Unfortunately, when John is ready to backup (TAR GZ), due to the continuous combat spirit, the wrong deletion of the newly modified code, this has to spend more than 3 hours, on the basis of the last backup Re-modify and verify. After this bug is resolved, we want to submit the desktop system to the system testing department for testing. However, the test department rejected the request for our single application test, the reason is that they only accept the product test, this single application cannot perform system testing, and this test should be completed by us. This makes me a big fire, I insist that the system test department should test a single program, so in time, it is timely discovered that bugs (instead of making the bug surges together) help us save development time. In the end, everyone is not happy.
We integrate Netscape and desktops, and the elf program have found a very serious problem. Due to our previous design (in order to save memory, it is also possible to perform multiple Netscape in parallel to multiple applications, but not to start Netscape new window in the operation in the operation. However, the Netscape program itself often rigid because it is inactive (often in the network access process, doubting is the result of the Netscape program internal key code area mutual exclusive, and all Netscape window blocks, resulting in the application of zombie, switching. Moreover, this external control has been hardcoded in the module, and this method will bring a lot of code modification. We have revised the logical relationship of the call, and the situation has improved.
During this period, the partner's VOD program should also be in place. However, unfortunately, due to the mergers and acquisitions of the company where the partner is located, the time delivered is greatly postponed. Huang found that the VOD program often crashes on the test board, Huang maintains the contact of the company, and finally solves the problem.
The next is the integration of the entire system. He suddenly found that the original Widget-XXX1.0 is used by another MP3 player provided by the multimedia group, and we use its 2.0 version, and because the two versions have a big The difference between architecture, plus this MP3 program uses many version 1.0 released, which is very difficult. The author of this program is also a part-time staff, and has left the company, I have been in contact with him, his code doesn't have any comments, and there is no left any relevant design document. We must decide to rewrite, I spent 4 days and 3 nights finally completed the MP3 program.
At this time, it has been on June 5. We tell the business manager and work has completed 99%, just integrate. At the time of integration, some accidents have also happened: the small system's shell's b shell is different. Some scripts need to be adjusted; the elves run is too slow, this is a big relationship with system resources, Finally, I have to cancel this wizard; Netscape is frequent in the case of tension and CPU, and the situation of zombie has occurred frequently ... June 12, the integration still has not finally completed, we have greatly envisaged the equity Try to make the system basically run normal. In the end, on June 19, we submit a scarred system to the system testing department.
The system test department conducted a 4-day test, and then used two days to make the Bug we have necessary to fix it, the rest as a restricted bug, submitted to the user on June 26. We am surprised to find that the original customer is not strong for the reactions that cannot be delivered on June 5, which let us start to suspect that the dead line of June 5th is?
Shortly after receiving the product, I gave up this product ...