29 July 2018

Vacation and Hiking in Crested Butte

Last week my family and I took a week's vacation in Crested Butte to do some hiking and relaxing in the beautiful Colorado Rocky Mountains. Although we missed the Crested Butte Wildflower Festival by one week, we still enjoyed the flowers on our hikes.

As we explored the Crested Butte area and enjoyed numerous hikes, we got to spend time together as a family which I really enjoy doing. It's hard to believe that my girls are basically adults now (they are 15 and 20 years old). Bailey even got a second week of altitude camp in for her cross country training by running every day that we were there.

My in-laws even joined us with our two nephews and we all had a very relaxing time together. We even rented some paddle boards and went to Lake Irwin one day. This wasn't something that would have been very easy for me to do, so I enjoyed watching everyone experience the paddle boards for the first time in a cold mountain lake.

Crested Butte is a sleepy little mountain town with a well-known ski resort. We enjoyed hanging out in town, checking out the restaurants and shops, and also finding trails to explore all around the area, including on the ski mountain. Unfortunately, the Crested Butte ski resort was recently acquired by Vail Resorts. This means that it will be completely over-developed soon enough, everything will become too pricy and too crowded with traffic just like all the other resorts it owns. What a drag.

Later in the week, we visited a friend in Lake City and hiked Spring Creek Pass, a high mountain pass with an average grade of 7.5% at 10,901 feet. My phone told me that I climbed 50 flights of stairs that day which was quite an achievement for my withered legs. When we returned to the car, we took a photo by the trailhead sign and Janene had her arm around me and said, 'Your legs are shaking, you need to sit down.' I just chuckled and said, 'Yeah, I know.' Even so, I loved it! I am so thankful to be able to feel that exhaustion from completing a difficult hike.

12 April 2018

Forming Scrum Teams


The tongue-in-cheek fable of the chicken and the pig is frequently referenced in Scrum literature to distinguish between people who are committed to the Scrum (the pigs) and people who are only involved (chickens). The reason pigs are committed is they must be sacrificed for the meal whereas chickens are simply involved. When I was software engineer, we used to say, 'It's just us pigs here' when it was a group of software engineers together. Having transitioned to management several years ago, now I say, 'It's just us chickens here.' But I digress.

In this post, I want to discuss my logic for forming Scrum teams, a topic that I have hashed and re-hashed many times throughout my career. So, here I will explain the logic behind how I form software engineering teams.

The Agile Manifesto

The Agile Manifesto lists the following 12 principles:

  1. The highest priority is to satisfy the customer via early and continuous delivery of software
  2. Welcome changing requirements
  3. Deliver working software frequently with a preference to the shorter timescale
  4. Business people and developers must work together daily throughout the project
  5. Build projects around motivated individuals
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
  7. Working software is the primary measure of progress
  8. Agile processes promote sustainable development
  9. Continuous attention to technical excellence and good design enhances agility
  10. Simplicity is essential
  11. The best architectures, requirements, and designs emerge from self-organizing teams
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

While these 12 principles define much of Agile in the broadest sense, there are variations in different Agile methods such as XP, Scrum, Lean, Kanban, etc. These methods are not meant to be followed dogmatically, instead practices within a particular method are meant to be guidelines. In this post, I will be focused on Scrum, specifically on some of the aspects of team formation. But keep these principles in mind as you read this post.

What Does Scrum Recommend?

The Scrum literature discusses team formation a lot. From this literature, it's easy to learn that there are  some key principles in Scrum focused around forming small, cross-functional teams. But Scrum best practices don't end there. There are many other aspects to building Scrum teams. In this post, I will elaborate on the following:

  • Autonomous and self-organizing
  • Team composition must be cross-functional
  • Ideal team size

Autonomous and Self-Organizing

