There has been a paradigm shift in the way electronics were made: from a batch-and-queue process to a demand-driven process, where parts would be made to order. We even had a name for it: Just-in-Time (JIT).
Level up your agile and get professional training.
For the first time in the history of mass production, we had a system that was designed to eliminate waste. No longer would there be any buffer between the customer and the factory.
Over the next few years, the JIT model would become standard practice in manufacturing, and the impact was undeniable: The cost of goods sold (COGS) began to fall precipitously.
The variance between the cost of the raw materials and the selling price of the product began to shrink.
Over the last few years, the lean manufacturing concept has made its way into the software world. Agile teams are no longer just working hard and quickly on a project; they are working intelligently.
They’ve learned how to reduce waste, be more productive, and deliver higher quality products. One of the key ideas behind agile software development is that it requires continuous improvement.
To that end, I’ve created a simple framework for evaluating and improving your process. I call it the Four Pillars of Software Quality.
Pillar #1 Process
The first pillar of quality is process, and it’s perhaps the most difficult to master. It’s the least tangible and the most difficult to measure. Healthy software development processes are like healthy families: they’re stable, they’re predictable, and they’re flexible. They’re designed to encourage people to work together.
To succeed, teams must work together. They must communicate. They must share information. Here's a blog post that can help you communicate better in meetings.
Process is the foundation for all the other pillars. Without it, the other three pillars are impossible.
Pillar #2: Performance
The second pillar of software quality is performance. It’s also the easiest to measure. Programming is a performance art. It’s an art form, and like any form of art, it requires a high degree of talent and skill.
Just as a great musician can perform for hours and hours without getting tired, a skilled programmer can write code for hours and hours without getting tired. The performance of your software is determined by the performance of its developers.
Pillar #3: Functionality
The third pillar of software quality is functionality, what your software can do to help people. 80% of features are never used, make the 20% count. Functionality is an essential component of software quality, but it’s only part of the picture.
Pillar #4: Testing
The fourth pillar of software quality is testing. It’s the part that makes sure the other three are working. The quality of your code depends on the quality of your testing. Conclusion In a sense, the 4 Pillars of Software Quality is a bit of a misnomer. Each of these pillars is a derivative of the others. They support each other. They are interdependent.