Five pillars of knowledge management for software engineering

Oct 15, 2022 by Balaji Venkatramani

 

   

Knowledge management is a bit of a sticking point across the financial services industry.

Despite modern management solutions, it has remained a major challenge for decades. This is because of:

  • Banks’ reliance on large, legacy technology estates and application portfolios, plus inconsistent knowledge capture
  • Staff churn and the consequent loss of knowledge
  • Complex integration across a multitude of in-house systems, third-party products and hybrid solutions
  • Unreliable capture of the incremental knowledge gained through testing, user acceptance, production, warranty and maintenance

Knowledge management practices generally mature over a period of time:

So, what are the best practices for knowledge management? Here are five points to consider:

 

1: Knowledge capture needs to be prioritized and extensible

Gone are the days when software development began at inception for every product or application. Today, many products are extensions of previous products, or they’re built in partnership with third-party products, or leverage off-the-shelf coding solutions and so on.

A prime requirement is to establish a robust knowledge transition process to make sure that teams have access to this historical knowledge before they attempt the future building of a product.

This knowledge transition process needs to ensure that:

Knowledge capture is prioritized. Not all historical knowledge needs to be captured at the time of transition and can be prioritized as follows:

  • Visible book of work for a 6-month period
  • Analysis of most frequent areas of software change over the last 6 months
  • Analysis of most frequent areas of support in the last 6 months if already in production

Knowledge capture is extensible to augment the knowledge base in the future as required. This can be achieved by:

  • Building a clear inventory of knowledge sources as metadata (documents, Wiki pages, development management tools like JIRA, source-code libraries, application logs, support ticketing systems, etc.)
  • Mapping knowledge sources to relevant functional and technical modules of the product

 

2: Known knowns make up only half of the required knowledge

The other half is probably locked in the minds of previous team members or implemented systems on the ground.

Knowledge falls into one of three types:

  1. Explicit: Visible and clearly available in known sources
  2. Implicit: Knowledge gained from practical application of explicit know-how
  3. Tacit: Knowledge that is understood, assumed or accumulated over time

Capturing implicit knowledge:

  • Practical assessment: Study of implemented systems. For instance, code reverse-engineering tools can be used to develop documentation from implemented code
  • Shadow incumbent experts: Observe or work alongside to gain insights

Capturing tacit knowledge:

  • Analyze historical chat transcripts, emails, application logs, development and support ticket history and so on, based on relevance and reflecting real-time behaviors exhibited in history. You can use Natural Language Processing solutions to analyze unstructured knowledge sources and derive meaningful insights

 

3: Knowledge management needs quantification

Team knowledge levels are the most proactive indicators for expected quality of software and product. So, you need to develop an objective view of team knowledge, and a solid plan to aid its gradual improvement. “Knowledge index (KI)” is the primary metric.

Measuring the KI:

  • Proficiency-based KI: The most objective approach is the Dreyfus model’s five levels of proficiency (novice to expert)
  • Objective KI: Certifications, internal assessments, deliverable reviews, etc.
  • Team or squad KI: Granular level measurement — specific to teams
  • Organizational baselines: For common areas of knowledge e.g., specific domains or technologies
  • Target versus actual: Baseline current KI, establish target KI and have an objective plan to bridge the gap between actual and target levels

Other objective metrics, such as software quality, efficiency and productivity, can provide a retrospective view of knowledge also. An ongoing corelation analysis between these metrics will produce the most accurate quantitative knowledge levels of the teams.

 

4: Knowledge is revised continuously

Knowledge management is a continuous journey. Fresh knowledge might not be captured in full due to time and cost pressures — you need to capture this knowledge before it becomes history.

Minimize the cycle by:

  • Incentivizing fresh knowledge capture:
    • Convert collaboration tools like Confluence and Miro into knowledge repositories
    • Deploy knowledge automation tools such as code reverse-engineering to generate documentation from code

  • Simplifying incremental knowledge capture: A lot of knowledge is gained post-development of code and testing onwards. Use defect management and ticket management tools to record fresh knowledge whenever gained

 

5: Knowledge extends beyond people

Although knowledge means people and people mean knowledge, we still need to decouple the two.

Key person dependencies can cause stress which impacts work-life balance and affects team morale. You must download this knowledge to an offline repository and make it available for upskilling.

Offline knowledge repositories:

  • Recorded sessions: Incentivize experts to make their knowledge available as offline recorded audio and video presentations
  • Automated knowledge repositories: Use code reverse-engineering tools and natural language processing solutions on implemented code
  • Collaboration tools: Like Confluence and Miro

Organize these offline knowledge repositories into a structured, on-demand library with a “course curriculum”. The team can assimilate this knowledge at their own pace, charting a career path for themselves based on their expanded knowledge.

If properly executed, knowledge management can become one of the greatest assets for banks, ensuring the successful delivery of products and services to their clients.

Zoreza Global help clients leverage our leading-edge knowledge-management practices to mitigate risk and grow their businesses.

Get in touch with financialservices@luxoft.com and find out how we can help you add business value through improved knowledge management.

DOWNLOAD PDF VERSION

Related content

Bridging the gap between centralized and decentralized finance

Blog

Bridging the gap between centralized and decentralized finance

Add real-time intraday liquidity insight to your treasury arsenal

Blog

Add real-time intraday liquidity insight to your treasury arsenal

Transforming regulatory and GRC with low-code automation technologies

Blog

Transforming regulatory and GRC with low-code automation technologies