You need to ensure that the application will fit with other applications and will reuse components and ideas. You need to gain appropriate user involvement and commitment. You need to determine team structures and skill requirements and work out the project management approach and the development process. The objectives of the Pathfinder development must be considered nearly impossible to achieve in order to ensure that only commitment from the top and the elimination of politics will achieve them. The Pathfinder project will tackle the difficult things first. It will prove the infrastructure and the techniques for exploiting it. A Pathfinder project kick-starts the process of ongoing research. This process should stop only when the technology stops changing.
Figure 15-7 In the absence of architecture, components, and patterns, initiate a Pathfinder project to produce them
Usually some of the work will have been done as part of other projects. This will reduce the workload, but it will still be necessary to bring the various strands of work together to meet the Pathfinder objectives.
A Pathfinder project will include the following objectives:
- Developing a logical business architecture (This architecture is best expressed as a high-level logical business object model.)
- Developing a technical system architecture that will adequately support all the technical requirements, such as database updates, maintainability, and performance
- Developing design patterns and frameworks to address anticipated design problems, such as bulk data movements, locking strategies, and error handling
- Demonstrating that the technical architecture can deliver at least one significant business requirement to a production environment
- Providing an initial knowledge base
- Developing a core team of technical experts who can provide technical supervision and mentoring to other staff
- Identifying the skills required to complete the project
With a new development tool, it is essential that these areas be revisited and fully understood. The people carrying out the investigation need to be among the best developers. They need to be in touch with day-to-day development issues. They need to know what is important.