如何构建一个敏捷团队(2)

发表于:2013-06-25来源:博客园作者:Darren Hale点击数: 标签:敏捷
结论 通过很短的一段时间,我们已经学到了一些对于创建成功的敏捷开发团队很重要的知识。确立团队价值并坚持下去,这帮助我们创立了成功的文化,

  结论

  通过很短的一段时间,我们已经学到了一些对于创建成功的敏捷开发团队很重要的知识。确立团队价值并坚持下去,这帮助我们创立了成功的文化,并且改进了我们的面试过程。促进好的沟通除去了很多团队的阻碍。改进我们的面试过程帮助我们识别合格的开发者,他们会很好地与现有团队融合。复审我们现有的过程帮助我们持续提升团队的水平。

  ENG:

  Introduction

  Building an agile software development team is not as easy as it seems. Many managers and team leads hire technically capable people, throw some form of an agile process at the team, and hope that everything works as well as the literature says it does. This approach is not only unrealistic, but it is prone to failure. This article will describe the components of a successful team and how we built this team.

  Components of a Successful Team

  A successful agile software development team is made up of skilled developers , has established team values, has good communication, and is always looking to improve. While having every one of these components isn't absolutely critical for success, having all of them will make the road to success much shorter.

  Core Principles

  Everyone has an idea about what kind of culture they want to establish for their team. Unless a manager is hiring people that he knows well, turning the vision of a culture into reality is very difficult. We recognized early that the characteristics that were important to us included having a customer perspective, collaborating effectively, managing by fact, and focusing on execution. A team that embodied these principles would be well positioned for success. Members of a team that embody these core principles exhibit a number of good behaviors. Some of those good behaviors are asking questions of customers, thinking like customers, being willing to ask for help, being willing to help others, making decisions with concrete facts instead of personal opinions, and striving to ship finished code.

  Effective Communication

  Effective communication is critical for success. One of the most effective aspects of communication is to be face-to-face with people. It is much easier to work out ideas when people are located together. Another critical aspect of effective communication is focus. Conversations are not productive if they don't have a well-defined topic that the participants stick to. A third essential element of effective communication is keeping the conversation focused on facts and ideas. Conversations can quickly degenerate to fights and turf wars when personal opinions take the place of facts and ideas.

  Good People

  The most important aspect of a successful team is the people. A software development team needs talented people. Skilled developers are required to build complex systems using new technology. Building these complex systems can't be done by one or two people. A team is necessary. Therefore, the developers that are needed must also be skilled in working on a team.

  Constant Improvement

  We knew that we would fall down a lot as we built a new team and created a new system. The difference between a successful team and a failing team is the learning that happens from these mistakes. Progress can only be achieved by reviewing past failures and making necessary improvements.

  Building the Team

  Communication Focus

  From the inception of our company, we have focused on communication. The physical layout of our office is open. The development team sits in a large open room. Each developer has his/her own desk, and they are grouped in such a way as to facilitate communication. This open environment makes communication much easier because people can't hide out in cubicles and conversations are "public." (It is important that everyone act civilly and professionally so that this environment doesn't become overbearing.)

  Establishing Core Principles

  As we built the team, we realized that we need to codify the characteristics that we wanted the team to embody. We initially thought that day-to-day interaction would infuse the team with the characteristics we were looking for. Capturing these characteristics and socializing them with the team was necessary in making sure all team members had the proper focus on the values we felt were critical to success. Codifying the characteristics that we wanted the team to embody was a stark realization for us. One realization was that some of the current team members didn't embody the characteristics. We went to great lengths to work with these team members to learn and exhibit the characteristics. Some team members responded very positively, and some did not. In some cases, we had to remove people from the team. The second realization for us was that our interview process wasn't filtering the types of people that we wanted. Our early interviewing process focused very heavily on the technical skill set of candidates. Our selection process looked for the most technically skilled people. This criteria brought us very bright and capable developers, but it didn't always bring people that thrived in our team environment.

原文转自:http://www.cnblogs.com/Tcorner/archive/2010/04/01/1702668.html