Posts

Showing posts with the label Quality

Quality and Performance

Image
If you ask any engineer or manager, they will tell you they want quality. No one would say they do not wish to have higher quality. The reality as human beings is that we always want the best. Now, what does quality means? How do we determine if something is of quality or not? How can we learn how to see problems and how can we make things better? Hopefully I will be able to address all these questions in this blog post. In the 1980s there was big quality movement driven by Lean and other methods. Today quality is often misunderstood and took into the the wrong lenses. If you don't understand what quality is, and how good looks like vs how bad looks like, you don't know what's going on, and you certainly cannot make it better. Perspective and vision are everything. This post is not about QA. Having QA also does not guarantee quality. Like security quality is everybody's job. 

Quality Needs to be Managed

Image
Quality often means something different to each person. My definition of quality revolves around technical excellence. To achieve this, we need good architecture, sound design based on strong principles, good code, tests in a wide variety and diversity, and proper observability. To get there, we need refactoring(a lot), and I would also include good troubleshooting and review sessions.  Quality involves not only delivering automated product deployments but also ensuring the software is maintainable. Delivering software on time is not enough, and delivering value to the customer is not enough either because people and software are expensive. We need to do better.  Quality needs to be built-in, a strong, solid lean principle. However, we don't have as many incentives to built-in quality as we do for finishing projects on time. Projects are always associated with direct value to the company, and quality is often optional and mismanaged. Quality does not mean QA, and it's way beyo...