As stated in many Scrum publications including the Scrum Guide, a Scrum team should consist of a Scrum Master (SM), a Product Owner (PO) and Developers. Scrum teams should be cross-functional and self-organizing, i.e., they must be capable of delivering value each sprint and they are responsible for deciding how they work. This is what I refer to as setting up a team for success. It's the job of the leader to set up the team for success, not only in the structure of the team but also in communicating the expectations for the team. I have always defined expectations in black and white for everyone to see so there is no question about their responsibilities. (In fact, I have even implemented this model across all engineering teams for a product line by working very closely with my management colleagues. There must be consistency of expectations across all the product engineering teams. I cannot stress this enough.)

It is critical that the team members understand and embody their autonomy and empowerment to manage their own work. Typically an engineering manager is involved and accountable, but the team is responsible (from a RACI matrix point of view). In my opinion, the best case scenario is that the engineering manager is more of a coach and not micro-managing everything a team does. Team members must be coached to step up whenever they can and remember to bring everyone along on the journey. This requires well-structured and open communication across the team. Oftentimes, the Scrum Master is the person who guides the team most in terms of self-organization and responsibilities.  It is also important that team members understand the role that everyone plays on the team. Like a set of gears moving together as one, it only works if all cogs are operating correctly and together.

Self-organization is an important aspect for a team to operate well together. Team members cannot operate together without a shared understanding of what this means. In Scrum, this means the PO defines user stores for team and the SM leads the team members in breaking down those user stories into subsequent tasks for estimation and execution. The SM oversees all of this activity and works closely with the PO to determine priorities for the sprint. While people not deeply experienced in Scrum think this is too much for a team to handle or feel that the manager should drive all team activities, this couldn't be further from the truth. As with many things in software, concrete experience teaches a tremendous amount very quickly. As a people leader, it's very easy to see the differences between a mature Scrum team and an immature Scrum team. Like many things in life, reaching a level of maturity as a Scrum team requires proficiency and time, especially if new team members are added over time. As the Agile Manifesto mentions: 
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

I work very hard to build trust with my engineering teams as I believe this is the basis for building great teams. I always say that I hire talented individuals who are experts and then I give them room to get the job done. The bottom line is the team is accountable for delivering value every sprint and I have found that building trust is a requirement. I extend trust to them to get the job done and they teach me to trust them by consistently delivering value every sprint.

Team Composition Must Be Cross-Functional

As mentioned above, a Scrum team needs to be cross-functional so as to deliver value every sprint. As much as delivering value is a generic term, when developing microservices it means that the team can deliver, own and operate those microservices itself. The team should not need to rely on other teams for different job functions as doing so amounts to dividing up teams based on function. This type of team organization was an idea from the 1990s and Waterfall methodology that divided up teams based on job function, e.g., front end engineers in one team, back end engineers in another team, QA in it's own team, tech writers in their own team, etc. I've seen this before and it really falls apart quickly because departmental divisions do not work in an Agile environment. It's a mismatch of models. Agile is supposed to be iterative and incremental. When teams are defined by job function they are not set up to be incremental. A true Scrum team must be composed of the constituent parts to deliver the software owned by the team. This requires a cross-section of roles composed of all the necessary disciplines. As mentioned above, a Scrum team should consist of a Scrum Master (SM), a Product Owner (PO) and Developers:
  • Scrum Master
  • Product Owner
  • Front end engineers (developers)
  • Back end engineers (developers)
  • DevOps engineers (developers)
  • QA engineers (developers)
  • Tech writer (developers)
  • Manager
In the list above, I included a couple of roles that you don't normally see in a Scrum team -- a tech writer and a manager. I also break down the different types of engineers. So, let's discuss each one.


Tech writer: I include a tech writer in my teams whenever I can because I do not consider the product to be Done until everything is actually done including the coding, testing, documentation, performance considerations and operational requirements.

