If you’ve been following my series of posts about ALM, you know that the Lean concept of flow is one of ALM’s two central pillars. (The other is alignment, an indicator of the likelihood that the software organization is delivering value.) Whenever I talk about anything related to Lean, I’m always a little nervous. People misinterpret Lean frequently, with highly destructive consequences, so putting a Lean frame around ALM is almost asking for trouble. The most frequent distortion of Lean that I’ve seen in software development is the following syllogism: Lean tells us that we should reduce waste. Unused capacity is a form of waste. Therefore, we should maximize the utilization of our capacity. To Read more
Posts Tagged 'Flow'
Recently, I published a five-part series of videos about application lifecycle management (ALM), summarizing a lot of what I’ve learned about the subject. Probably the two most important points are the following: ALM is a strategy, not a framework, a methodology, or a bunch of tools. Software innovators, from IT departments to Silicon Valley start-ups, need to overcome their confusion over what a strategy really is. The videos already make the arguments behind these two points, so I won’t repeat them here. Instead, I’ll focus on a practical issue, knowing the difference between a real strategy and an imitation of one. Many software companies define their strategy as a series of initiatives. Some representative examples Read more
In my recent blog post Test-Driven Business, I started to examine the application of Test-Driven Development techniques to the business. The general idea is that software to development is like hypothesis to the business. We test in development in order to make certain that the software works correctly. Likewise, we test a hypothesis in the business in order to validate it. Just as we fix a line of code, we fix an invalid hypothesis. The model proposed for Test-Driven Business includes two core elements: View of the flow of activities in the firm as comprising three distinct phases: Ideation, Execution and Planning. Two strands that we try to merge within each phase. With these elements Read more