Developers and Dragons: Slaying Bugbears with Agile Workflow

developers-and-dragons

The hulking bugbear brought down his maul a final time, dashing the head of the party’s last-best hope against the jagged wall of the cavern. The blood-soaked brute stood gloating over the rapidly expiring half-orc Stump, as the wily ranger Dukes Nightpipes (taking the only sensible course of action) bolted for safety. The grey dwarf Gordon Heavyfoot and dragonborn cleric Cornelium Pu had been ravaged by a group of goblins and were splayed out on the cave floor clinging to life.

Sometimes things do not go as planned. Take the catastrophic scenario above, ripped from our office Dungeons & Dragons game as a cautionary tale. Was a win achievable? Absolutely. However, being a group of noobs, we had no idea what to expect when going into a challenging encounter. Until that point, we had been able to dispatch small groups of goblins with relative ease. It was not until we found a bugbear in the system that we realized we were in over our heads.

By then, it was too late.

What Does a Bugbear Look Like?

As developers and web professionals, this brutal lesson is one our Dungeons and Dragons crew should have been more prepared for, as it’s something we run into constantly in our working life. How many times have we been lulled into a false sense of security by smooth waters only to then find ourselves face-to-face with the kraken that was lurking below the surface? It seems a given that every development project, no matter how benign it might seem initially, will have some hidden dangers. Those dangers can take any number of forms.

There could be a small glitch in the system, a server-configuration gone wrong or a developer blind-spot. Maybe you assumed a plugin or framework would offer a certain functionality that it didn’t quite deliver. You might even find yourself in the unenviable position of approaching a problem from the wrong angle and having to stop, rethink, walk it back, and take a different tact after hours (or days) of work.

In a profession where unique problems come standard issue, everyone rolls a 1 sometimes. If your guard is down, a problem you’ve encountered before might re-emerge and fool you again. Anything from a slightly misguided mindset to a missed keystroke can cause a critical fail with consequences rippling outward to affect the team, client, timeline, and budget. Since we can’t hope to eliminate these stumbling blocks completely, how do we prepare for them and mitigate the damage?

Plan, Plan, Plan

Above all else, planning is instrumental to any project’s success.

Starting with a directive of “build a website” seems reasonable on the surface, but it’s fraught with hidden dangers, including unforeseen barricades and the persistent troll “scope creep.” The more thoroughly your team is able to discuss, assess, estimate, and diagram each step of the process, the less likely you are to be blindsided.

Get granular with it. Examining and understanding each piece and having a plan for its execution gives you a deeper understanding of the mission as a whole. Draw flowcharts. Estimate everything. Block out your functions and make comments about exactly what they will accomplish before you even write your first line of code.

Our intrepid band of misfits was aware of the impending encounter well before we staggered into that cave. If we had taken some time to discuss our bugbear and goblin encounter beforehand, we may have been able to come up with a more solid battle formation, a strategy for maximizing our attack potential and even an escape plan in case we needed to regroup and re-strategize.

Be Prepared for Moving Goalposts

Second, you need to have an internal understanding that priorities and deliverables may shift and change as the project moves forward. Work on your acrobatics and dexterity!

Over the past year, the coolblueweb team has been implementing a more Agile system of web development and project management. By creating bi-weekly sprints of manageable tasks, we are able to maintain a clear understanding of where we need to be in the project (work- and budget-wise) at any given time. Of course, there are always adjustments and course corrections, but planning does not remove room for flexibility. On the contrary, it creates a solid roadmap that you can adjust and riff on at will.

When we have a deep understanding of our path forward, we can keep our focus directed at delivering an MVP (minimum viable product) while pushing “nice-to-haves” and additional functionality out to future weeks and tackling them if time and budget allows.

When facing off against a cave full of goblins and one very imposing bugbear named Klarg, we could have realized fairly quickly that our current strategy was getting us nowhere. Yet we made no attempts to regroup, adjust our positioning, or even take a different approach to the problem. We dug in our heels, continued the same attacks and failed.

It’s Lonely in a Vacuum

Remember that you are part of a team. One of the benefits of working at an agency over working for yourself is having access to a deep pool of knowledge (for those rare moments when StackOverflow can’t get you where you need to go). Of course, everyone is busy slaying their own dragons, but, if you find yourself in a bind, remember you are not a one-man-or-woman-army. Get to know your teammates, and their strengths and weaknesses, and leverage them to help you gain the perspective you need to overcome your obstacles.

Do not be like Gordon Heavyfoot, the duergar recluse who, when faced with a group combat situation, immediately isolated himself and proceeded to enact the melee equivalent of bashing his head against a brick wall over and over until a weak foe got the better of him and took him out of the fight. Many sessions later, he’s still recovering from the headache.

Eliminate Luck from the Equation

When you get right down to it, our fateful cave encounter was full of missteps and terrible dice rolls. If there were a theme song for the gaming table that day it would have been U2’s “One.” Had luck been on our side, we still may have been able to pull off a victory.

However, the ultimate, real-world goal is to eliminate any reliance on luck and circumstance. Instead, rely on the support of your team. Mitigate negative outcomes through careful planning. Put your wisdom and dexterity to the test and summon the foresight to reduce the unexpected, the bizarre and the angry bugbears into the non-factors they should be.

Epilogue:

The sun began to rouse the wounded adventurers as they were dragged from the cave. A bugbear carried a barely-conscious dragonborn over his right shoulder. Two goblins were dragging a groggy grey dwarf between them. Behind them, even more goblins hoisted a limp figure encased in a large burlap sack. As Cornelium the dragonborn started to regain his senses, he noticed a familiar figure in the bushes behind them. The steadfast ranger Dukes was tracking his friends, watching from a distance and waiting to make his move.

With most of their compatriots weaponless and bound, the group was forced to adapt to their circumstances. Cornelium began to use his magic to create strange noises in the surrounding trees. As soon as he was able to get a free hand, Gordon used prestidigitation to add his own chorus of wails to enhance the effect. Their captors were overtaken by fear and paranoia and began to scramble. Lurking in the shadows, Dukes was able to systematically pick off the goblin stragglers with his longbow as their ranks scattered and began to break apart. Cornelium stealthily cut the weapon strap over his captor’s shoulder, leaving him disarmed and none-the-wiser.

As Duke’s arrows continued to rain from the sky like cold death, enough goblins had been felled or scared off to allow the grey dwarf to blast his way free and a familiar looking half-orc (a traveling brother of the slain Stump) to emerge from the burlap sack. One major, snarling obstacle remained. The adventurers focused all of their energy on the enraged bugbear who had dropped Cornelium and was screaming into the bright sky. The once seemingly insurmountable foe was helpless against the onslaught and soon met a brutal end.

Through a magical mix of concerted strategy, teamwork, innovation (and, fine, a little bit of luck), our heroes were able to persevere and emerge wiser, more cohesive and a fair bit humbler. Sure, they still instigate the occasional tavern brawl, but they always know what they’re getting into.

Would you like to read more about Agile Development? We recommend reading our article about Built with Agile: How to Maximize Value During the Development Process.

Mattice started working for coolblueweb shortly after settling into life in the Pacific Northwest. He enjoys creative solutioning, solving puzzles, music, and self-deprecation fueled by deep seated neuroses.