Knowledge Driven Development - Book review
1 January 2020
Dr. Moria Levy
The book "Knowledge Driven Development: Bridging Waterfall and Agile Methodologies," published in 2018, encapsulates the ideas and contributions of Manoj Kumar Lal, an Indian expert in knowledge management who possesses two decades of experience in applying knowledge management principles within the realm of software.
At its core, the book suggests that while the software industry has automated a substantial portion of its operations, it has yet to extend this automation to its documentation processes. Within this context, the book sheds light on the prevalent practice of document-centric software development, which encompasses a range of documents, including requirement specifications, characterizations, test records, and more. Although the Agile methodology aimed to minimize extensive documentation, it failed to identify a suitable alternative, resulting in insufficient documentation.
Lal presents an innovative solution known as KDD (Knowledge Driven Development), which entails digitizing the entire spectrum of knowledge typically encompassed within the documentation. Instead of relying on conventional documents, KDD involves the digital representation of regulations, domains, relationships, and types of actions. While the book predominantly concentrates on the software development domain, Lal proposes that this concept can be extrapolated to other realms of project management and more broadly applied to diverse knowledge management principles and activities.
The book covers the following topics:
1. Initial Point – Existing Methodologies
2. The Concept of KDD
3. Model for Implementing PKM
4. Advantages of Perception and Their Attainment
5. Extension into Broader Contexts
My impressions of the concept are favorable; it presents a captivating idea that warrants consideration for managing knowledge within software projects and potentially in other domains. However, considering several factors, careful attention should be directed toward its practical application. Firstly, complex ideas often become more understandable when presented within a narrative framework. Additionally, apprehensions about errors and shortcuts may arise, given the expansive scope of nodes and connections that require examination and resolution. Users might not consistently prioritize the precision of each section, unintentionally disregarding vital elements.
In essence, while the concept might be exceptionally well-suited for knowledge management in software projects (and perhaps beyond) if we were robots, it still possesses value for scrutiny and potential integration within organizations. I highly recommend this book to professionals in the field of knowledge management at large, with a particular emphasis on those engaged in the software realm.
Initial Point – Existing Methodologies
The foundational point for most organizations in the software industry revolves around project knowledge management, grounded in either the Waterfall or Agile methodologies. Both of these approaches offer distinct advantages:
- A structured process for needs analysis
- Operational flexibility, even in the absence of key personnel
- Potential for engaging employees with varying experience levels due to small team sizes
- Early involvement of stakeholders in projects
- Condensed project timelines
- Reduced dependence on extensive documentation
- Efficient regression testing
- Quality and comprehensiveness of user stories and test scenarios
However, both methodologies also bring noteworthy drawbacks when it comes to managing project-related knowledge:
- Inadequate communication among partners
- Limited knowledge management predominantly reliant on documents
- The frequent absence of documents or failure to maintain them, resulting in a lack of a definitive version of the truth
- Insufficient mechanisms for tracking and validating progress
- Inefficient integration of tests
- Configuration management founded on inaccurate documents
In summary, the completeness and consistency of knowledge need more assurance, presenting challenges in reusing knowledge within and across projects.
Lal delves further into other established methodologies throughout distinct project management stages, encompassing development, testing, and risk management. He concludes that all these methodologies encounter difficulties in effectively managing the knowledge required for defining requirements and translating them into software projects.
The Concept of KDD
The KDD – Knowledge Driven Development concept exhibits several essential characteristics:
1. It positions knowledge at the core, steering all project stages and guiding actions at each phase.
2. Knowledge itself undergoes digitization, finding formalization within a comprehensive standardized database applicable to all projects.
3. Knowledge is centralized within a database, ensuring seamless accessibility and uniformity.
4. During defining requirements and characterizations, pertinent database details are integrated, delineating the project's activity scope.
5. Software development unfolds based on the parameters stipulated in the project's database.
6. Surveys are conducted in alignment with the database's content and orientation.
7. The formulation and execution of tests also synchronize with the database specifications. This methodology facilitates the validation of test integrity.
8. Alterations in requirements prompt corresponding adjustments in the database configuration. These modifications serve as the basis for project tasks and necessary iterative evaluations.
9. Embodied in documentation, knowledge remains continually up-to-date throughout the project's lifecycle, guaranteeing accuracy and relevance at all junctures.
Model for Implementing PKM
The Model constitutes an implementation framework for the KDD concept, encompassing knowledge across four distinct tiers:
1. Abstract Knowledge - encompassing rules and scenarios representing universal truths and factual declarations. For instance, executives' commitment significantly influences the success of change implementation.
2. Interdisciplinary Knowledge - pertains to products and processes, embodying truths within specific knowledge domains such as insurance or industry. For example, orchids refrain from growing new leaves during their flowering phase.
3. Organizational Knowledge deals with applying and facilitating knowledge within a specific organization. An illustration could be the Cell Phone Operation Program for Students.
4. Project Knowledge - involves requirements and tests, focusing on utilizing organizational knowledge to forge a competitive advantage. An instance is the application of a linear congruential generator algorithm for generating random numbers.
The knowledge harnessed within projects is constructed upon eight foundational elements:
1. Business Rules
5. Usage (communications, reports, screens, and messages)
6. Enablers (interfaces, data, logic)
7. Customer Requirements
8. Case Study (for testing)
These eight fundamental building blocks, universally applicable, are subsequently adapted into 18 intricate building blocks meticulously tailored to the software realm.
Effectively, the model maps these detailed building blocks onto the four stages of knowledge within a project, spanning from requirements analysis to testing. Anchored in the connections between these components, a database is established, encompassing 189 fields meticulously managed to digitize all project-related knowledge. Stakeholders consistently reference the same database throughout each project and at every stage, contributing, updating, reviewing, and validating pertinent information. Moreover, the contents of these fields can be recycled from past projects, enhancing efficiency and ensuring uniformity across endeavors.
Advantages of Perception and Their Attainment
Lal elucidates the notable benefits of perception and its practical implementation, encompassing the following aspects:
1. Mitigates media-related overhead.
2. Digitizes the process of test planning.
3. Provides a framework for overseeing project quality and deliverables.
4. Substitutes conventional project documents.
5. Efficiently organizes project management.
6. Quantifies the project management procedure.
7. Facilitates the seamless integration of both serial and parallel activities.
8. Fosters the natural evolution of knowledge.
9. Simplifies the interplay between requirements and design stages.
10. Enhances the reuse of knowledge across project phases.
11. Promotes the incorporation of insights from previous projects into new endeavors.
12. Transcends the constraints of specific knowledge domains.
13. Empowers the process of team building.
14. Directs focus towards non-functional requirements.
15. Permits the introduction of quantitative methodologies in project management.
16. Cultivates a conducive environment for experts.
17. The resultant traceability enables the analysis of change effects.
18. Optimal control of both technical and business aspects.
19. Segregates concerns for individual components and their respective stakeholders.
20. Facilitates practical requirements management.
21. Assists in the planning and design of testing protocols.
These advantages collectively underscore the value and adaptability of the perception approach, positioning it as a profoundly efficient and versatile tool for knowledge-driven development across diverse domains.
Extension into Broader Contexts
The PKM model, devised to facilitate the digitization of knowledge within software projects, possesses the potential for broader applications across various organizational requirements. Here are avenues in which it can be extended and adapted:
1. The model's scope can be broadened to encompass the comprehensive management and execution dimensions of software projects.
2. Through a breakdown of the same eight foundational building blocks utilized in software projects into more granular subcategories, the PKM model can be translated to non-software project undertakings.
The PKM model stands poised for effective utilization in overseeing the following domains:
- Risk Management
- Quality Assurance
- Task Coordination
- Configuration Control
- Development Endeavors
- Testing Procedures
- Monitoring KPIs and Metrics
- Service Delivery
Furthermore, its application can span projects revolving around knowledge management, digital transformation, collaboration initiatives, Agile methodologies, artificial intelligence, and machine learning. The book elaborates on how the KDD concept aligns with established project management standards such as CMMI, Six Sigma, and PRINCE2.
However, it's crucial to acknowledge that the proposed concept and model might be less applicable to Research and Development (R&D) projects. Lal does not delve deeply into this constraint, but it may be related to the requirement for more adaptable and less rigid knowledge management approaches in R&D ventures.
In sum, the book introduces an innovative concept for knowledge digitization. Organizations should contemplate integrating suitable technological tools to implement them successfully while orchestrating the necessary cultural shifts. The book prompts intriguing contemplations and dialogues concerning the potential positive influence of knowledge-driven development across diverse domains extending beyond the realm of software projects.