The short answer is no, skill differences between developers are accounted for using velocity and should not impact story point estimation. It is easy to confuse the Scrum concepts of points and velocity since people are often trained to estimate in units of time (e.g. "I'll be done by Thursday"). In Scrum, estimates are made using units of size (e.g. "The race is 100 meters"). Team velocity is measured by observing how many points a team is able to repeatedly complete during a sprint (e.g. "The athlete runs 5 meters per second"). As velocity improves with skill or process changes, delivery dates are calculated (e.g. "It will likely take 100/5 = 20 seconds to finish the race").
Estimating Points
Try using the planning poker method for estimating stories. This will resolve the issue you're running into where two team members call the task a "3" while another team member calls the task an "8". What you want is consensus across all team members. You'll notice three key steps in the planning poker procedure:
- The team members with the lowest and highest estimates each explain their reasoning to the rest of the team.
- After hearing the rationale for the high and low estimates, team members vote again.
- This process is repeated until all team members reach a consensus.
Estimating Velocity
Use velocity to account for the different skill levels of the members on your team. Remember, the story point value is not an estimate of time, but rather an estimate of distance. It is okay, and expected, that different members of your team will be able to sprint that distance at different speeds. To estimate velocity, maintain a running average of points completed in each sprint. Use the team's velocity value to decide how many stories can be completed in a single sprint. This capacity limit will account for the fact that different team members write code at different speeds (e.g. that some need to learn more than others, etc.).