Every business is striving to achieve business agility. They want to create larger impacts, deliver value more often, embrace customer learnings, and ultimately move faster to outpace competition. At the same time, businesses are being required to tackle new and varying classes of problems. Innovation, for example, is classified as a wicked problem. This means…
Read more…
“We learn from failure, not from success!” – Abraham Van Helsing, Dracula Last week, I gave a presentation called “Leave Nothing to Chance” at the Nebraska.Code() conference. The essence of the talk was the value of locking down all the little decisions to better ensure success in your software projects. I started the talk with…
Read more…
The team at Don’t Panic Labs has worked on a lot of software over the years (10 years last month, by the way). We have stood up numerous new applications and platforms for our customers and have transformed many platforms into more modern and stable platforms to help customers grow their businesses. But the single…
Read more…
Communication is at the heart of designing and building software. When undertaking a software project, it’s often necessary to build a consensus around critical decisions with a group of stakeholders. At Don’t Panic Labs, we use communication and design techniques to co-create a shared understanding between a client’s stakeholders and our development team. It’s a…
Read more…
I am not a designer, I don’t play one on TV, and I didn’t stay in a Holiday Inn Express last night. But over the years, I have developed some thoughts around UI / UX that have resulted in some basic “rules” to apply when building systems. While this set of rules is far from…
Read more…
We have several activities that add layers of quality to our software development projects. These activities include unit tests, sprint code reviews, and test plans. Recently, we added another quality layer to our process: acceptance test criteria. This new step occurs at the development story level before any coding begins. The goal is to ensure…
Read more…
Doug Durham and I recently completed another Software Design and Development Clinic. This week-long set of classes is designed to help level up software developers into senior developers. For us leading the classes, the week is always exhausting but they’re still one of my favorite weeks of the year. Leading even a small group of…
Read more…
Have you ever wrestled with a problem in your mind and then, while trying to explain it to someone else, had an epiphany of how to solve it? This has happened to me on numerous occasions. Or have you ever jumped in to develop some code for a piece of business logic that you felt…
Read more…
In my first post of this series, I discussed how ambiguity and lack of shared understanding between members of a product development team can occur when we rely on unstructured, ad hoc, and abstract communication processes (i.e., conversations and high-level user stories) for expressing our thoughts and ideas. We feel like we are painting a…
Read more…
I was recently re-introduced to one of my favorite essays, Why We Should Build Software Like We Build Houses, by Leslie Lamport. Leslie is one of several thought leaders within our industry who I really admire, both for his insights into the nature of software design as well as for his contributions in terms of…
Read more…