A Knowledge Maturity Model: An Integration of Problem Framing, Software Design, and Cognitive Engineering

MARKOW, TANYA THAIS. A Knowledge Maturity Model: An Integration of Problem Framing, Software Design, and Cognitive Engineering. (Under the direction of DR. THOMAS LYNN HONEYCUTT). The Knowledge Maturity Model (KMM) is a new model proposed as an alternative to an existing software engineering evaluation model, the Capability Maturity Model (CMM). The KMM is offered as a solution to some key weaknesses of the CMM. The CMM was developed in the early 1980s, when highly structured programming and business practices were the standard. In the current agile methods computer science environment, it is often difficult to evaluate a company which employs agile methods using the CMM methodology. The CMM consists of five levels; in order to claim the next higher level, all tasks of that level must be accomplished. Many companies operating with agile software engineering and management practices tend to be performing at many levels within the CMM, making it difficult to assign such an organization an appropriate CMM level designation. The KMM proposes instead an evaluation of the actual inner processes the company uses to develop software, rather than it’s ability to achieve a given set of tasks, as required by CMM. It will be shown that the KMM bridges the gap between the CMM and agile methods by employing the Knowledge Insight Model (KIM). The KIM is an iterative process that employs four key roles: Framer, Maker, Finder and Sharer. The Framer is responsible for the “big picture” of project management, including defining requirements and scope. The Maker must create new concepts and code for solving the problem. The Finder seeks out existing knowledge and information to help solve the problem. The Sharer must create and maintain a database of the project and ensure that all involved get the information they need. The Knowledge Maturity Model incorporates the concept of levels or states of maturity from the CMM, and the core fundamentals of the KIM: the roles and an iterative process. The synergy of these concepts gives rise to the four state model of the KMM: recognition and use of the Plan, Do, Check, Act cycle, use of the four roles of KIM, use of an iterative process, and finally, the fully working inner mechanism or sharing mechanism of the KIM. The KMM allows an organization to choose any traditional software engineering methodology for a given project by providing the roles-based structure to make shifting between software engineering methodologies easier, allowing companies to tailor their process for specific projects. KMM ties together the three fundamental centers that comprise the process of developing software: systems engineering, software engineering, and cognitive engineering. The KMM solves the systems engineering problem by providing a generalized process that is a superset of any given software engineering methodology. Because KMM provides a superset to all existing software engineering methodologies, it frees up an organization to choose the one that best suits a given project, rather than always having to use one standard approach, therefore addressing the software engineering aspect. At the heart of KMM are the four roles, which addresses the need to completely incorporate people into the process, thus bringing in the cognitive engineering side of the discipline. A Knowledge Maturity Model: An Integration of Problem Framing, Software Design, and Cognitive Engineering