1. A computer program product for selecting resources for a software development project during its design, the computer program product comprising a storage medium, said storage medium not a propagating signal, said medium readable by a processing circuit and storing instructions run by the processing circuit for performing a method, the method comprising: automatically detecting a change in a software architecture model being built, said detected change comprising one of: an addition of a new element or a change to an existing element of said software architecture model, said method further comprising: evaluating, upon said detection, each detected change against a currently assigned resource skill set for resources used in developing said software architecture model, and one or more of: automatically determining an existing developer resource candidate currently associated with said project to take on additional work upon evaluating an addition or update of an element in the software architecture model; or automatically locating a new developer resource candidate to add if no existing developer resource can take on said additional work, and automatically determining an availability of said new candidate developer candidate or existing developer resource, and for any available candidate developer resource being added or currently associated with said project: automatically determining a deficiency in a skill or skills set required for said developer resource candidate to work on one of: said new element being added or said existing element being changed; and automatically generating a lesson plan for said developer resource candidate to obtain said skill or skills set that are determined deficient.