Imposed change on a global scale shifts how the world works. For example, the industrial revolution eventually replaced cottage industries with at-scale manufacturing. Similarly, the rise of the Internet shifted the meaning of expertise from what-you-know to what-you-can-find-and-apply. And now we are watching another global shift, from tolerating remote work to embracing it as a value. We are seeing the first glimmers of a new reality. Last week we wrote about mindshifts that are necessary to prepare your technical teams […]
Articles written to explore ways to improve productivity in context of bugs and legacy code.
Our world is in a state of emergency. Today’s uncertainty and ambiguity means we can’t assume everybody can be back in the office shortly. And truthfully, this is an opportunity. In the office, informal technical communications covered for many weaknesses. Technical skills that were good enough in the office won’t work well in remote work, where informal communication is limited. Excellent technical skills, however, allow developers to communicate informally through the code. Beneficial? Yes, but not strictly necessary. At least […]
You schedule sprints that do nothing but clean up the previous sprint. You are told that features you feel are critical to the product “simply can’t happen”. You watch feature after feature ship late and then get long bug reports. However, you have not been idle. You’ve contracted process and technical consultants. They gave you answers and you got the green light to implement them. Things did improve, but your bottom line issue of buggy and late deliveries continue to […]
Executive Summary In trying to improve productivity and reduce waste there are 3 important concepts. These often get confused, which makes it difficult to align and fix the problem. The key concepts are: Technical Debt — a way your system has not yet incorporated new information. Technical Waste — technical friction that does one of 3 things: puts existing business at risk, or causes delays and increases costs to respond to new information when it appears (aka, manage technical debt), […]
Our background and experiences inform our instincts … and your instincts tell you that productivity is low because technical waste is in the way. How can teams possibly be effective working through the maze of quality issues they face? You have instituted process changes to help them reduce WIP. You have established the roles recommended to make communication clearer and faster. You have embraced the recommendations you’ve heard at conferences or from consultants. You and other leaders have made the […]
We all know naming is a pain in the ass and you can’t trust the names in your code. But it doesn’t have to be that way. Many people try to come up with a great name all at once. This is hard and rarely works well. The problem is that naming is design. Here are the things you are typically trying to do all at once while naming: Deciding the things the code should do Deciding which things go […]
Is technical waste really a threat? Sure it costs a lot of money, but that is small compared to the revenue from a successful software product. You attained business success by maximizing the odds of revenue. You could afford some technical debt along the way. But now that debt has become waste. Technical waste is not just costing money. It is costing options. Want to take the product to the cloud? You can’t in less than 2 years. Subscription business? […]