BACKGROUND

Most modern software systems are large and complex—often having multiple layers that interact with one another. The software system is developed and maintained over a multi-year time span. In many cases, the lifecycle of a software system continues beyond the time that any one individual developer or tester is assigned to work on and/or support the software system. Developers and testers new to supporting and/or developing the software system need time to become familiar with the code base of the software system.

When making a change to the software system, it can be difficult for a developer or tester to determine which activities of the software development process may be affected by the particular changes that are to be made. Often, a developer's only way of gaining insight is to seek the advice of one or more other developers that have more experience with the software system.

BRIEF SUMMARY

A method of software lifecycle management includes searching, using a processor, historical development data including prior development tasks for a software system. The searching is performed according to a current development task for the software system. The method further includes determining that the current development task has an affinity with a selected prior development task implemented within the software system and providing a recommendation for the current development task based upon the selected prior development task.

A system for software lifecycle management includes a processor programmed to initiate executable operations. The executable operations include searching historical development data including prior development tasks for a software system. The searching is performed according to a current development task for the software system. The executable operations further include determining that the current development task has an affinity with a selected prior development task implemented within the software system and providing a recommendation for the current development task based upon the selected prior development task.

A computer program product for lifecycle management includes a computer readable storage medium having program code embodied therewith. The program code is executable by a processor to perform operations. The operations include searching, using the processor, historical development data including prior development tasks for a software system. The searching is performed according to a current development task for the software system. The operations further include determining, using the processor, that the current development task has an affinity with a selected prior development task implemented within the software system and providing, using the processor, a recommendation for the current development task based upon the selected prior development task.

