Full titleMonitor and assess available technologies
ObjectiveMonitor available technologies that could be used in the project, but give priority to the proven solutions
Applicability

This practice concerns mostly the continuous development and maintenance of the software:

  • Crucial: drafting initial architecture of the system
  • Important: whenever new major features are added to the system
Context

The practice applies to all software projects. To a lesser extent, it concerns projects based exclusively on legacy solutions.

Addressed elements in SMM
Actions
  1. Identify available solutions and technologies
    1. Match the requirements with features offered by available technologies, to identify candidate technologies for implementation
    2. Consider the quality of support offered for the candidate technologies: community, mailing lists, conferences, frequency of releases
    3. Evaluate the maturity of each candidate technology
  2. Consider and evaluate alternatives
    1. Find a fair trade-off between the existing (legacy) and new technologies
    2. Give priority to the technologies already used in the project, unless the new technology offers significantly better capabilities or is more mature (in particular, for the core modules or main functions of the project)
  3. Validate the technology on a small scale
    1. Implement low-risk tasks with the selected candidate technology
    2. Assign a person to investigate the selected candidate technology
    3. Assign the project tech leader to make the final decision concerning the adoption of the candidate technology
    4. Consider organizing a local seminar/workshop to help the team learn the new technology
Risks
  1. The existing technical solution becomes obsolete
    1. The existing technical solution cannot cover new requirements
  2. The current solution/technology is not compatible with other libraries
    1. The cost of maintaining the solution can grow significantly
  3. The current solution/technology is no more supported by its vendor
    1. The cost of maintaining the solution can grow significantly
  4. The team does not have the skills required for the new technology
    1. Delays in project progress
Related practices
  • No labels