Manager: I include the manager because this person serves a vital role not only in terms of people reporting lines but also in terms of developing a contextual understanding of a team and its work. Speaking from experience, without a manager present, it becomes very easy for software engineering teams to get pulled in many directions. A manager can guard against not only this but also against members of a team reporting to numerous managers which can result in a lot of chaos. 

The other roles are simply a clarification on the types of developers. Furthermore, it illustrates the inclusion of the different types of developer disciplines -- tech writers, QA engineers, DevOps engineers, etc. None of these disciplines or roles should reside on other teams. When this happens, the team will not develop the right level of cohesion and trust necessary to become what Google identified as an effective team (this is a whole separate topic for another blog post).

Ideal Team Size

I have seen Scrum teams with three engineers and Scrum teams with 30 engineers. The goal should be to find an ideal size that works for the products being developed, but I do believe smaller teams are better. According to the experience of many Scrum practitioners, the ideal team size should be 6-8 engineers (give or take one or two) not to exceed 10. From my nearly 20 years of experience practicing Agile, the larger an engineering team grows, the more difficult it becomes to meet, to scope work, to keep track of work, etc. Basically, the larger the team the more complex and time consuming communication becomes. It's not called Agile for no reason -- software engineering teams practicing Scrum are meant to be nimble and iterate quickly. This cannot take place when too many people are involved. 

Consider Brooks' Law about software project management which says adding manpower to a software project that is behind schedule will delay it even longer. This maxim emerged from Fred Brooks eponymous book The Mythical Man-Month. Brooks explains that while cost varies with the number of men and months, progress does not:

“Hence the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. It implies that men and months are interchangeable. Men and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them… This is true of reaping wheat or picking cotton; it is not even approximately true of systems programming.”

This is further elaborated by examining the lines of communication for teams of different sizes. As explained in a blog post titled, Lines of Communication and Team Size: Applying Brooks’ Law

Most teams in large enterprises have between 10 and 20 members. Even at the low end of that scale, a team has so many lines of communication that progress is bound to be slow.

(source: Lighthouse)

Note the increasing number of lines of communication as a team grows. This is essentially the root cause of why teams beyond the Scrum recommended size become more and more ineffective as they grow. The drag in trying to develop a shared understanding of anything simply becomes more and more complex the larger a team grows. This is typically when people start to complain about there being too much administrative overhead. 

Conclusion

To summarize, if you want to set up your teams for success, then they must be autonomous, self-organizing, cross-functional and sized appropriately for the software being built. This is at least part of the recipe that has helped me to build what I mentioned above that Google calls effective teams. 

Resources

23 March 2018

More Muscle Movement Discovered Recently

Recently I paid a visit to my physical therapist. I only see every 2-3 months to check in and guide me on the physical therapy work that I do on my own. She always checks out my progress to see how my body is doing and this time she found something new -- the tibialis muscles in both my legs are moving now!

The anterior tibialis muscles are what allow you to flex your feet upwards (this is called dorsal flexion). So far, I have only been able to press my feet down (this is called plantar flexion) because this is controlled by the calf muscles. But now that the anterior tibialis muscles are moving ever so slightly, I can begin to rebuild these as well. Just like my calves are taking time, these muscles will also take time to rebuild as well.

I am still working to rebuild my calf muscles and this is slow. My physical therapist reminded me that I'm not just strengthening my calves. I literally had no calf muscles left. So I am rebuilding my calves from nothing which is much more difficult. She also said that at this point, we have no idea if the calves are fully firing or not. In situations where there is nerve damage, you never know if you are getting a full squeeze from the muscle or if the whole muscle is firing yet. This makes the work much, much more difficult. She also told me that this is why most people give up.

My calves are increasing in size and strength, but they are very far from 100% functionality or strength. I still have a long way to go. But I still feel lucky to be where I'm at today with my body still healing.

04 September 2017

New Braces and Hiking in Colorado

