As part of my team's workflow, every two weeks we take some time to have a retrospective session (we are currently using Scrum). Although the format can vary, we normally keep things pretty simple and talk through what went well and what could have been improved during the sprint, and then we come up with a few action items to work on the next one. I have helped facilitate many of these retros and one thing that I started to notice fairly regularly was how easy it was to quickly jump into where teams wanted to improve and only briefly touch upon (or completely skip) what had been working well. With the focus that agile frameworks place on continuous improvement, it is understandable for teams to want to find ways to fix things they feel aren't working, but I have found that focusing on what has been working can be just as important in ensuring the team continues to succeed.
When you are juggling a bunch of work, whether it be in your personal or professional life, it can feel like everything is equally important and that there is never enough time to do everything. If you are working on a team this can get even worse as people will have different ideas on what is higher priority and which items deserve more time and effort. This can lead to many long and frustrating discussions and everyone might eventually start to feel stuck. One tool that I have found to be very useful in reducing the emotion around prioritizing work and helping teams move forward is a simple metaphor involving rocks, pebbles, sand, and a jar.
A common concern for many development teams when they are planning a project is avoiding rework. There is the idea that if they can think through every scenario at the beginning of each stage of the project, they can avoid having to redo designs, documentation, or code in the future. On the surface this is understandable, as having to redo tasks unnecessarily can definitely be wasteful. However, anyone who has worked on a project, especially an Agile project, knows that once a design or feature has been released to end users, there will always be unexpected feedback that will necessitate rework.
There are many great books that talk about Agile theory and principles and these are important to building a theoretical foundation for any new Scrum Master (or any new Agile leader for that matter). However, in order to be an effective Scrum Master and Servant Leader, it is essential to learn how to provide coaching and build up high performing, self organizing teams. This is always listed as skills that Scrum Masters can provide, but most training courses and Agile books focus more on tactics and don't often provide guidance to new Scrum Masters on how to develop the more nuanced skills that the position will require for success. Below is a list of the books that I have found most helpful in improving these skills and that I wish I would have read before I started building out my first Agile teams.
"In preparing for battle I have always found that plans are useless, but planning is indispensable" - Dwight D. Eisenhower
There is always a fear when embracing Agile that things will fall into chaos and that planning and strategy go out the window. I have been on projects that have run into these types of issues and a big part of that stemmed from the team losing sight of the big picture goals and direction for the project. One thing that has been very helpful in preventing chaos and keeping things on track has been: release planning.
It is commonly agreed that collaboration for Agile teams is best when it is face to face. However, in an increasingly global world and with companies and workers focusing more on saving on costs by looking abroad, face to face collaboration is not always practical or even possible. Thankfully, there are many applications these days that have made it possible to work effectively with distributed teams regardless of where they are located and make it feel as if you are almost in the same room. Below is a list of five of my favorite tools for working effectively with distributed agile teams.
A team member once came to me and said that they're team was currently using Kanban, but that they wanted to switch to Scrum. When I asked why, their response was: "we need the two week time-box, because in Kanban everything goes into the in-progress column and just stays there". There are clearly many issues that would need to be addressed in this statement, but one that is very important that seems to be ignored on a regular basis is: WIP Limits.
One of the most well-known aspects of many Agile frameworks is the iterative nature of the delivery of working software. The Agile manifesto states: "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale." The key phrase here that many teams seem to struggle with is "with a preference to the shorter timescale". The Scrum guide states that sprints can be from 2-4 weeks. This is a little bit better, but many teams still gravitate towards the longer end of that range and end up attempting 3-4 week sprints (Although I am using sprints as recognized in Scrum for most this article, I believe the content and practices that follow can apply to any Agile framework).
1. Not focusing on Culture
Adopting Agile at an organizational level is something that will take a long time, bring about change throughout every level of the organization, face many difficulties, and require a great deal of experimentation and learning. In order for all of these to be possible it is not enough for an organization to simply adopt the practices of one of the many Agile frameworks that are currently available. This will lead to (maybe) some short term successes and some initial enthusiasm, but it will not setup the organization to sustain their Agile adoption over the long term. In order to really get a transformation to stick, the entire organization must experience a cultural shift that will encourage, support, and enable a focus on learning, failing, inspection, adaption, and continuous improvement. With the right culture in place, it will not matter what frameworks or practices the organization tries to adopt because they will be comfortable with trying many different things, continuing to focus on improving, and sustaining improvements over the long term.
After many years, my dream of having my primary work computer be a Macbook finally came true! I was so happy when I received my new 13 inch - Retina Macbook Pro and started to set up my desk with my new charger, keyboard, and mouse. Suddenly I realized there was at least one convenience I hadn't thought about when making the switch from the PC world: a dock that I could easily attach my machine to that would neatly organize all of my cables and provide all the ports I needed. I had never really seen any other Mac users in my office with a dock for their machines, but after a quick search on google I saw that there were at least two options with the more well known being the Henge Docks option. I was a little skeptical of a vertical dock at first since all of the other docks I had used previously were horizontal and the Henge Docks horizontal dock was super expensive. Ultimately, I decided to take the plunge on the vertical dock and see if it would be as useful as using the docks I had grown used to on the PC. Below I have included the pros and cons that I noticed while using the dock.
I love dancing, traveling, reading about technology, watching movies/tv shows, finding new ways to improve myself and just generally living a pretty laid back life. I'm hoping to share some of the things that I enjoy or that have improved my life with anyone who would like to see =)