If a process tool or service claims to be agile it must be good, right? Not necessarily. The term "agile" has become abused and, since we don't have a standard dictionary definition, it is open to interpretation. So, let's look beyond the label to what really matters—value.
Pair programming is one of the most controversial agile practices. Managers are concerned about the costs and developers are concerned about personal agony. But there also are many benefits. If you are thinking about trying pair programming, here are several reasons why you should.
A switch to agile often conflicts with personal career goals such as maintaining the status quo and working no harder than necessary. These twenty guidelines will help you sabotage your agile project, helping you fail quickly and spectacularly.
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?"