After about a year-and-a-half of wearing my old carbon fiber AFO braces (Ankle and Foot Orthoses), I recently got a new pair of Phat Braces which are also made of carbon fiber, but have a much better warranty and are widely used by people everywhere.  The big difference between my old braces and the new Phat Braces is that the Phat Braces are taller and stiffer (but they are beginning to soften a bit). They come up my leg to right below my knee which is further than my old braces . This makes them much more stable and it which allows me to balance and walk much easier. They also have some flexible plastic that wraps around the foot (as you can see in the image to the right) which also helps to provide more stability. The biggest benefit about them so far, however, is that it did not take my body six weeks to adjust to them. The previous braces actually took six weeks for my body to adjust and I was in pain the entire time. The company that provided them told me that's just how it goes. Through that adjustment period, I had to have at least a dozen manual adjustments to the carbon fiber (e.g., heat them up, bend out here and there, etc.), probably closer to 18 or so. With the new Phat Braces, I've only had two adjustments and my body has already adjusted to them -- literally less than a week. In fact, I have had the Phat Braces two weeks now and yesterday I did my first true Colorado hike since my injury in April 2014!


Yesterday we decided to go hiking in Evergreen, CO because we were trying to get back to the spot where I proposed to Janene 20 years ago. We thought it would be cool to go back there because later this month Janene and I will be celebrating our 20th wedding anniversary. I was a bit intimidated when we started the hike because of the elevation gain on the trail and the number of large rocks that you hike over on the trail. I did take a single arm crutch with me but it almost made things more difficult because of the angle at which you hold the arm crutch vs. the angle of the rocks on such an uphill elevation. Also, my new braces make going uphill difficult because they are still stiff, but they will soften a bit more in time. But with Janene's help, I completed the hike. Janene did make a good suggestion that instead of using an arm crutch I should consider getting some hiking poles. Because you hold them at a different angle, it could make going uphill and downhill over rocks easier for me. So, I'm going to try some out soon at REI.

Although the distance was not that great (1.7 miles), this was the most uphill/downhill I have done since my spinal cord injury 3.5 years ago -- I actually impressed myself. As proof of the level of workout for my body, my lower back and my hips were really tired after the hike and sore this morning. But I really enjoyed getting out for a hike with Janene and Bailey. So, I'm really looking forward to doing more hiking. I guess I can really start enjoying the fact that we live in Colorado again!

27 April 2017

Three Years After

Monday, April 24th marked the third anniversary of my spinal cord injury. It seems like the injury took place so long ago now and yet it has only been three years. So much has happened in my family's life in the last three years. I now have a 19-year-old who is about ready to complete her first year of college and a 14-year-old who is getting ready to enter high school in August. Through all of these experiences along this journey, I now feel like I am emerging from the other side. I believe that I have finally found peace with this whole ordeal. It has not been easy to get to this point and it's difficult to convey how hard-fought my successes continue to be. But those closest to me know, and that's what matters to me.

Gratitude

As I look back at all the photos and videos Janene has taken over this three year period, read through the Caring Bridge posts and my blog posts, the progress I have made is pretty amazing to me. Believe it or not, I actually have a lot of gratitude for the fact that this experience happened to me. Yes, I just said that I am thankful for the experience. I did not arrive at this place easily or lightly, so stop and consider that statement for a moment. After three years of pondering every aspect of this entire situation, I feel that I am a better person for it in many ways. This whole experience forced me to get myself in order and I'm now a better person for it.

