Experience and Knowledge Management in Software Engineering

Experience and Knowledge Management in Software Engineering
Free download. Book file PDF easily for everyone and every device. You can download and read online Experience and Knowledge Management in Software Engineering file PDF Book only if you are registered here. And also you can download or read online all Book PDF file that related with Experience and Knowledge Management in Software Engineering book. Happy reading Experience and Knowledge Management in Software Engineering Bookeveryone. Download file Free Book PDF Experience and Knowledge Management in Software Engineering at Complete PDF Library. This Book have some digital formats such us :paperbook, ebook, kindle, epub, fb2 and another formats. Here is The CompletePDF Book Library. It's free to register here to get Book file PDF Experience and Knowledge Management in Software Engineering Pocket Guide.

source url Such goal is then refined into specific questions that must be answered in order to evaluate the achievement of the goal. Relevant question and associated metrics related to the above goal are.

At this level, KM project measurements must be linked to the above metrics, so that KM project will be aligned with overall business objectives. For example, the most tangible measurements of KM system involve who contribute or access which information. If yes, how many visits made to KM systems in a particular interval of time. If we can see the correlation between above metrics and KM system metrics, there will be significant impact of KM in project activities in achieving software goals.

Experience and Knowledge Management in Software Engineering

For instance, if there is negative correlation between number of visits and average cycle time of defect fixing, KM is making positive impact on the software teams. For successful implementation of KM, a well staffed team and strong leader, with clearly defined responsibilities are essential. In addition to this, he has the responsibility to improve his broad knowledge on various software sub-teams and start interacting with team members to contribute to KM. He also be attending various conferences and should bring latest trends of KM practices into the organization.

KM team members will be subject matter experts from each sub-team within the software division. They include members from software development team, testing team, automation team, etc. They must be monitoring content regularly and should assess the relevance of existing information. This is particularly useful if other teams looking for relevant information, they will be prevented from information overload. There must be clear responsibilities defined to IS team members in KM projects. There will be cases of bottlenecks resulting from inadequate hardware or software, for which IS have the responsibility to resolve them.

The KM team roles outlined above are integrated in project teams. There are so many advantages of having KM team like this. If the KM team roles are integrated into project teams, identification of tacit knowledge within each team becomes very easy. KM team member of that particular project team will have good idea of individuals with tacit knowledge and the team members in need of particular knowledge.

This helps the KM team to apply efficient ways of knowledge conversion from experience experts and the rest of the teams.

Knowledge Management in Software Development

And as the KM team member is integral to the project team, he can assess the workload among individuals within his team and be able to find the right time to initiate knowledge conversion activities. For instance, when the project delivery date approaches, software test teams will be very busy with system testing activities.

By forcing the test team members to involve in KM activities at the peak times of execution, may develop negative impressions on the overall KM. Software test team members will think KM as additional work load imposed on them. The ideal time for these teams to share knowledge is during the break between each cycle of execution. There is a disadvantage of having KM team roles integrated into project teams.

In few cases, it becomes very difficult to find someone for KM team role with all these skills. Even though KM roles integrated to project teams, due to lack of right people with right skills, KM will not make major impact on the project activities. To bring these additional skills to the team, like any other project management teams, KM teams can be filled with external consultants, who has expertise in dealing with KM related issues. There pros of engaging consultants in KM, such as.

However, there are cons for this approach. In addition to higher costs, as the external people lack the idea of in-house procedures, there is possibility of developing gap between KM teams and project teams. This will lead to the de-motivation of team members contributing to knowledge conversion activities.

If the required KM skill sets are available with-in the team or there is scope to develop these skills with-in the teams, it will be good to have KM roles integrated in project teams. But, it will be hard to define what percentage of project activities should be used for formal KM, as it varies based on the size of team, amount of tacit knowledge need to be converted and the complexity of the required knowledge.

Similar to incremental approaches applied to various software development projects, KM also needs an incremental approach with different phases. This will reduce the amount of risk involved in these KM activities. Divide the KM solution into various parts and address specific parts of KM solution in each phase. By laying foundation for next phase, each phase must provide immediate benefits and provide measurable ROI. For instance, this can be made effective by addressing the need of unified access to existing information as part of initial phase.

And in the later phases address the need of improving the way knowledge is captured from various software sub-teams and managed. An organization KM system is the collection of information technologies used to facilitate the collection, organization, transfer and distribution of knowledge between various teams in software division.

SEKNOW - Software Engineering Knowledge Management Diagnostic Tool

Software organizations are using various technologies such as document libraries ex: Google docs , Knowledge Bases wiki, etc. For instance, the wiki is an extremely powerful KM tool for creating, maintaining, and accessing knowledge bases. Since the introduction of the wiki technology in the early s, many organizations have adopted the wiki for many of their knowledge bases. But, there are few disadvantages to wiki, as wiki platforms have a bit of learning curve. Team members have to dig into learn how to use it. If it becomes complex, team members will be reluctant to contribute to KM systems.

So, KM teams should know how to use wiki to their best effect and make the project team members aware of it. Information is often added to wikis but not deleted when no longer relevant or accurate or updated when changed. This kind of pros and cons exist in almost all the technologies. So, success of KM depends on how well we customize technical infrastructure to make it easy to find the information from the KM systems. That means, if development team members are looking for some information related to test teams, they should easily find the information about the test team and more importantly the relevant information.

