A core component of Agile is to work in small teams. In our structure for Team ADEV, the team leads serve as Scrum Masters as well as Agile coaches. As Agile coaches, we remind our teams of the processes set in place for creating and delivering software functionality. Processes cover all aspects of our delivery cycle including project execution, software creation, and quality assurance.
Adhering to Scrum Events
Our Agile execution methodology is Scrum, and adherence to Scrum events is important. These events include:
- Sprint Planning: Sprint planning occurs at the start of every sprint. During the planning session, we coach the team to ensure that all the stories in the sprint backlog are clear and developable. The team needs to commit to completing the backlog as an output of planning.
- DSU: The daily stand-up (DSU) is such an important part of the scrum process but a consistent area that requires coaching the team. Coaches remind the team that the purpose of the stand-up is to coordinate activities and be accountable for agreed upon work. The team is coached to tell what they did yesterday, what they plan on doing today, and any impediments they are encountering.
- Backlog Grooming: Ensuring backlog grooming sessions occur with the team lets everyone know what the team development priorities are, plus what is on the horizon. Backlog grooming also makes the sprint planning sessions less difficult and painful.
- Code & Feature Freeze: A freeze date is the date where you stop any new code from going into the test queue for that sprint. While it can be tempting to push freeze dates, slipping freeze dates causes a risk to software testing and acceptance. Plus, sliding freeze dates is one of those things that easily becomes a habit. Firmly sticking to code and feature freeze dates communicates to the team that if it is not done by this date, it is not going to get done. Don’t expect to be rescued by slipping the freeze date.
Agile coaching means ensuring these important events take place according the schedule and are carried out in productive ways according to established processes.
Agile Coaching to Adhere to Schedule and Best Practices
In terms of process, the development process itself is an area where Agile coaching benefits the team. While working user stories, it is tempting for developers to expand the scope of their work to include defect fixes or enhancements that are not part of the stories being worked. Coaching team members to focus on coding to the acceptance criteria of the story is critical in being able to complete the sprint backlog. Another area for coaching during the development process is following coding standards established by the team. Utilities like JSHint make following coding standards easier since developers can run their code through the utility before moving the code into peer review.
Software quality is another area where scrum masters coach development teams. The quality of the software is ultimately in the hands of the development team. Ensuring proper peer reviews and test processes are great gatekeepers for delivering quality software. Coaching team members on following all the steps of the peer review helps to identify potential problems before they become embedded in the code base. In our process this includes ensuring that unit tests are created to adequately find errors in functionality as well as generating end to end functional tests. With tight schedules, it can certainly be tempting to short cut the peer reviews and testing aspects of software development, but there is a lot of evidence within the industry that demonstrates these shortcuts will come back to haunt you.
It is up to our Agile Team Leads to ensure that the development teams work together to produce the code our customer wants and needs and deliver on schedule. A coaching approach means you share knowledge and experience in a positive way to align activities and results so the team pulls together to achieve goals.
Mark Lynch is an Agile Team Lead for the ADEV program. He has been involved with software development and management for over 10 years, and he has a PhD in Engineering Management from Missouri University of Science and Technology.