Pied Piper 2017 - Sprints
We are entering the final stages of the Pied Piper program, the team project. At the end of last years program we run an anonymous survey looking for feedback. A common observation was the lack of team work. Participants got to work on their own personal projects in a competitive fashion but no chance to collaborate and work together. One of the responses in the survey even described this lack as the desire to "experience what working in a start-up feels like"
So for this year we devised a plan. We would spend the last 2 months working together to improve upon the app I developed last year for the presales conference. We generated lots of good ideas about how to improve it during the Hackathon. Modern Agile development use the term "backlog" to refer to this list of features waiting to be implemented.
During the Cloud Native workshop we covered Agile development. There are two main Agile methodologies, Scrum and Kanban:
A common routine in Agile methodologies is the daily stand-up. This is a short meeting at the beginning of the day where:
We tried to keep a cadence of a meeting per week:
In terms of tools we decided to use a simple Trello board. Initially we considered using a more sophisticated tools that would allow us to do better planning, but we thought it was an overkill considering how much time we could commit to the project. The following image shows the board half way through one of the sprints:
Although we had to sacrifice lots of personal time and lots of sleep, it has been a great learning experience. At the beginning we often found ourselves talking like the presales engineers we are, but one thing is to sell the benefit of a solution and a different one is to have to put it together. This has given me a better appreciation for what my customers do and how to better help them in the future.
This is part 4 of a 5 post series about the 2017 Pied Piper program:
1 - Program intro - Must start somewhere
2 - Personal projects
3 - Hackathon
4 - Agile sprints
5 - Tech Summit
So for this year we devised a plan. We would spend the last 2 months working together to improve upon the app I developed last year for the presales conference. We generated lots of good ideas about how to improve it during the Hackathon. Modern Agile development use the term "backlog" to refer to this list of features waiting to be implemented.
During the Cloud Native workshop we covered Agile development. There are two main Agile methodologies, Scrum and Kanban:
- Scrum goes through a series of short development periods, typically between 2 and 4 weeks long, starting with a "sprint planning" session and finishing with a "sprint retrospect". During the planning session the team decides what backlog items are going to be tackled during the next sprint. Then during the sprint retrospect the team does a demo and reflects over what worked and what didn't
- Kanban on the other hand has no planning or retrospect. Team members grab backlog items based on how critical they are. This methodology is very prevalent with support teams working on bug fixes.
A common routine in Agile methodologies is the daily stand-up. This is a short meeting at the beginning of the day where:
- everybody "stands up"
- each team member briefly describes what they are working on and if they are having any difficulties
We tried to keep a cadence of a meeting per week:
- a meeting that would serve as the retrospect for one sprint and the planning for the next sprint
- a shorter stand-up where we could review everyone's progress
In terms of tools we decided to use a simple Trello board. Initially we considered using a more sophisticated tools that would allow us to do better planning, but we thought it was an overkill considering how much time we could commit to the project. The following image shows the board half way through one of the sprints:
- The left column contains the overall project backlog. These are the features that are not being worked on as part of this sprint
- The 3 central columns are the current sprint, items that haven't been started yet, items in progress and items completed. Some of these items have a checklist and the person working on it updates the checklist as it completes it. Ideally at the end of the sprint all the items have moved from the left to the completed column on the right
- We used a fifth column on the right as a repository of things that were important to the team like the latest architecture diagram, the latest database schema with comments explaining what each field is for and a place holder for bugs that are identified
Although we had to sacrifice lots of personal time and lots of sleep, it has been a great learning experience. At the beginning we often found ourselves talking like the presales engineers we are, but one thing is to sell the benefit of a solution and a different one is to have to put it together. This has given me a better appreciation for what my customers do and how to better help them in the future.
1 - Program intro - Must start somewhere
2 - Personal projects
3 - Hackathon
4 - Agile sprints
5 - Tech Summit
Comments
Post a Comment