Gang Programming | Glossary

Definition: 

Four to Eight programmers gather in a conference room equipped with laptop and projector. Pick a programmer to start coding while everyone else looks at the projected source code. Find one failing test you can write, and then have a programmer write the code that makes the test pass. After sometime, pass the laptop to another programmer and continue writing code and passing the laptop until the task is complete.

This helps group to understand, develop and demonstrate the principles, processes and technologies. This is an effective way of sharing knowledge, few mistakes are introduced in your code, you can solve the problems that crops up along the way faster and quicker, learn more about the things that are specific to the applications and develop a common understanding, more people know how the new program works, all are in sync. Team develops better interpersonal skills, learn to communicate with each other, work together to achieve common goal.

Further Reading:
Book: SUCCEEDING WITH AGILE Software Development Using Scrum by Mike Cohn

Seeding Visits | Glossary

Definition: 

Martin Fowler proposed the term “Seeding Visits”, one of the most popular approaches to getting together. He says, these should occur early in the project and are intended to create the relationships. A seeding visit that brings all team members together at the start of a project can be one of the best possible investments in the success of the project. This is important for projects on which team members do not know each other, have minimal shared history, distributed across the geography having different languages coming from different cultures.

This face-to-face kickoff gives an opportunity to meet each other, establish a rapport, and understand the project together.  One release cycle is beginning, the preceding one is ending. This is an ideal time to bring a team together. Teams can be colocated for the vision-setting and planning of the new release, for reviews and retrospective. Bringing the team back together for the last couple if iterations before the final release makes the process of shipping a final deliverable much smoother. Bringing the whole team together, helps in making key decisions. 

Further Reading:
Book: SUCCEEDING WITH AGILE Software Development Using Scrum by Mike Cohn