Better Software Magazine

Better Software Magazine Articles

Communicate, Don't Assimilate

Opening an offshore office can be a tricky situation. Learn how to spread corporate values and processes to your new team members by working together instead of forcing them to adopt your way of thinking.

Melissa Sienkiewicz's picture Melissa Sienkiewicz
Software Quality and the Prisoner's Dilemma

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.

Paco Hope's picture Paco Hope
A ''D'' in Programming

In certain company, the topic of favorite programming languages can elicit the same response as other taboo subjects, such as religion and politics. But, Chuck's going out on a limb to discuss his new favorite language, D, and some of its best features, such as its being strongly typed and compiling to native code, yet it is garbage collected.

Chuck Allison's picture Chuck Allison
A Change Would Do You Good

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.

Jonathan Kohl's picture Jonathan Kohl
Where Do I Go From Here?—Professional Growth for Software Testers

Most professionals have a detailed career ladder upon which to climb and grow their careers. But in many test organizations that ladder has only one rung—and it leads to management. If management isn't your path of choice, these tips can help you market yourself and add value to your career while you build your own technical career ladder.

Matthew Heusser's picture Matthew Heusser
Developers ... Start Your Engines: Reuse with Source Code Searches

Source code search engines can help you find chunks of reusable code. These search engines differ from generic text search engines by organizing the results to reflect the way code is organized—into functions, classes, packages, etc. These reviews of some popular engines can help you rev up reuse in your work.

Alan Berg
Incremental and Iterative Development

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.

Alistair Cockburn's picture Alistair Cockburn
Learning the Hardware Lessons

Systems and software aren't just about correctness; they are also about solving problems for people. According to the context-driven software testing movement, a problem isn't solved if the product doesn't work. Michael's experience in a hardware store drives that lesson home.

Michael Bolton's picture Michael Bolton
The Art of Persuading Management

You can't get your manager to give you what you want if he won't listen to you. Naomi suggests some strategies-including being methodical, gathering data, properly timing your requests, and practicing what you plan to say-that can help you make your case to the powers that be.

Naomi Karten's picture Naomi Karten
Modern Distributed Teams

Traditionally, managing distributed teams has been perceived as difficult. But the advent of effective modern processes and tools is breaking through the obstacles and making distributed teams a viable—and valuable—option. Find out how to make the most of people, processes, and tools to create and maintain a successful distributed team.

Chris McMahon's picture Chris McMahon

Pages

CMCrossroads is a TechWell community.

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