Applications must be more focussed to the expected information and user friendly. If possible, it needs to blend in with the existing corporate systems such as organization intranet. Conduct as much knowledge sharing sessions as possible within the teams and across the teams. This can be conducted in various instances such as.

The management is responsible to decide which topic and how frequently the knowledge session should be held based on work priority. This is to ensure that the sharing sessions will really benefit the engineers and suits to their interest as well. Size of the organization or team will have the influence on knowledge sharing activities in terms of knowledge flow.

As the size of an organizational unit increases, the effectiveness of internal knowledge flows dramatically diminishes and the degree of intra-organizational knowledge sharing decreases [9]. Management can overcome this by divisionalized organization structure or categorization of big teams into various sub-teams and using the appropriate user-friendly KM systems. Knowledge re-use is another most important activity in achieving the benefits of KM projects.

Assessment such as. In the above case, if team can re-use existing knowledge and develop in-house tool, it will save lot of money to the project and this tool can be re-used by other teams whenever required without any licensing issues like in third party tools. For instance, small organizations or start-ups will not have sufficient funds to invest in KM tools. KM is not an end itself. The knowledge acquisition process must be continuous in order to keep all knowledge up-to-date and ensure new knowledge is captured from time to time.

To support this, proper process needs to be defined as well, so that team members will record all related knowledge into the database. If a team member wants to share his tacit knowledge on a particular software, process, new methodologies, he should be given idea on the ways of sharing his knowledge with other team members, teams at organization level and ways of converting into explicit knowledge. By doing this, knowledge acquisition task will be formalized within the software teams.

This will help KM team to capture knowledge gained by the team members in a more effective way and continuously. While contributing to KM systems, another big challenge for the KM team is, whether to give free access to all project team members for contribution to KM systems?

In earlier sections, we have examined the benefits of organizations appointing KM roles integrated into project teams. In this context, it will be more beneficial, if every project team member is able to contribute their job related knowledge directly to KM systems. But, if the content of KM systems is not maintained properly, this will lead to information pollution and the users abandoning the systems.

  • Software Development Manager - Knowledge Management Solutions.
  • Dirty God: Jesus in the Trenches;
  • Software Development Manager - Knowledge Management Solutions;

And even deciding what kind of tacit knowledge must be entered into the systems. Once the project team members are trained on the format of contribution to KM systems and the relevance of appropriate tacit knowledge, KM team members can review the content regularly to verify the compatibility with the proposed KM standards. At the initial stages, write permissions to KM systems are granted to few experienced project team members and based on the user activity and approval from KM team, it will be extended to rest of the team members.

Services on Demand

Another aspect of managing the knowledge in KM systems, involves handling special cases, such as team members who leaves the company. KM team needs to be able to make sure other team members do not waste time trying to contact that person while preserving the knowledge they have contributed. The review begins by breaking the information into two categories:. Once the location or source of the missing information is identified, KM teams can begin to structure the relevant information so that it can be easily found.

One of the common mistakes most of the teams do while review process is more emphasis on cataloguing existing explicit information assets or the information that is documented, transferable and reproducible ex: test reports, project proposals etc.

But, during review process, there should be more emphasis on reviewing the cycles of knowledge conversion. For example, if software test team has bought a particular third party component recently to test the features and debug the issues easily, in the review process they must review the efficient ways of how the tacit knowledge on the component translated to explicit knowledge.

Knowledge Management

In addition to this, management must regularly review the alignment of current KM measurements with other project metrics and high-level goals. For KM to be successful, as mentioned in earlier section, there must be balancing act between Technology, culture and practice. This needs cultural change within the teams and support from the management.

For team members, if given the required time, training and incentives, they will begin to capture, manage and share knowledge with enthusiasm. In addition to this, management must try to eliminate traditional rivalries between team members. This involves changing perception of employees i. Here management has to play key role in changing the mindsets of the team members.

Management has to assure that there will not be any threat to their positions by doing that. Overall, cultural changes of this magnitude take time, so they have to practice this continuously to see the results of KM. Normally, two thirds of KM effort needs to focus on non-technical issues such as culture and practice. For making this effective, management must use motivational approaches such as sharing success stories about KM implemented recently within their organization. If KM has been implemented successfully in software Test development teams, the positive impact of KM within test development teams must be shared with other development teams, test teams and sustainable teams with-in the software divisions.

These positive impacts could be how the tools development process has been improved, quick fixing of the tools issues, reduced attrition rates and shortening skills gap within the test development team. This article summarizes various challenges software organizations facing in terms of global distributed teams, quick testing lifecycles, outsourcing models etc. The success of the project totally depends on knowledge and experience of the developers. Increasing knowledge creation and sharing among software engineers are uphill tasks in software development environments. The field of knowledge management has emerged into this field to improve the productivity of the software by effective and efficient knowledge creation, sharing and transferring.

In other words, knowledge management for software engineering aims at facilitating knowledge flow and utilization across every phases of a software engineering process. Therefore, adaptation of various knowledge management practices by software engineering organizations is essential. This survey identified the knowledge management involvement in software engineering in different perspectives in the recent literature and guide future research in this area.

Article :. DOI: Need Help?