development lifecycles


Cook until Done

There's no shortage of advice on how you should model, design, test, build, and deploy your software project. Every author, trainer, and pundit will swear up and down that "they know the secret." They know how to build great software—they've done it before and all you have to do is follow their lead. Buy their software, read their books, buy their tools, attend their seminars, and do it just like they do it and you'll be a success, right? But somehow it doesn't seem to be that easy. In this column, the first in a series of articles that will explore the different avenues of software development, Andy Hunt and Dave Thomas, the Pragmatic Programmers, begin the journey by revealing that learning software development isn't as easy as the pros make it out to seem. Find out why these books and seminars work for them, but not always for the rest of us.

Andy Hunt Dave Thomas
The Goldilocks Parable: How Much Process Is Just Right

Getting process improvement "just right" is difficult. Go too far in the definition of processes, and it really does get too hot, with the heat coming from the people trying to use the processes. On the other hand process definitions that are too short to contain anything of value will leave users in the cold, and then there will be no improvement in the organization. Ed Weller states that a useful process improvement activity develops a set of process artifacts that meets the needs of the user. This helps the organization capture "tribal lore" and cast it into a set of process definitions that eliminates waste and improves time-to-market.

Ed Weller's picture Ed Weller
QA Preventing Failure Suffering for Success

One of the most valuable services a QA group provides is preventing failure. Ironically if the group succeeds at this, QA might find themselves unpopular or out of a job. Linda Hayes reveals how typical methods of measuring success can actually cause failure. Especially if success is achieved at the loser's expense.

Linda Hayes's picture Linda Hayes
Test-Driven Development Isn't Testing

There's a common misconception that test-driven development is a testing technique when in fact it's a design technique. In this column, Jeff Patton explains this and how you might use your unit tests to explicitly guide and describe the design of your software.

Jeff Patton's picture Jeff Patton
test automation Not Your Father's Test Automation

If you think that test automation is mostly about executing tests, then you're missing out on a big opportunity. Or rather, you're missing a lot of small opportunities adding up to a big one. Consider this: stop thinking about test automation as merely executing automated tests, stop thinking about test automation as something you need expensive tools for, and start discovering automation you can implement in a couple of days and usually with extremely inexpensive tools or tools you already have available. In this week's column, Danny Faught and James Bach suggest taking a more Agile approach to test automation.

James Bach's picture James Bach Danny R. Faught
Learning Speed from Quality Programming

As software professionals we spend far too much time fixated on speed and asking questions about how long a task is likely to take. In this week's column, Mike Cohn says we need to focus more on quality than speed. When something is done well, it's only a matter of time until it is done quickly.

Mike Cohn's picture Mike Cohn
finding tools Being Resourceful When Your Hands Are Tied

You work hard to find tools that can help you. You learn how to use and configure them. Then you find yourself working in an environment where you can't even use them. Have you encountered this frustrating situation? Danny and Alan have encountered this frustration many times before, and in this week's column, they're here to say you don't have to abandon all hope. If you're creative, you can still find tools to use–even in the most inhospitable environments.

Danny R. Faught's picture Danny R. Faught
The Seven Habits of Highly Insecure Software

Severe functional bugs usually have pretty overt symptoms: an application crash, corrupt data, and screen corruption. Security bugs, though, usually have more subtle symptoms and habits. This article discusses the most common and difficult-to-notice symptoms of insecure software to help you track down these bugs during testing.

Herbert H. Thompson
software development model showing basic work products and the V&V activity Quality Assurance Section for a Design Specification

This article explains the contents of a quality assurance section for a design specification. It includes reasons why this section is needed by design-time, clarifies the difference between quality assurance and software testing, relates the outline to the V Model, and provides a format easily transferable to other project documents, such as project plans and proposals.

Margaret Harris
Open Source and Hype

Hype is not unknown in the software field. The advocates of every new software idea exaggerate the benefits of using that idea. Those exaggerated claims generally have no basis in reality. In this week's column, Robert Glass explains his theory about Open Source Software.

Robert Glass


StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.