Agile Practices - Microsoft's experience in implementing agile

Agile Practice (6) - Microsoft's experience in implementing agile

Here are some experiences of how Microsoft implements agile development in a distributed team environment. Distributed teams are a very widely used approach for companies targeting global markets and wanting to save costs.

 

 

The composition of each team:

Product Manager: Represents customers and helps teams better understand requirements. Prioritize the Product Backlog and identify user stories for each iteration. Microsoft puts a product manager on a team

Coach: Responsible for how the team works, eg how to TDD. Typically this is not a full-time role and is filled by one of the team members with the most agile experience

Team: The team includes developers, testers, and documentation writers. There are full-time members and Contractors. The entire Team is responsible for the delivery of the project. Team contains at least one senior developer and tester

Consultant : Participate in various stages of communication with customers, team development, etc., and provide third-party advice

 

 

For distributed teams, Microsoft's experience:

 

1.Focus on communication

Expanding communication channels is key. Video conferencing, remote sharing software, instant messaging software, public messaging platform. Communication as one of the responsibilities of the Team, such as having a local team member as the representative of the off-site team, and changing the way of meetings, such as the daily meeting will be longer, because this is rarely the whole team asking questions opportunity.

 

Microsoft's specific approach is:

a) Each team has a dedicated conference phone and projector in the office

b) Each member has a headset, extension, IM software

c) Remote pair programming through headsets, IM, etc., but there will be coding review supplements or replacements, and the code can be checked in after at least two people have reviewed it.

d) Use VisualStudio Team System to track work and status within the team

e) use a parkinglot system to process and track issues raised in daily meetings

f ) Take a photo of the daily whiteboard and share it on Wiki

g) Developers, testers and product managers work together to generate an Acceptance Test for each story, the process and results are very helpful for the entire Team ShareKnowledge

 

 

2. Business trip

In the early stage of the project, each project team (at least some people in each team) should work together, which will help the future communication between the project teams. During this period, there are things that need to be done: getting to know each other and making some key decisions.

Microsoft's specific approach is:

a) Centralization of each team at the beginning and end of the project (mid-term, if necessary)

b) Participate in local team and local company events, lunches and other non-work contacts

 

 

3. Time difference

Due to the time difference, the overlapping working hours are very small, and some special methods are required at this time:

a) One party leaves later or the other party arrives earlier, resulting in overlapping working hours

b) The local team has a representative as the off-site team, provided that person participates in the off-site team's daily meetings. This person can be on a flex-time schedule, most likely overworked. This practice has proven effective and is critical.

 

 

4.Coaching Team

a) Find a Coach in Team

b) For each new member, recommend the following three books:

Scrum and XP from the Trenches, Henrik Kinbergxi

Agile Project Management with Scrum, Ken Schwabervi

Extreme Programming Explained, Kent Beck and CynthiaAndresvii

c) Keep at least half of the team members going to the next Release. Keeping the team stable helps the transfer of experience.

 

 

5. The right tools

a)Visual Studio Team System

b)Scrum for Team System

c)SharePoint

d)Live Meeting

 

 

Reference from Ade Miller 's article: the Development Manager in Microsoft

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327057988&siteId=291194637