As a new Release Train Engineer and former Scrum Master, I am ambitious and excited to dive in to help my train and teams succeed. In both roles, I struggle challenging and supporting my trains and teams to follow a few concepts, I believe are valuable.
Vertical Delivery (working software is the primary measure of progress)
Why is this important?
Working software demonstrates progress, enables healthy feedback into the development process without too much re-work and illustrates how much work it takes to deliver amazing software (plus we can celebrate the progress!)
My Struggle
Overall, shifting mindsets is hard. Our tech team can do the work. Moving away from getting everything together from the onset, is the difficult piece. Getting one piece of data from the database to the UI or even faking the data and getting data to flow from one place to the front end can be a big change. One thing I’ve seen that seems to help think through how to deliver vertically – during PI Planning, one team planned out what they would demo at the end of each iteration. If the demo description didn’t seem to deliver new value, the work may not be very vertical.
Set Based Design (assuming variability; preserve options)
Why is this important?
Change is inevitable. This helps designs and solutions pivot away from dead ends when new information is acquired. Also, this helps support innovation and conquer unknowns.
My struggle
From my perspective, during PI Planning or Iteration Planning the team has a clear idea of how they are going to do something and then go and do that thing. While this makes sense (SAFe also mentions how this is normal), it seems like we hurt our ability to innovate and try new solutions that may work better than just sticking to the plan (responding to change > following a plan). I don’t know if this is just a concern because of the technology we use and mindset we’ve created or if every organization has this kind of dilemma when also trying to deliver valuable working software.
Improved Predictability (program execution)
Why is this important?
Predictability helps others understand when they can receive their valuable working software. The more predictable a team, the better experience and experiences matter a lot. For example, if we expect websites to load within milliseconds and it takes 20 seconds to load a website that will result in a bad experience. That experience matters because we won’t go back to that website if it takes a long time to load.
My struggle
Sizing is hard. Sizing is an estimate, but it doesn’t need to be precise. I think this takes practice and the better the work is broken down, which also takes practice, the better we can size. I believe the skill of sizing can be improved and results in better expectations when it comes to major gaps. Often, I see rushed estimations (maybe because of pressure) or I don’t see a lot of time spent thinking through the estimates. Again, there is a delicate balance between wasting time on solving the entire story (analysis paralysis) versus getting just enough information to estimate how long it will take to complete the work.
What do you think?
I know the teams and trains I work with can execute on these concepts. I think as an RTE I can better support them in doing this by finding examples, finding mentors to help guide them and being unafraid to challenge “the why” when someone says it “can’t be done” like that.
I wanted to share my struggles because I think others have these struggles, and it is OK to openly talk about what we are working through. If anyone has any suggestions or thoughts, I’d love to hear from you and what you learned along the way!
Photo Credit: https://medium.com/@media_75624/release-train-engineer-rte-is-not-a-traditional-manager-b51536bd6664