We are a team of problem solvers. This year, SingleStone’s CTO Ryan Shriver launched Bounded Context podcast to investigate different ways of figuring things out.
Bounded Context is the ability to approach a problem and place boundaries on it, describing how the system is connected. Adding context makes problems more manageable and allows teams to cohesively communicate throughout the process. Ryan talked to industry experts about the methods, tools, influences, and various approaches to problem solving.
In the most turbulent of years, what’s more suitable than investigating this topic?
Here’s what we learned...
“As a consultant, present your client with options. Say, ‘this is the one I think is best for you, but here’s a few other ideas.’ This shows you’ve put in the work. You’ve thought about it and considered all possible outcomes, failures, permutations, and securities.”
No matter what the customer gives you, there’s always some building requirements. Approach the problem space, tightly define it, and break it down into component pieces that can be easily managed. After diagramming the problem, come up with different solutions to meet the customers' needs.
Episode 2 — John Chapin, Partner at Symphonia and Author of Programming AWS Lambda: Build and Deploy Serverless Applications with Java
“In cloud technology, the cost of experimentation is super low. So, let’s experiment, bring more people in, and find out early what the constraints and behaviors of these systems might be.”
Understand how the pieces fit together. Ryan refers to “boxes and arrows architects", people who draw boxes and arrows pointing in the same direction... some have dotted lines, and some do not. When they hit a new constraint, the team implementing a solution must conceptually understand it. So, weigh the cost of experimentation and involve people as early as possible.
“It’s our job to mitigate bias in technology and data. It’s our job to look at something and say ‘I know you think the answer’s going to be this, but perhaps we don’t have all the information at hand’...and then challenging ourselves to design around that.”
Technology and data are transforming who we are today and where we’re trying to go, but people remain at the heart of this system. Systems should be facilitating conversations between peers and lines of businesses, so that people can have conversations before data goes into a final report. Transform data into a language with integrity, so that businesses can understand, interpret, and help build a better future.
Episode 4 — Joel Tosi and Dion Stewart, Co-founders of Dojo and Co and authors of Creating Your Doko: Upskill Your Organization for Digital Evolution
“Architecture is about understanding the decision points and how they affect outcomes and people. The architecture serves a purpose, and we must ground ourselves in this purpose. After that, it becomes a learning expedition. What do we know well? What do we not know well? What can we possibly not get wrong?”
To develop skills in any industry, we’re only as good as our teachers. As a team, walk through the decision points to see how and where things fit together and ask questions. It’s a balancing act between training coaches and training entire teams, all working towards the same goal.
“Try things, do experiments...then reflect and share. When you finish something, don’t run to the next thing. Take time after the project to really think about the outcomes, because even if you’re not happy with results—there’s learning there.”
Creativity yields innovation. It's not a magical power, it’s a learnable tool that can be practiced and improved. When creativity is practiced in corporate settings, unbelievable things happen. People start to see the world differently, recognize new opportunities, sprout fresh ideas, and connect better with their community and teammates.
“People think success is when the final product has shipped or when they’ve attracted a million customers, but these are not always valuable. Success also means determining you shouldn’t build something or recognizing a bad idea.”
Give the solution to a problem, not just the code. Start with removing pain from the world. If there’s no pain behind the request, there’s no need for work. The next step is defining success and it can be difficult for customers to reach that point of clarity. Stay persistent— get to the heart of the matter and ideas will flow.
“It’s important to remember what you’re doing and why you’re doing it. It’s about speed, safety of deployments, and safety of releases...to drive value.”
Engineer projects to improve profitability. Evaluate entire systems and search for why problems exist. Measure, understand, and identify problems that drive value and prioritize the concept of cash and concept of benefits.
“If you have a bottleneck and you don’t know where it is, then it’s managing you."
Software development is situational, and every situation is different. Teams must adopt, think, and adapt to every situation.
“When we talk about outcomes, think about the improvement you want to make that will make everything better, versus the actions and steps needed to get there. So, I try to identify outcomes and do the least amount of work to solve them.”
The problem is critical to the solution. Become fully immersed in the problem and develop a deep understanding of how it affects people. We build the best products when we create empathy for solutions.
“I’ve started using Agile Manifesto values to open meetings with my leadership team, because they still apply. For example: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan... These are so applicable to us today and I think we should live by them.”
There’s beauty in simplification. Technology has evolved but fundamentals have stayed the same. It’s important to evaluate, examine, and redefine the processes managing the life of the service. Remember, it’s still WIP until it’s in the customers’ hands.
To our Bounded Context guests, thank you for your stories, expertise, and insights... You helped us stay sharp in 2020! We’re eager to continue these discussions next year. Please contact us if you’re interested in joining the conversation.