From the beginning of this experience three years ago, I have been lucky enough to be surrounded by people who provided me a constant stream of positive support. From the folks I worked with at the hospitals to all of my family, friends and co-workers, the positive vibes are what have inspired me to keep going. There were also a couple of notable things that two people told me that I have hung on to that have kept me going to this day:
  • My wife Janene has always taught our girls that no matter what you're doing in life, you need to 'fake it 'til you make it'. This catchphrase helps you to feel confident and optimistic about something as you build your ability until such a time where you gain the necessary experience to actually feel genuinely assured that you have reached a successful point. Although she has always intended this for the benefit of our daughters, I have been able to internalize it and use it to my own benefit in my recovery. Repeating this statement in my head has taken me quite far and I continue to use it to this day.

    Although she has always intended this for the benefit of our daughters, I have been able to internalize it and use it to my own benefit in my recovery. Repeating this statement in my head has taken me quite far and I continue to use it to this day. Thank you so much, Janene. I love you!
  • My friend Greg, who has had two spinal cord injuries in his life (can you believe that?!), told me something very early on in my journey, that I held in my head to help me get through the first year and beyond. He said something like, 'I know you you are not in a place where you can understand what this means yet, but you will get there in time. Just do everything you can to make it through the first year and everything will seem 1000% better. You won't be totally healed in one year, but you will feel much, much better.' Ironically, I saw Greg the week of my first year anniversary and I told him about this and he didn't even remember telling me this. I think he was quite surprised that I held on to it for so long, but it was truly a lifeline. Thank you, Greg.

Lesson Learned

I have learned a lot in three years as this experience has taught me a lot, especially the way that you handle an experience. Most importantly, I've learned that when you are faced with a horribly painful experience (emotionally, mentally, physically) that changes your life, you can choose to one of two paths:
  1. Either, you can be angry, resistant, resentful and stuck on the fact that something was taken from you. I have met plenty of people on my journey who were here and until they change their outlook, they won't be able to move on.
  2. Or, you can acknowledge that it sucks but still feel gratitude for the positive aspects and for being able to be alive to experience it all. I haven't met any people who can say that they feel thankful for their experience with a spinal cord injury, but I have read about some. It was not easy for me to get to this point.
And this certainly doesn't mean that I'm done. My recovery will continue for years.

On that note, singer-songwriter Ryan Adams who I have listened to for years summarizes my whole point best in the following interview:
He says it best by summarizing it this way: Pain helps us learn who we really are.

Reminders Along the Journey

Just recently, one of my colleagues from our Munich, Germany headquarters visited my office in Boulder. I have not seen this guy in person since before the accident so he was really shocked to see me walking and to see how well I am doing now. He said he was so surprised because the last he heard from me I was still in the wheelchair (the look on his face was priceless!). It's moments like this one that remind me of how far I've come and continue to drive me forward.

Thank you to everyone who has helped me in any way along this journey.

09 March 2017

Annual Spinal Cord Injury Re-evaluation

Recently I went back to Craig Hospital for an annual spinal cord injury re-evaluation and the results were very positive. It was really nice to see some familiar faces of the people for whom I have such deep admiration like my doctors, physical therapists and administrative staff. My doctor and therapists were quite surprised to see how well I am doing, especially given that I'm still seeing improvements three years later. Mainly because so many spinal cord injury patients have serious issues even years later. I am so lucky to no longer be taking any medications and to be walking again.

It has also been nearly one year since I have been back to Craig Hospital and it seems like such a different place to me now. Being back there again feels odd for a couple of reasons. First, due to the extensive construction/remodel, the amount of change to the hospital makes it seem like a different place entirely. It used to be much smaller which encouraged more close interaction between patients and staff. Now the place is so big (i.e., big hallways, larger individual rooms, etc.) that patients can have more privacy if they want or even avoid some forms of interaction. Second, although I am comfortable being around so many folks who have been so severely injured (not everyone is), I have noticed that some folks are confused by me. I can tell the way they look at me that they are wondering what I am doing there because, outwardly, I do not appear as someone who has experienced a spinal cord injury. I have been lucky enough to make it out of the wheelchair and to walk on my own. Though my feet are still paralyzed, I wear flexible, carbon fiber AFO braces on my legs and walk with one arm crutch, the braces are covered by my pants so it's puzzling to many people.

