Skip to content

Latest commit

 

History

History
31 lines (18 loc) · 2.39 KB

04-workflow.md

File metadata and controls

31 lines (18 loc) · 2.39 KB

Workflow

Which machine to start

There is no hard rule for it. Does novice have the project set up on his/her machine? If not, probably it is the best opportunity to do it. Novice will drive first, and the navigator shows him how to set up the project to make sure novice learns how to setup it himself.

Project introduction

In an expert-novice scenario, if it’s the first time for a novice to work on the project, a project introduction is required by the expert.

The expert starts driving first and gives an introduction about project structure, how to run/test the project.

Expert is responsible to share his knowledge about the project.

Who starts to drive first

In an expert-novice scenario, it is always better if novice drive first. It will give more confidence to the novice overtime and he can fill his knowledge gaps faster. In an expert-expert or novice-novice. Usually, it’s not a bad idea if the station owner drives first.

Problem making a decision

Pairs always have to try to convince one another when there are different points of view or ideas. For instance, design decisions or choosing a solution. It won’t happen a lot, but if you can’t agree which idea is better, ask a third person to join and hear both ideas to help you to make the right decision.

When to use pair programming?

While one of our goals is sharing knowledge, we don't want to kill the team's velocity and efficiency. Pair programming is good as long as you achieve at least one of its benefits.

  • Trivial tasks - If it is a trivial task, perhaps it is not a good idea to have expert-expert pairing together since they won't achieve enough comparing to the resource they are taking from the team. Is everybody an expert in the team? Then you don’t need to use it. Otherwise expert-novice is a good idea because it will add another expert to the team.
  • Complex problems - In this case, if you already have an expert on your team, it is not a good idea to have novice-novice pairing together. When you need fast results, expert-expert is what you need. Otherwise, the expert-novice is the most efficient, and it assures that knowledge to be shared with another team member, and soon you will have an extra expert on that topic.
  • New problems - A new problem means there is no expert. Just make sure at least one of the pairs is a senior member of the team to ensure they make better decisions along the way.