Technology

10 lessons learned from Scrum training

Posted by Pixafy Team

I recently had an opportunity to attend Scrum master training and wanted to share a few valuable concepts that I came across that are especially relevant to team-oriented client-servicing web development.

  1. User Acceptance criteria: What is the definition of DONE? Ask and clarify with clients for what the acceptance criteria are. This is one of most important steps towards boosting quality in the product. If you think about it, a defect is defined as a discrepancy strongly derived from not meeting client’s expectations. The team can help here. Before starting to code, document the criteria. The acceptance criteria are then used by QA to test properly by completing the full cycle of task completion.
  2. Delivering business value: This is the most important thing when it comes to client needs. This is why prioritization of tasks should be based on business value and not always based on urgency. Ask the product owner/client probing questions towards bringing the best business value. Agile has moved the focus from planning to business value.
  3. Clarity and no assumptions: Getting absolute clarity (as much as possible, anyway) of what needs to be done is critical to execute. Failing to ask the right questions or not following the correct processes have definitely hurt many development projects. My observation is that the sharpest people in the scrum training are not necessarily the best problem solvers but those who asked the right questions and followed the correct processes to accomplish the desired results.
  4. Self-organization: The Scrum master initially leads, then coaches and finally mentors the team. However, the team needs to find its own natural rhythm. Given the team can understand what the tasks are and what the client expects, the team can be self-organized.
  5. Equality: Every team member is equal and brings something valuable to the team. The Scrum master is a facilitator of productivity and not to be seen as someone higher than other team members.
  6. Baking in the Quality: This is highly related to acceptance criteria. Examples of this for Pixafy include internal QA and peer code reviews and recording results and issues in the project management software.
  7. Working software: Clients love updates that contain links to working software that meets the acceptance criteria. Execution is truly magical.
  8. Bad news must travel fast: This does happen and we have to get the team sharing bad news as early as possible. That requires the team being very comfortable with us with sharing an obstacle. We do need to be involved in the team members’ personal lives to a degree. I found that point particularly useful.
  9. Continuous integration: This is very different mindset for many developers. If the client changes the design of one component, we need to ask/take the initiative to change the design for related components. Continuous integration is all about keeping a watchful eye towards how changes affect the consistency of the site and the user experience.
  10. User stories: User stories consist of a feature that is explained in a story format. It starts with an actor that has a goal and explains the task to be completed in order to fulfill that aforementioned goal. A user story ideally includes user acceptance criteria for that story to be accepted. The best person to write these tasks is the customer service agent or someone in a similar role that clearly understands the customer pain points.