Better Software Articles

Please enter an article title, author, or keyword
Taming the Headless Beast: A Proven Strategy for Testing Web Services

The benefits of Web services are becoming widely demonstrated and accepted. However, these benefits are not without their own challenges. How can you enter data and verify the response of a system without a GUI? Are you ready to tame this headless beast?

David Fern's picture David Fern
Go, Team!

Fed up with good-ol'-boy salesmen, a manufacturing mindset, and just-get-it-out-the-door directions? A little assertiveness, a few ounces of patience, a dash of charm, a lot of leadership, and some attitude adjustment by everyone might help. Read how one manager made the world a better place to work one small victory at a time.

Patrick Bailey's picture Patrick Bailey
The Ghost of a Codebase Past

Revisiting your old code can be an enlightening experience. Pete Goodliffe encourages us to look back at our old code to see how our technique has improved, how our programming skills have progressed, and what we can learn from it.

Pete Goodliffe's picture Pete Goodliffe
Are Your Pants on Fire, or Do You Suffer from Split Focus?

Some schedule games—Split Focus and Pants on Fire—are the result of your management not making certain decisions about the project portfolio. Without those decisions, your project has problems. In this column, Johanna Rothman explains what you can do when the problems on your project are caused by your management’s lack of decision making.

Johanna Rothman's picture Johanna Rothman
The TSA and Software Quality

As evidenced by news stories relating blatant failures on the part of the Transportation Security Administration, many organizations fail to learn much from the information testing provides. What can we do to improve the quality of our measurements so we can learn valuable lessons from the results?

Lee Copeland's picture Lee Copeland
Building a Foundation for Structured Requirements: Aspect-Oriented Engineering Explained (Part 1)

Aspect-oriented requirements engineering (AORE) is a new methodology that can help us improve the analysis, structure, and cost of development of software requirements. AORE does not replace but rather complements any of the existing requirements methodologies. This two-part paper explains to software practitioners the AORE concept, illustrates how it can be applied on software projects, and discusses the benefits of AORE. Part I focuses on the AORE analysis techniques.

Yuri Chernak
The Kanban Primer: A Cultural Evolution in Software

Kanban,a Japanese word meaning “signal card,” introduces a new way to think about software development. Through signaling, a limit is set on work in progress resulting in a system that is never overloaded. Kanban signals do not need to be based on passing physical cards; any virtual signaling mechanism will do equally well.

David J. Anderson's picture David J. Anderson
Risk-based Testing in Action

Risk-based testing allows project teams to focus their limited test efforts on the areas of the product that really matter, based on the likelihood of bugs in those areas and the impact of bugs should they exist. By using risk priority to sequence test cases and allocate test effort, test teams can also increase their chances of finding bugs in priority order and allow for risk-based test triage if necessary.

Rex Black
A Path to Readable Code

Test-driven development is usually presented as a developer process. On the other hand, acceptance test-driven development (ATDD) is a communication process between the customer and the developer. In ATDD, the tests provide the terminology in customer-understandable terms. The customer's terminology suggests abstract data types that make code more readable.

Ken Pugh's picture Ken Pugh
Lucky and Smart

Charles Darwin was certainly a great scientist, but his career and his discoveries were also strongly influenced by serendipity and luck. What could this great explorer and scientist teach us about testing?

Michael Bolton's picture Michael Bolton

Pages

Upcoming Events

Jun 02
Sep 22
Oct 13