Key management stages in the software development process

by Adrian on August 31, 2009

Key management stages that you should go through in the software development process  include:

Facilitate the constant collection of business requirements from all potential stakeholders, including existing users and internal staff (sales, support, training, development etc). Consider creating and actively managing a user group, this can provide vital guidance for the product development schedule.

Regularly review potential business requirements to ensure that product development remains commercially focused. Ensure that you attend and contribute to regular management team meetings designed to enable all product stakeholders to provide feedback on future development. Product releases containing minor enhancements and bug fixes should be shipped monthly; releases containing major items of new functionality should be released quarterly or half-yearly.

Maintain a current product development schedule and product roadmap. This involves assessing the level of resources required to implement desired product improvements. An in-depth technical knowledge of both the existing product and available technologies are important to provide accurate initial estimates to the management team. If these are acceptable then work with your developers to produce more detailed timescales. This stage of the process will involve meetings with the project sponsor (the person or organisation who have proposed the enhancement). Depending on the complexity of the change and its impact on the wider product conduct a detailed analysis yourself or entrust a developer to do it on your behalf. Once all the feedback has been collected use it to modify the development schedule and roadmap.

Hold regular detailed design meetings with all developers. These ensure that proposed solutions are technically achievable and commercially viable as well as complying with current implementation standards.

Review the results of the previous build (the entire code base should be completely rebuilt and a series of unit tests run every night). This should involve monitoring key metrics such as code coverage, cyclomatic complexity and failed tests. If the level of any metric falls below acceptable standards ask the developer responsible to address any issues immediately.

Convene short daily meetings with each developer. These are held at the start of the day and are designed to ensure that each developer is on schedule to complete their current task within the time allocated by the release plan. An important part of these meetings is to ensure that development standards are being adhered to in order to preserve product quality. If a developer is behind schedule discuss with them the reason why and agree any remedial action. This could involve providing additional resourcing, changes to the design etc, to bring the task back within the permitted timescales.

Regular meetings with QA staff to discuss the progress of the current functionality under test. Ensure that testing schedules are adhered to and agree remedial action if required.

Additional activities that you should perform that are less directly related to the SDLC include:

Chair regular development team meetings.

Mentor undergraduates on the work experience programme.

Manage an internal development blog to facilitate communication both within the development team and with other departments with the company (e.g. QA).

Constantly review development processes as part of a strategy of continual improvement.

Contribute towards non-developmental issues by providing occasional advice on subjects such as pre-sales situations, commercial strategy, support, technical documentation etc.

Previous post:

Next post: