One of the most important part of every project is knowledge. Without appropriate knowledge we can’t make any project successfully.
Project’s life is usually much longer than the time of software production. After the process of project creation, we have to support it in its every day use.
Knowledge connected with each project could be generally divided into two parts:
In order to create value to future users programmers would need a business knowledge, but to ensure the quality and extensibility of code they also need strong technical skills and knowledge. Each part is important. During the development we learn in both area. Our business understanding in particular scope is rising at this time. People say, that usually new employee would need 1-2 years of work in one business line to get fluency in developing new solutions and inventing new ideas related to this topic. On the contrary it would be needed almost the same level of technical expertise during project development, but on the support phase sometimes developers need to be at a higher level of details oriented skills.
As we see, knowledge management is significant part of project development. Importance of this aspect provides some risks related to management of this asset.
People are the most crucial part of whole process. In most of the projects, majority of the knowledge is kept by people arranged to them. Business understanding is not handled by single man, but only all team members knowledge combination covers full scope of business complexity. That’s why one of risks is the employee turnover. When one part of team left, it will be needed to transfer his knowledge to someone else. This is additional cost.
Many developers stays in one job no more than 1-2 years. Also many projects (software production phase) lasts about 1 year. Notice the coincidence between how long people work and how fast they getting business understanding. This is the same time period. It is not very surprising that if developer would get familiar with his every day work and it stops being a challenge for him, he need a change.
Project stages and developers interesting levels
On every system development, we can observe a few different phases:
- Start / design
- Creation / development
- Fixing bugs
This division is usable especially when we talk about developers interests. As we go further in this list, the developer’s interest level decrease. That’s happen because they have more challenging tasks and more responsible duties at the beginning. So most of them decides to leave at this moment. As the time goes on, it would be harder to find proper and willing employee to maintain the project.
Quitting/getting a job
The first situation, that needs special attention of project managers is situation when somebody left the team. If knowledge sharing won’t be an every day routine, it would cause the problem of missing part of information. So we should be aware of necessity to spread them among all team members.
Other situation is, when somebody start to work in our team. He also needs assistance and support of other to get necessary amount of knowledge to start doing something according to the accepted standards independently, with invention.
Holidays, vacations, deadlines and random events
However, not only employee changing is the problem. Temporary absence as well. When somebody is sick or go to tropical island, someone else have to replace him at this time.
On the other hand, the project could be main beneficent of proper knowledge management. If the developers team has sufficient level of business understanding, they will work on new projects faster and more frictionless. They will less often stop their work to ask for business specifics and they could provide better quality as we let their ingenuity to come to the fore. This is beneficial for both sides: business and developers. Business could get well tailored systems which better responds to their needs and developers could avoid many mistakes as a consequence of misunderstanding.
Current work – support
Everyday work needs good knowledge sharing the same as new projects. Our team could take many advantages thanks to this.
- speed up implementing changes or fixing bugs
- they could make decision internally
- they could suggest their own solutions (frequently better)
You can see that managing knowledge could be a major problem in project life cycle. The specifics of the business is one of the most valuable thing in every organisation. Therefore it needs special treatment by managers on every stage of the project and every situation connected with team members turnover.
In further posts I will show how to resolve this problems in different ways.