We've all heard Einstein's definition of insanity, and it definitely holds true in software development. We "are" going to make mistakes in product development, but root-cause analysis can help us understand those mistakes and be proactive in not repeating them.
This industry spin on the classical dilemma illustrates the games we play when software quality is at stake and gives insight into why software managers who forego quality in order to reach a short-term marketing advantage are actually acting rationally.
Visit any bookstore these days, and you will be faced with shelves of books whose titles claim they can make everything—from cooking to exercise—more interesting. In our industry, boredom is a problem that can affect your ability to solve complex technical problems. Discover how change can spice up your software processes.
People get wrapped around the axle trying to understand the difference between incremental and iterative development. The Unified Process authors in the 1990s didn't help by indiscriminately calling everything iterative development. The two are different and must be managed differently. Successful teams do both at the same time, usually without thinking about it. Then someone starts thinking about it and does one without the other. Bad news follows.
Evolution of a word's meaning through common misuse is a reality of human communication. In the software industry, by using the phrase quality assurance to refer to what is more properly called quality control (i.e., testing), we may have lost our ability to answer the question "does our process work?"
Ever wondered what productivity experiments on factory workers in the early twentieth century have in common with today's adoption of agile practices? Lee sheds some light on the "process of process" and the importance of retrospectives as catalysts for change.
When these information architects were assigned to a team that was struggling to achieve CMMI Level 2, they found little user buy-in for the new processes. Find out how introducing user-centered design to the project got everyone involved in the design process and increased the users' satisfaction in the end product.
Drawing on real events from the authors' combined experience, this story picks up where it left off in the November 2007 issue and follows a fictional team as it encounters some of the pitfalls of using test-driven development.
While "testing" is part of its name, many TDD pundits insist TDD is not a testing technique, but rather a technique that helps to focus one's design thinking. Drawing on real events from the authors' combined experience, this story follows a fictional team as it encounters some of the pitfalls of using test-driven development.
Traditional management systems were designed to measure conformance to plan, not adaptability. So in order to achieve truly agile, innovative organizations, a change in our approach to performance management systems is necessary. Find out why a switch to an adaptive performance management system can unleash the full potential of agile methods.