Software engineering personal summary blog

Workers soft personal summary blog

The beginning of the semester questions blog

For answers to questions raised by the original

  • Indeed, if the pair programming in such a form, bug would greatly reduce the probability of occurrence, but also help to comply with a variety of programming specifications. However, this approach will undoubtedly give up "parallel" advantage, especially when performing simple logic to the lower part of the difficulty, there is not a high probability of a bug, if both the division of labor at the same time, no doubt greatly enhance the speed of completion. My question is, whether the pair programming more suitable for learning and training process uses? Junction input-output ratio of higher programming can really take in the actual production of it?

    Answer: After a semester of practice, I think the pair programming in the face of complex issues, complex algorithms is poor, or individual state does have a positive impact on efficiency. Because in practical engineering, a function or a page there was a small bug, often very difficult to find, often in the on-line product, happened to have had an impact on the user's someone to discover after the feedback.

    Even in the examination found a BUG, ​​BUG phenomenon specific reason you want to locate a line of code also takes a very large amount of time. In this case, the junction may be very effective at reducing the generation of the programming bug manner.

  • Changes in demand has been one of the most difficult issues Party. I understand the principle to adapt to changing needs by means of rapid iterative agile process, however, for those who have decided on a change, we need to realize complete, still need to overthrow the design and implementation of the original, and then make changes. For this type have been confirmed, and achieve complete change of demand, I think it is therefore somewhat unreasonable. So in actual production, the demand for this change, should unconditionally accept it? Or to changes in demand limits should welcome and where?

    A: According to the actual experience of the last program of the development of small, basic needs of the Party, or that the purpose of the proposed actual demand must be in order to meet the needs of users, it is always the same. Therefore, in any case basic needs of the Party will not waver, because this is determined by the user, rather than the party decision.

  • In an innovative idea, especially in a disruptive innovation, large span innovative ideas arise when there are often "can not find the scenario" at the time of the scene, "a short time do not know what's the use" of the situation , to some extent also in line with the above-mentioned reasons cited in the book. So for this, "I do not know to what use the short term," the innovative ideas, how to evaluate their prospects objective? You should invest much time and energy in which?

    A: I think, for a "scenario yet to find" innovative ideas in the end have much potential, is a very difficult judgment. I think this is often critically dependent on the manager's experience and personal ability, especially for the needs of users, even users themselves are not clearly expressed in the more primitive, more fundamental understanding of the needs, the ability to grasp.

  • As a computer science students, the future must be one of those "in the field", how to avoid the formation as "experts" in thinking cure, resulting in their creative thinking receive limit it?

    A: The necessary conditions for innovation need, not as a person "in the field of non." But most people have with "the field" a different, unique way of thinking. This can be achieved by some knowledge in other areas as a hobby.

    In soft work this semester, as a result of a large number of page design work required as PM, so I went to some knowledge of design, video production and other aspects. In this process, a lot of filming and editing of gimmicky let me amazing, the basic idea of ​​these techniques are very, very instructive.

    Here attached a video link . This is similar to the magic of misleading practices in the video shooting also played a very magical effect, and implementation and very simple and crude, amazing.

  • The book is in many references, should be more exchanges in teamwork, communicate, collaborate to mention efficiency. Which I very much agree. But in the process the team members communicate with each other, for a problem, even we reached a consensus, often because of the different ways of thinking of each person, leading to the hearts of both the answers are not consistent. Mentioned in the book as much as possible face to face really effect compared to text, voice communication is better, but they can not avoid this problem. So what's a good way to be able to understand as much as possible to reduce errors, ensure that we reach a "common views", each human brain is the same understanding of it?

    A: There is daily meetings so that we have done a lot of communication. This process, I found the following two methods can be very significantly reduced understand the error:

    • Try not to be able to interview via text, voice mode.

      Interviews can effectively reduce error understood. When interviewed, the other feedback you convey a message more directly, empathy, information expressed in each other's absence will be less. Indirect means of communication compared to online text, voice, etc., is much higher interviews efficiency, accuracy rate is also higher.

    • Use as many sketches and other ways to express painting

      Many times the accuracy of verbal communication can not meet our need, especially for some of the more complex issues. The use of pen and paper, some simple schematic drawing hand, can be very effective to improve the accuracy of expression.

New problems

In the soft labor practice this semester, my division is PM. In some previous cooperation, because we are more familiar, often they have no explicit manager, the decision to basically rely on discussion, each initiative to complete their tasks. However, the soft work this semester, since the PM Manager role explicitly assigned, so there have been other members of thinking, planning initiative reduced. PM to members often need a very detailed description of the specific content of the task, the DDL, to complete the task on time. For other members of the team, since with PM, then the planning, programming is not my responsibility, not my responsibility to think I do not have to worry about, PM has assigned me to complete my task, PM is not arranged I will not care. PM not arranged for the task, this time it seems no longer considered a member of "The thing I do not do it is not it will affect the final outcome," but to "PM did not give me the arrangement is not my task is finally affected the outcome PM issues, and I would not mind. " Without PM superiors everyone is a teacher, so consider is how to meet the requirements of the teacher, that is the product itself. And after there is PM, members only consider how to meet the requirements of the PM, the overall consideration of the product seems to be fewer.

