I would like to say is that "Agile" includes the meaning of the word too much. Understanding of each person is different, in the end it means. I can describe a dog is very agile. Agile has been degraded as a symbol, but when people talk about a coat, has does not have any meaning.

In the area of software development, agile is not the end but a means to an end reached. XP good? Scurm good? Lean good? FDD good? If not integrated into a context to talk about what are the gab. Agile methodologies for a variety of practice inside the same company for some appropriate, some inappropriate; some of the right team, some team was inappropriate; some personal right, and some individuals inappropriate.

In other words, very few people can make it clear that it is truly an ideal place. I am in favor of the company to implement their own, do not expect the consultants, they do not have a better understanding of your own company and team problems. Since he is a context-oriented, we also talk about it do?

Can we talk about agile, take a look at things behind the fog.




1) team atmosphere.

Harmonious team have a common goal, everyone has a positive communication, active feedback. When happy with crazy; in grief, the mutual support and encouragement. The other hand, if a team infighting and shirking of responsibility. Feedback is not a problem, information blockage, a pool of stagnant water. Even the best methodology, for this team is also useless. Methodology is not a panacea, it needs soil, the more excellent, more open to the team to play a role in Vietnam. If the team atmosphere of the poor have no way to stop this study the, game over the. A good team atmosphere, full of passion for each person targeted, dynamic and language have been unspeakable.

2) positive communication

Communication will never be enough. Let us not refer to the incentive role of communication, communication is the most important messages. A clear division of labor in modern society, software development involved in too many roles, each role closely related to each other. To accomplish one thing, the need to work closely with a number of roles. If the information of the mistakes that may have implications for the role-related behavior. For example, the developer needs to understand the needs and analysts do not understand, like the realization of the function on the走偏. If found early communication better, or at the wrong road to go farther and farther, increasing the cost of rework. Software development in the transmission of information, often information-control behavior. Know do not know, a completely different approach. Ideal for the role of communication is all a question with a common understanding on a common context.




3) sustained attention

Project manager is not concerned about the need for sustained, nor is it responsible for people development, technical director of the need for sustained attention. Everyone in the team, the team continued to be concerned about the issue. The only way to weave the network into a airtight, not planted any seeds, the eradication of the problem in the bud. Sustained attention, when the reconstruction of reconstruction, not to software corruption; sustained attention, and constantly identify project risks, measures to establish risk areas; sustained attention, to remind each other to ensure that everyone in the right direction; sustained attention others, I can help.




4) Continuous Improvement

"Improve and improve, then improve", which is the philosophy of Toyota Production System. Not good for small, all can affect the efficiency of our place, we have to change; all can improve software quality practices, we will try. Have not changed it means that we fail, we will be beyond our competitors. In fact, the real improvement is a change in the way of thinking is a never-satisfied attitude, it is also a constant pursuit of higher goals of self-challenge. It requires tenacious attitude, sustained efforts, lofty ideals, but also pragmatic pace.




5) to reduce waste

Reducing waste is the essence of Toyota Production System, Lean on Agile development methodology for it. Because of poor transmission of information will result in waste. Reasonable division of tasks will result in waste. Needless to say bug is also a waste. Meeting low efficiency, is a waste, this waste is very common in many companies. Is a constant bother to waste is a waste of attention, the most expensive of its software development resources.




6) not perfect

Perfect bound mentality will be the pace of your practice. Perfection is a process of gradual. For example, needs not fully identified until the beginning of the follow-up communication to determine the part of the contents, you can start to communicate. Can be seen from the results of the simplest things to start. The article is good to come out, and good code structure is reconstructed by the constant adjustment. Not perfect mentality, so that you always keep ahead in a dynamic in thinking, in the dynamic of progress, in the dynamic correction.

Finally, I want to say is that the individual is the basis of team, team is the basis of the company. Software process to work, must be based on individual and team. Otherwise, the process is a superfluous and castles in the air. Take a look at the domestic situation, ISO has been doing a rotten, CMMI has been so bad had. Listen to a lot of people said, CMMI software company not to make the efficiency and software quality has improved significantly, but have heard some people say, it destroyed the original rhythm and practice the opposite. Well, this is why? I am not bragging to help the Japanese, many Japanese companies, ISO implementation on a very good effect, in essence, is the difference between the mature and the team, the values of unity in support of the corporate culture.

Methodological machinery can not be implemented quickly treated the same. I do not like strictly in accordance with the XP, Scrum, Lean in a particular methodology to implement, I like to break up their best practices into the particle size, to try to reflect on, and even to transform part of practice, in the end to see What are the things for us, which do not fit. The ultimate capacity so that they become part of the team.

Think what and think why, then think how.