History offers lessons for software projects

Boston, MA. The Winter War of 1939 and the fate of the 17th-century Swedish warship Vasa have lessons to teach software developers and testers, according to Iris Classon, a software developer at Swedish IT company Evry. Delivering a talk titled “To Build Better Software, Build Better Developers and Testers” at the Better Software Conference East held here last week, Classon offered historical examples that emphasize the importance of having the right tools, of prototyping, and of keeping management informed of project status.

In the Winter War, the Soviet Union's invasion of Finland faltered despite the former's vastly superior forces. Finland had 32 tanks, vs. 6,000 for the Soviet Union, and Finland had 114 planes, vs. 4,000 for the Soviet Union. And Soviet soldiers outnumbered Finalnd's by a factor of three.

However, Classon pointed out, the Soviet tanks were virtually useless in the Finnish terrain, and the Soviet planes could fly only in the very limited daylight hours. The Soviet soldiers lacked camouflage—their red and green uniforms stood out against the snow. Further, many of the most capable had been jailed or executed during Stalin's purge of 1937. Those in the field in Finland lacked autonomy and motivation.

The Soviets had tools, Classon said, but tools are not helpful if they are the wrong tools or used in the wrong way. And lack of motivation, she said, is the number 1 reason for project failure. And motivation in turn requires autonomy, competence, and the ability to relate to others.

Classon discussed training that can help boost competence. She said she doesn’t expect online training to replace classroom work at universities, but online training offers opportunities after graduation. Costs are easy to calculate: cost of the course plus costs related to training time—two to five hours per week.

Another option software companies can pursue is classroom training. It tends to be expensive, and companies choosing this route, she said, should get trainers to customize their programs.

She also recommended conferences—which entail travel costs as well as opportunity costs and gains. Conferences are not vacations, she said, and managers should make sure not to send people who plan to attend a few sessions and head to the bar. The effective attendee, she said, will go equipped with business cards and a 60-second elevator pitch, attend as many sessions as possible, and interact with other attendees.

Finally she mentioned on-the-job training, which has minimal costs and is always required to some degree. It can take the form of brown-bag lunches, pair programming, mob programming, and agile learning. Mentoring has a role, and it needn’t be more experienced employees mentoring younger ones. Classon noted that younger employees can mentor COBOL programmers—thereby imparting to them new skills while maintaining their institutional knowledge.

Classon next described the fate of the 17th-century Swedish warship Vasa. Construction on the ship began in 1626, and two years later, 1,300 m into its maiden voyage, it sank.

Vasa was innovative for its time in that it packed a lot of firepower on two gun decks, which proved to be its undoing. As Classon explained, the builders didn't prepare a prototype, which might have shown that the ship sat too high in the water, was top-heavy, and lacked sufficient ballast.

Despite the lack of prototyping, tests were conducted. For the benefit of the vice admiral of procurement, the construction supervisor developed a test in which 30 men ran back and forth across the deck to start the ship rolling. The test was quickly canceled for fear the ship would sink—the instability was evident.

Nevertheless, the project manager—King Gustavus Adolphus in this case—was pushing to get the construction completed, and no one dared explain the situation. Test results were ignored, with devastating consequences.

The applicability to software projects of failing to communicate test results is self-evident, and Classon did not bother explicitly citing a particular U.S.-based software project that could have benefited from the lesson of the Vasa.

Classon concluded with a discussion of time management. “Use time as a tool—not as a crutch,” she said, recommending tools like GTD or RescueTime. She noted that goals need to be SMARTer: specific, measureable, actionable, realistic, and time-based, and it must be possible to evaluate and revise (your exact wording may vary). “Renovating your house,” she said, “is not an action item.”

(Classon prepared her presentation with Scott Allen of Medisolv Inc., who was unable to attend the conference.)

More in Instrumentation