The folks who I wish I could see more are the nurses and techs. These are the folks who helped me the most when I was so vulnerable and confused and to whom I grew very attached. To understand just how attached I was, simply moving to a more independent room as I was getting better was upsetting to me because I was so emotionally attached to them. I learned that these people are cut from a unique cloth and possess very big hearts to do the work they do every day. Because they are so involved with the acute care of in-patients, they are very busy during the day and not available for much socializing as past patients come through. Luckily, there was one of my nurses who I ran into and was able to spend some time speaking with him. I really enjoyed catching up with him and hearing about new adventures in his career. He was one of the folks I was attached to at the time and he really made a difference in my experience. I will be eternally thankful for having met these wonderful people during such a traumatic time in my life.

Today I am walking nearly 100% of the time with the leg braces and have been for over two years. I am working to rebuild my calves and my glutes, but this is a very, very long and slow process due to severe muscle atrophy after not being able to move my glutes for five months and my calves for two years. Although my feet are not responding yet, we will see what the future holds. I still feel so very lucky to be alive and continuing to make progress.

Although I cannot run at all or cycle the way I did previously, I am very thankful to be able to work out as much as I can. I am now riding the stationary bike regularly, using my Total Gym (yes, I have a Chuck Norris Total Gym) to build my calves, using a Bosu to work on balance and strength in my lower body, doing ab roller workouts and walking as much as I can both indoors on a treadmill and outside. I'd like to make time for swimming laps again, but all of this can be time consuming (and tiring!). I am not nearly as fit as I was at the time of my injury, but I continue to work hard and to see noticeable improvements for which I am truly thankful.

Thank you to everyone who continues to stay in touch and check in on me from time-to-time. You may not think it's much to send a quick message, but these messages have meant a lot to me through this process. The support from family and friends has been what has truly kept me going. The patience displayed by Bailey, Jade and Janene is pretty amazing.

Next month will mark the three year anniversary of my injury. It seems so far away and yet it continues to affect my life every day. My life will never be the same, but I do believe I have found peace with this entire ordeal.

20 March 2016

Martyn Ashton Is Soooooo Inspirational For Me! :: Bruce Snyder's Status



Imagine for just a moment, if you will, you are going through your day and everything is routine -- you take the kids to school, you collaborate with some co-workers, you eat some lunch and then you head outside for a bike ride. You are enjoying the weather, riding your bike and suddenly something goes terribly wrong. You don't understand, you hear someone screaming but you can't figure out what is happening. Then you realize... the screaming is you.

Blinding pain, you are bleeding, breathing is getting increasingly difficult, you are physically unable to move your legs, paramedics telling you things you don't understand, doctors and nurses running frantically and then blackness.

When you regain full consciousness in the hospital a couple of weeks later, you are confused and scared, still unable to fully comprehend the situation. Then reality sets in like a swift blow to the head as you become aware that the last two weeks were not a horrible, dark nightmare.

This is what I lived through from my cycling accident. Nearly two years later, I am now making it out the other side of my injuries and this video of Martyn Ashton back on his bike is the most inspirational thing that I have seen so far! Thank you, Martyn! I recommend watching it in full-screen mode with the volume turned up so you can hear the laughter of these friends as they help their buddy get back to the sport he loves.
'I am now making it out the other side of my injuries and this video of Martyn Ashton back on this bike is the most inspirational thing that I have seen so far!'
The joy on Martyn's face at getting to ride his bike again is amazing and seeing his friends set him up on his bike and careen down the mountainside together bowls me over every time I watch it. I dream of doing this again one day!

Martyn Ashton has been a professional mountain biker for over 20 years and in 2013 he experienced a spinal cord injury while on his bike. Martyn is now wheelchair bound, his life changed forever. To understand why this video has such a dramatic efffect on me, check how talented Martyn was on his bike before his accident in this wildly popular video of him (nearly 1.2 million hits!). This is truly inspirational for me and I wish Martyn continued success!

For an interview about the main video I posted above, check out this interview with Martyn.