Engineers, developers, project managers and other technical members within an IT organization are living repositories of the organization’s technology, architecture, software, and processes. What people know and can do is just as important as their ability to manage. Some retain unique technical know how that would be difficult, if not impossible to replace. So how do you retain knowledge crucial to your organization’s software development project management, for example? Information that may reside in the heads of a select few individuals?
People who retain crucial knowledge of the organization’s software process architecture are some of the most critical. The process side of software development is difficult and any of several methodologies may have been or are currently being used. Methodologies include structured programming that has been around since the 1970s, to more current methodologies such as OOP (Object Oriented), RAD (Rapid Application Development), SCRUM, Team Software Process, and Extreme programing. These are methodologies vary and an organization must always be prepared for the loss of key members of a software development management team especially for current projects still in the works, by documenting procedures, job-shadowing, and rotating appropriate individuals through various team roles so that if someone is lost from the team, a replacement is readily available and work can continue.
Architecture itself encompasses more than just the components of a system and Software process architecture describes significant system components, their structure, their external and internal relationships, and their interfaces; Software process architecture helps identify future paths for growth and compatibility, and should be reusable across multiple software projects. Software process architecture helps guide the selection of new components as well as how components interact, including performance and functionality. For the future, it is not only what is in the heads of key managers and developers that is important, there should also be documentation in the CM system that can be consulted when contemplating future changes to organizational architecture.
Probably the most effective step for retaining and documenting software development project management knowledge is to get buy-in from internal stakeholder and management. Stakeholders and management need to understand, facilitate, and appreciate the software process architecture knowledge held by key individuals, so that funds for career development and retention programs, onboarding programs for new IT talent, knowledge transfer programs (for example, shadowing, on-the-job training, etc.), and the development of a technology talent management program, will be forthcoming and adequate. Once you have pinpointed the processes most critical to your software process architecture and the most knowledgeable in-house software development project managers and talent, you must then see that stake holders and management hold project managers accountable for proper knowledge transfer.
Since IT is now a strategic partner of business, there should be ongoing steps to maintain its IT workers and their knowledge. Losing IT talent through attrition or retirement will always occur, but if an organization takes steps to document its software process architecture knowledge, losses need not be catastrophic. As long as organizations look at ways to move as many workers as possible into the hi-value category of knowledge and productivity through career development (and talent management programs), provide for knowledge transfer from hi-value individuals to others (thus providing redundancy of key skills), there will be work continuity.