My question is, as a manager, how to improve the proactivity everyone thought, especially for long-term product planning initiative to think of it?

I learned point

Requirements phase:

Needs analysis is the cornerstone of the product, complete detailed needs analysis can ensure the correctness of the general direction of the product.

The more detailed needs analysis done, the more complete, the more we can help the team figure out what the actual needs of users, users want is what kind of product, use the product to do what to do. Only clear user needs in order to determine the core functions of product positioning, product. Sometimes, even users themselves can not clear their own needs, clearly expressed, which requires the team on the basis of a detailed survey of demand, spend enough thought for analysis.

design phase

For programmers no graphic design experience, the difficulty of the design as much specific implementation difficult. We must not underestimate the design class, art class work time required.

We once believed in Alpha stage design does not require too much time, so students directly to the front-end is responsible for implementing this page design. But in practice, developers are designed to greatly slow down the progress of the development work, and finally finished pages aesthetics is not high. But in the next two stages, we specially assigned personnel (I) to complete the design work, and then he noticed, you want to have a good UI, layout, color is a very difficult thing.

achieve

Actively use search engines, can effectively enhance the development efficiency

Most of what we need to achieve, are relatively simple, and the former has achieved before. Therefore, actively use search engines, to avoid duplication of-create the wheel, not only can reduce the amount of development time, improve efficiency, and in most cases, a well, after several revisions of open source code quality is often achieved in a short time than their higher results.

test

Only real machine testing is the only reliable standard

The development of our products are suitable micro letter applet. Development of small micro-channel program is no distinction between the operating system, i.e. the same as for Andrews and IOS. However, our actual testing, we found that many small micro-channel program comes with features, controls, problems will arise in IOS. Therefore, even when the program is completely correct, and finally there may be problems. Therefore, only the actual machine test is the only reliable standard.

release

Advance understanding of the products to be deployed platform is very important to any restrictions

Since we do not have a thorough understanding of what personal version of micro-letter applets on functional limitations, leading to a period of time we delayed the release of Beta stage. Therefore, know in advance what you want to publish a platform for product restrictions, and allow sufficient buffer in the publishing stage, for smooth and timely completion of release is very important.

maintain

The contents of the back-end server must be backed up

In our Beta stage at the end, for unknown reasons, our server once the wall. . The wall. . . . . . . Fortunately, the back-end through the efforts of the students, back to save the data in the database. Otherwise you might need a lot of time to re-enter data. Therefore, to avoid accidents, the best backup data in the database is very important.

Personal understanding and experience

In the team project, I served as a "Water_T" PM team role. In the team, I was responsible for writing, and most of the planning of almost all the blog, planning, design work. So, I basically do not have much programming work. However, compared to the development, the job never easy. Most of the time, PM needs more consideration, worry about what to do next, how to do, how long do better to put the product to do. This is a development compared to abstract work is much more uncertainty work. May be responsible for the development of students in the completion of a page, the realization of a function, the next task will be happy to catch fish before the start, throwing course behind these, but for PM, the need to always pay attention to each the progress of a task, the completion of the quality of each task, consider the need to modify the plan, how to modify the results to make better and so much more. For PM, the pressure is long-term, sustained, which is undertaken before most of the work has a certain distinction.

Meanwhile, as the PM also made me realize once again the need for management knowledge, experience, technology, just as much as any one program. How to take into account the different personalities, different abilities of each person, so that all the members as a whole running smoothly, and to achieve the result of one plus one is greater than two through cooperation, is a very abstract, and are a completely different team for each issue . This problem is often no previous experience is available to copy, and on any network, to provide the views of other people are also abstract, illusory, often contain "moderate," "right," and so vaguely defined words , only to fumble through their own practice, to find the answer. I think these are in Jike great lack of education, but at work and very important, worthy of each student to try and learn.

A little advice from soft work program: Soft Engineering course different teachers, professors of the course content, layout of the course work is completely different, but the need to spend time far as I know there are very big difference, it can be said soft work different teachers not at a course curriculum. However, the soft labor is a required course for all mandatory. In this case, it is inevitable there will be some unfairness in the final score, especially in the junior, both PubMed, security research, or work to crucial this semester, may still be relatively large for individual students Impact.

Finally, can we work together with the team is an honor for me, and finally the finished product makes me very rewarding. This semester's course despite soft work hard, and really learned a lot. I wish soft engineering courses in the future better and better!

Guess you like

Origin www.cnblogs.com/kirito12138/p/11073232.html