Archive for April, 2007

AiS 20: Process Alignment

Tuesday, April 3rd, 2007

Listen Now

All groups within a project team must be able to communicate in order for the team to succeed. The groups need to speak the same language, and for that they need a common tool set. A tool that one group is comfortable with might not translate into the work of the other group. A business analyst might be comfortable creating a mock-up in VB, but it is not the ideal tool for communicating with web developers. A picture is worth a thousand words. But that's because there are a thousand different interpretations of one picture. If the team shares a common language, that significantly limits the number of possible interpretations. The needs of the project, the culture of the workplace, and the resources available all contribute to the tool selection.

An agile process might be the right choice for your team, but be careful of the underlying assumptions. Agile methods assume that the cost for change remains constant over time (Beck, Kent. Extreme Programming Explained. Addison-Wesley, 2000). It assumes that management can tolerate dramatic changes to architecture later in the project, when the need for that architecture becomes apparent. Agile development requires the highest quality developers, who can recognize when those changes are necessary and make them quickly. If you don't have extremely tolerant management and extremely good programmers, don't use an extreme process.

The process and the architecture should both emerge from the needs of the business. In the case of Handmark, we aggregate content from multiple sources, each of which dictates the technology they use to deliver the content. Therefore, the process includes a New Technology and Content Plan. This document lays out the decisions made while researching the new provider and documents how the system will communicate with them.

The goal of an engineering process is the flow of information among the various individuals and groups on the project team. Each component of a process is an "IPO", input-process-output. In this way, components fit together like pieces of a work flow. With a good process, the team becomes an organism, where information is its life blood. Just like the different parts of the organism rely upon one another for survival, the project team relies upon each of its members to be successful. The right process makes this possible.