This is a guest post by Jenny Bramble, Software test engineer at WillowTree, and is a part of a series of guest blog posts from software professionals. The series will run throughout 2020 and cover a number of relevalt topics. Do you want to contribute to the series? Contact Lena Wiberg.


This is not a story about software.  This is a story about chickens.

My sister bought a farm recently—a real one with rolling pastures for her horses and cows, a strand of woods for the dogs, and a chicken coop large enough for all the chickens, guineas, and turkeys her heart desired.  The previous owners had planted strands of honeysuckle and blackberry vines along both sides of the chicken coop before they had to stop keeping chickens all together.

When they’d been smaller, the vines gave some shade to the chickens and offered a place for bugs to congregate—a welcome supplement to the chickens’ feed. This once useful feature had become a crippling mass of technical debt due to neglect by the previous project team. 

Several years and additions to the farm later, the vines grew unruly.  Twisting and clutching to the fence, they choked out the sun and blocked the breeze that should keep the birds cool during swelteringly hot North Carolina summers. They also held more than bugs now: snakes and rats nested in the tangles posing great danger to the end users. 

The Mission

My sister asked me if I could please clear the front of the fence—the back needed to be done as well, but we agreed in the time we had for the sprint, this would be a stretch goal. She offered me a pretty classic set of tools: pruning shears, a rake, and a very large knife.  I asked about some of the newer things she had available. A brand new chainsaw! A weed eater with a super cool disc attachment! She shook her head and reminded me that I was terrified of the chainsaw and she’d already tried the weed eater; it was an interesting tool but much slower to get the hang of as compared to the pruning shears.  Plus, the shears would work just fine.

I agreed and moved my first task into in progress: pulling dead vines away from the fence. The underlying architecture was sound and I needed to be careful not to remove anything that we wanted to keep. The pruning shears made quick work of the vines, neatly trimming them away from the fence.  I could tell as I worked away at this immense pile of tech debt that the fence was actually really well constructed. You couldn’t tell because the unchecked and chaotic growth of the vines had covered it up which not only made the area more dangerous for us, it prevented end users from having a good experience in an unrelated part of the farm.

Re-estimation

As I was working with the vines, I realized that if I took a little more time with each section, I could actually meet my stretch goal.  Stepping back, I took a good look at the vines. They were pretty twisted around the fence, but there were only a few main trunks coming out of the ground.  If I trimmed the trunks, the entire mass would peel off the top like a bottle cap. I changed my plan, re-estimated the amount of work I’d need to do, and when I’d have to tackle each section.  It looked really doable.

My sister dropped by regularly to check on my progress; she’s a fan of short feedback loops and standups.  She reminded me to protect myself from burnout by applying lots of sunscreen and taking a break now and again.  She was skeptical—getting both sides of the fence would be good, but she had other projects that needed the front side cleared.

The chickens, also, were pretty distressed at what was going on outside their coop.  They flew up to the highest roost and clucked at me, chastising me for changing everything they knew.  I tried to explain to them about increased air flow, but it turns out chickens don’t understand words.

Chickens do, however, understand what it feels like when they’re cooler and safer.

End result

By the end of the day, I’d gotten the entire fence line cleared.  My project manager was able to get her beautiful raised gardens in place and the end users were significantly cooler with lots of great air flow.  The tech debt was cleared from the fence so we could see where the infrastructure needed to be shored up. Additionally, we made a plan for phase two that built off the successful phase one.

Conclusion

This is a story about stepping back from a problem after you’ve worked on it for a little while and iterating on your plan.  It’s a story about how decisions made in the past can have harmful impacts in the present and future (even if they seem like pretty good decisions at the time).

This is a story about chickens.

About the author – Jenny Bramble

Jenny came up through support and devops, cutting her teeth on that interesting role that acts as the ‘translator’ between customer requests from support and the development team before diving headlong into her career as a tester.
Her love of support and the human side of problems lets her find a sweet spot between empathy for the user and empathy for her team.
She’s done testing, support, or human interfacing for most of her career.
She finds herself happiest when she’s making an impact on other people–whether it’s helping find issues in applications, speaking at events, or just grabbing coffee and chatting.

You can find Jenny on twitter under the handle @jennydoesthings