Essence Avatar
  1. OMG Specification

Essence — Open Issues

  • Acronym: Essence
  • Issues Count: 29
  • Description: Issues not resolved
Open Closed All
Issues not resolved

Issues Summary

Key Issue Reported Fixed Disposition Status
ESSENCE2-22 Make the discussion of What is a Kernel present tense and more active. Essence 2.0b1 open
ESSENCE2-19 Improve readbility of the Role of the Language Essence 2.0b1 open
ESSENCE2-16 Change Why a Kernel Language to active voice Essence 2.0b1 open
ESSENCE2-12 Refine Language -5 Essence 2.0b1 open
ESSENCE2-10 Refine Language -4 Essence 2.0b1 open
ESSENCE2-9 Refine Language -3 Essence 2.0b1 open
ESSENCE2-6 Refine Language -1 Essence 2.0b1 open
ESSENCE2-8 Refine Language -2 Essence 2.0b1 open
ESSENCE2-15 Clarity Essence 2.0b1 open
ESSENCE2-13 Cumbersome and awkward text Essence 2.0b1 open
ESSENCE2-17 Simplify and remove redundance from Why a Kernel and a Language Essence 2.0b1 open
ESSENCE2-20 Update "How to Read" for consistency with specification Essence 2.0b1 open
ESSENCE2-21 Streamline and Simplify Language in What is a Kernel Essence 2.0b1 open
ESSENCE2-25 Make the abilities in active voice Essence 2.0b1 open
ESSENCE2-26 Refiniing the definition of the competencies Essence 2.0b1 open
ESSENCE2-24 Refine the discussion of kernal Alphas Essence 2.0b1 open
ESSENCE2-18 More formal Descriptions of the Essence kernel Essence 2.0b1 open
ESSENCE2-23 Update definitions for the area of concerns Essence 2.0b1 open
ESSENCE2-27 Needs to be more actionable tasks Essence 2.0b1 open
ESSENCE2-4 Do not use personal pronouns Essence 2.0b1 open
ESSENCE2-5 Streamlining Text Essence 2.0b1 open
ESSENCE2-2 Remove Passive Voice Essence 2.0b1 open
ESSENCE2-14 Clarity Essence 2.0b1 open
ESSENCE2-11 Typo Essence 2.0b1 open
ESSENCE2-7 Refering to "above" Essence 2.0b1 open
ESSENCE2-3 Use Present Tense Essence 2.0b1 open
ESSENCE2-1 All Figures and Diagrams in the whole Specification need to be re-issued as Vector-SVG Figures Essence 2.0b1 open
ESSENCE13-1 Operate the System Entry Criteria should read "Software System::Operational" not "Software System::Ready" Essence 1.1 open
ESSENCE13-2 incorrect wording Essence 1.2 open

Issues Descriptions

Make the discussion of What is a Kernel present tense and more active.

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text may need refinement, uses the passive voice, and uses the past tense.

    Original Text

    The kernel is described using a small subset of the Language defined in Clause 9 Language Specification. It is organized into three areas of concern, each containing a small number of:

    • Alphas - representations of the essential things to work with. The Alphas provide descriptions of the kind of things that a team will manage, produce, and use in the process of developing, maintaining, and supporting systems and, as such, are relevant to assessing the progress and health of an engineeringendeavor. They also act as the anchor for any additional sub-alphas and work products required by the engineering practices.
    • Activity Spaces - representations of the essential things to do. The Activity Spaces provide descriptions of the challenges a team faces when developing, maintaining, and supporting systems, and the kinds of things that the team will do to meet them.
    • Competencies - representations of the key capabilities required to carry out the work of engineering.

    To maintain its practice independence the kernel does not include any instances of the other language elements such as work products or activities. These only make sense within the context of a specific practice.
    The best way to get an overview of the kernel as a whole is to look at the full set of Alphas and Activity Spaces and how they are related

    Suggestion

    The kernel description uses a small subset of the Language defined in Clause 9 Language Specification. It is organized into three areas of concern, each containing a small number of:

    • Alphas: Representations are the essential things involved in the work. Alphas describe what a team manages, produces, and uses in developing, maintaining, and supporting systems. They are relevant for assessing the progress and health of an engineering endeavor and act as anchors for any additional sub-alphas and work products required by engineering practices.
    • Activity Spaces: Representations of the essential things to do. Activity Spaces describe the challenges a team faces when developing, maintaining, and supporting systems and the kinds of activities undertaken to meet these challenges.
    • Competencies: Representations of the key capabilities for engineering work.

    To maintain its practice independence, the kernel does not include any instances of other language elements, such as work products or activities. These elements only make sense within the context of a specific practice.
    To get an overview of the kernel, examine the full set of Alphas and Activity Spaces and understand their relationships.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:39 GMT
  • Updated: Mon, 9 Sep 2024 16:19 GMT

Improve readbility of the Role of the Language

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text may need refinement, uses the passive voice, and uses the past tense.

    Original Text

    Methods, practices and the Essence Kernel itself are defined using the Essence Language. The Essence Language is a domain-specific language for practices and methods (where in turn a typical domain for those is engineering as expressed by the Essence Kernel), which has a static base (syntax and well-formedness rules) to allow the effective definition of kernels, methods and practices, and additional dynamic features (operational semantics) to enable usage, and adaptation.

    teams. The first objective led to the definition of both textual and graphical syntax as well as to the development of a concept of views in the latter. This way, teams can represent methods in exactly the way that suits their purposes best. By providing both textual and graphical syntax, nobody is forced to use a graphical notation in situations where textual notation is easier to handle, and vice versa. By providing a concept of views, nobody is forced to show a complete graphical representation in situations where a partial graphical representation of a method is sufficient.

    The second objective led to the definition of dynamic semantics for methods. This way, a method is more than a static definition of what to do, but an active guide for a team's way-of-working. At any point in time in a running engineering endeavor, the method can be consulted and it will return advice on what to do next. Moreover, the method can be tweaked at any point in time and will still return (possibly alternate) advice on what to do next for the same situation.

    The Essence Language emphasizes intuitive and concrete graphical syntax over formal semantics. This does not mean that the semantics are not as important or necessary. However, the description should be provided in a language that can be easily understood by the vast developer community whose interests are to quickly understand and use the language, rather than caring about the beauty of the language design. Hence, Essence pays extreme attention to syntax.

    Suggestion

    Methods, practices, and the Essence Kernel are defined and described using the Essence Language. The Essence Language is a domain-specific language for defining and describing practices and methods. In contrast, the Essence Kernel defines and describes a particular engineering domain, such as software engineering. The Essence Kernel is a static base (syntax and well-formedness rules), allowing for the effective definition of kernels, methods and practices, and additional dynamic features (operational semantics) to enable usage and adaptation.

    The language design is driven by two main objectives: making methods visible and useful to teams. The first objective leads to the definition of textual and graphical syntax and the development of a concept of views in the latter. This way, teams represent methods exactly that suit their purposes best. By providing both textual and graphical syntax, nobody is forced to use a graphical notation in situations where textual notation is easier to handle, and vice versa. By providing a concept of view, nobody is forced to show a complete graphical representation in situations where a partial graphical representation of a method is sufficient.

    The second objective leads to the definition of dynamic semantics for methods. In this way, a method becomes more than a static definition of what to do; it is an active guide for a team's work. At any point during an engineering endeavor, the method is consulted to provide advice on what to do next. Furthermore, the method is tweakable at any moment and still offers (possibly alternate) advice on what to do next in the same situation.

    The Essence Language emphasizes intuitive and concrete graphical syntax over formal semantics. This does not imply that semantics are unimportant or unnecessary. However, the description should be provided in a language easily understood by the vast developer community, whose primary interest is quickly understanding and using the language rather than appreciating the elegance of its design. Hence, Essence pays extreme attention to syntax.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:14 GMT
  • Updated: Mon, 9 Sep 2024 16:18 GMT

Change Why a Kernel Language to active voice

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is may need refinement, uses the passive voice, and uses the past tense.

    Original Text

    The successful development of systems benefits from the application of effective methods and well-defined practices. Traditionally, methods have been defined up-front before a team starts to work. They are then instantiated so that the activities – created from the definition – are ready to be executed by practitioners (e.g., analysts, developers, testers, project leads) in a predefined order to get the result specified by the definition. Methods defined in this way are often considered by development teams to be too prescriptive, heavyweight and inflexible. The view – “the team is the computer, the process is the program” – is not suitable for creative engineering work, which is agile, trial-and-error based and collaboration intensive.

    What has been missing is a simple way to bootstrap a method, one that allows a team to experiment and evolve a way of working that meets their needs while they do their work. A living method that they can continuously inspect and adapt so that it learns as they learn and reflects what the team is actually doing rather than what the team thought they would be doing before they started work. A living method where the set of practices the team uses can change over time as their systems mature and they continuously improve their way of working.

    Suggestion

    The successful development of systems benefits from applying effective methods and well-defined practices. Traditionally, methods are defined up-front before a team starts to work. They are then instantiated so the activities – created from the definition – are ready for practitioners (e.g., analysts, developers, testers, and project leads) in a predefined order to get the result specified by the definition. Development teams often consider methods definitions built this way too prescriptive, heavyweight, and inflexible. The view – “the team is the computer, the process is the program” – is unsuitable for creative engineering work, which is agile, trial-and-error based, and collaboration intensive.

    What is missing is a simple way to bootstrap a method that allows a team to experiment and evolve a way of working that meets their needs while continuing to work. It is a living method that continuously inspects and adapts so that it learns as the team learns and reflects what the team is doing rather than what the team thought they would be doing before work started. A living method is one where the set of practices the team uses changes over time as the systems mature and continuously improve their working methods.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 20:26 GMT
  • Updated: Mon, 9 Sep 2024 16:16 GMT

Refine Language -5

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    • Separate the method support that different types of user are interested in to make methods useful for, and accessible to, everyone involved in engineering. For example, process engineers are usually more interested in methodology aspects but their interest should not overload developers, analysts, testers, team leaders, and project managers.

    Suggestion

    • Separate the method supporting different types of users interested in making methods useful for and accessible to everyone involved in engineering. For example, process engineers usually have an interest in methodology aspects, but their interest should not overload developers, analysts, testers, team leaders, and project managers.
  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 21:04 GMT
  • Updated: Mon, 9 Sep 2024 16:15 GMT

Refine Language -4

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Isuues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    • Enable method building by the composition of practices, so that methods can be quickly assembled by a project team to match their needs, experiences, and aspirations. Allowing the method to start small and grow as needed.

    Suggestion

    • Enable method building by the composition of practices supporting a project team's quick assembly of methods to match their needs, experiences, and aspirations. Allowing the method to start small and grow as needed.
  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 20:53 GMT
  • Updated: Mon, 9 Sep 2024 16:14 GMT

Refine Language -3

  • Key: ESSENCE2-9
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The text is stiff and does not stream well:

    Original Text

    • Actively support practitioners in the conduct of their work by providing guidance based on state and practice definitions.

    Suggested Text

    • Actively support practitioners by providing guidance based on state and practice definitions.
  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 20:49 GMT
  • Updated: Mon, 9 Sep 2024 16:13 GMT

Refine Language -1

  • Key: ESSENCE2-6
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Isuues

    The following text may need refinement, uses the passive voice, and uses the past tense.

    Original Text

    They allow people to describe the essentials of their existing and future methods and practices so that they can be compared, evaluated, tailored, used, adapted, simulated, and measured by practitioners as well as taught and researched by academics and researchers.

    Suggestion:

    They allow people to describe the essentials of their existing and future methods and practices. They also allow for the comparison, evaluation, tailoring, usage, adaptation, simulation, and measurement by practitioners and being taught and investigated by academics and researchers.

  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 20:24 GMT
  • Updated: Mon, 9 Sep 2024 16:12 GMT

Refine Language -2


Clarity

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    Content

    In the text it says:

    Note: other kernels for other domains could be defined using the Essence Language, but these are outside the scope of this specification.

    Question: Aren't all domains outside the newly defined Engineering Essence scope versus the original Software Essence proposed?

    Grammatical

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    • The Essence Kernel captures the essential elements of engineering, those that are integral to all engineering methods. Note: other kernels for other domains could be defined using the Essence Language but these are outside the scope of this specification.

    Suggestion

    • The Essence Kernel captures essential engineering elements integral to all engineering methods. Note: other kernels for other domains could be defined using the Essence Language, but these are outside the scope of this specification.
  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 21:51 GMT
  • Updated: Sun, 8 Sep 2024 18:25 GMT

Cumbersome and awkward text


Simplify and remove redundance from Why a Kernel and a Language

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    Teams need to be agile when working with methods so that:

    • The focus is on method use, rather than comprehensive method description.
    • The full team owns the method rather than a select few.
    • The method evolves to address the team's ongoing needs, rather than staying fixed and unchanged.
    • The method remains as close to practitioners' practice as possible, so that it evolves and adapts to their particular context and challenges.
    • The method supports all competency levels helping the experienced and inexperienced practitioners alike.

    This requires a separation of concerns:

    • Separating the what from the how.
    • Separating the results from the documentation.
    • Separating the essence from the details.
    • Separating what the least experienced developers need from what the most experienced developers need.
    • Separating the complexity of engineering from the complexity of defining methods.

    Key to achieving this is the separation of the kernel - capturing the essence of engineering - from 1) the practices that will be combined to form the method and 2) the language used to capture the kernel and the practices. This allows them all to be kept small, focused, and as simple as possible.

    Suggestion

    Agility in Team Methodologies

    Teams must adopt agile approaches to method implementation to ensure effectiveness and responsiveness to dynamic needs:

    • Method Utilization Over Description: Prioritize practical use of methods over exhaustive descriptions to enhance adaptability.
    • Collective Ownership: Ensure the entire team, rather than a select few, owns and engages with the method.
    • Continuous Evolution: Allow methods to evolve in response to the team's changing needs instead of remaining static.
    • Practitioner Alignment: Keep methods aligned with practitioners' actual practices, allowing adaptation to specific contexts and challenges.
    • Support Across Competency Levels: Design methods to aid all practitioners, from novices to experts, enhancing skill development and application.

    Essential Separations for Method Effectiveness

    Effective method management involves distinct separations:

    • What vs. How: Distinguish between the goals of the method and the means of achieving them.
    • Results vs. Documentation: Separate outcomes from their documentation to streamline processes.
    • Essence vs. Details: Focus on the core (essence) of engineering principles while minimizing excessive details.
    • Needs of Varying Expertise Levels: Tailor method accessibility to cater to the least and most experienced developers.
    • Engineering vs. Method Definition Complexity: Differentiate the complexities inherent in engineering from those in defining methods.

    Key Strategy: Kernel and Method Separation

    Central to these practices is the distinction between the kernel, which captures the essence of engineering, and:

    1. The practices combined to form the method.
    2. The language used to describe the kernel and the practices.

    This separation ensures that all components remain streamlined, focused, and simple, facilitating adaptability and effectiveness.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 20:49 GMT
  • Updated: Sat, 17 Aug 2024 18:59 GMT

Update "How to Read" for consistency with specification

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    This specification contains detailed descriptions of both the Essence Kernel and the Essence Language. You do not need a detailed knowledge of the language to be able to read and understand the kernel. Although the kernel is specified using the language it only uses a small subset of the language, and is designed to be intuitive, self-contained and accessible to those without a detailed knowledge of the language.

    Some readers will be more interested in the Essence Kernel and its usage than the details of the language. If you fall into this category, it is recommended that you focus on Clause 8 Kernel Specification dipping into Clause 9 Language Specification when and where you require more information about the language elements or icons used. You may also want to look at the examples and extensions described in the annexes before looking at the details of the language itself.

    Other readers will want to understand the detail of the language before looking at the Kernel or the examples. In this case it is recommended that you first read Clause 9 Language Specification before reading Clause 8 Kernel Specification and looking at the example and extensions presented in the annexes.

    We expect most readers to prefer to read the Kernel Specification before diving into the Language Specification because 1) it only uses a small subset of the language, 2) it provides a good example of the expressive qualities of the language, and 3) if it cannot be understood without first reading the entire language specification it is not a good basis for the definition and sharing or your practices and methods.

    Suggestion

    This specification contains detailed descriptions of the Essence Kernel and the Essence Language. Detailed language knowledge is not required to read and understand the kernel. Although the kernel is specified using the language, it only uses a small subset of the language. It is designed to be intuitive, self-contained, and accessible to those without detailed language knowledge.

    Some readers are more interested in the Essence Kernel and its usage than in the details of the language. For those readers, it is recommended to focus on Clause 8 Kernel Specification, dipping into Clause 9 Language Specification when and where more information about the language elements or icons is required. The examples and extensions described in the annexes may also be helpful to review before looking at the details of the language itself.

    Other readers want to understand the details of the language before looking at the Kernel or the examples. In this case, it is recommended to first read Clause 9 Language Specification before reading Clause 8 Kernel Specification and looking at the examples and extensions presented in the annexes.

    Most readers prefer reading the Kernel Specification before the Language Specification because:
    1. iI only uses a small subset of the language
    2. It provides a good example of the expressive qualities of the language
    3. if it cannot be understood without first reading the entire language specification, it is not a reasonable basis for defining and sharing practices and methods.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:20 GMT
  • Updated: Sat, 17 Aug 2024 18:49 GMT

Streamline and Simplify Language in What is a Kernel

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is repetitive, uses the passive voice, uses the past tense and personal pronouns.

    Original Text

    The kernel is a stripped-down, light-weight set of definitions that captures the essence of effective, scalable engineering in a practice independent way.
    The focus of the kernel is to define a common basis for the definition of engineering practices, one that allows them to be defined and applied independently. The practices can then be mixed and matched to create specific engineering methods tailored to the specific needs of a specific engineering community, project, team, or organization. The kernel has many benefits including:

    • Allowing you to apply as few or as many practices as you like.
    • Allowing you to easily capture your current practices in a reusable and extendable way.
    • Allowing you to evaluate your current practices against a technique neutral control framework.
    • Allowing you to align and compare your on-going work and methods to a common, technique neutral framework, and then to complement it with any missing critical practices or process elements.
    • Allowing you to start with a minimal method adding practices as the endeavor progresses and when you need them.

    Suggestion

    The kernel is a stripped-down, lightweight set of definitions that captures the essence of effective, scalable engineering in a practice-independent way. Its focus is on defining a common basis for the definition of engineering practices, allowing them to be defined and applied independently. These practices can then be mixed and matched to create specific engineering methods tailored to the needs of a particular engineering community, project, team, or organization.

    The kernel offers numerous benefits, including:

    • Flexibility in Practice Application: Allows the application of as few or as many practices as needed.
    • Capture of Current Practices: Facilitates the easy capture of current practices in a reusable and extendable manner.
    • Evaluation Against a Neutral Framework: Enables evaluation of current practices against a technique-neutral control framework.
    • Alignment and Comparison: Allows alignment and comparison of ongoing work and methods to a common, technique-neutral framework, complementing it with any missing critical practices or process elements.
    • Incremental Method Development: Supports starting with a minimal method and adding practices as the endeavor progresses and as needed.
  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:31 GMT
  • Updated: Sat, 17 Aug 2024 18:41 GMT

Make the abilities in active voice

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    In the solution area of concern the team has to be able to capture and analyze the requirements, and build and operate a system that fulfills them. This requires the following competencies to be available to the team:

    Suggestion

    In the solution area of concern, the team needs to capture and analyze the requirements and build and operate a system that fulfills them. This necessitates the following competencies being available to the team:

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 23:02 GMT
  • Updated: Fri, 16 Aug 2024 23:59 GMT

Refiniing the definition of the competencies

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is informal, has redundancies, uses the passive voice, and uses the past tense.

    Original Text

    In the solution area of concern the team has to be able to capture and analyze the requirements, and build and operate a system that fulfills them. This requires the following competencies to be available to the team:

    • Analysis: This competency encapsulates the ability to understand opportunities and their related stakeholder needs, and transform them into an agreed and consistent set of requirements.
    • Development: This competency encapsulates the ability to design and produce effective systems following the standards and norms agreed by the team.
    • Testing: This competency encapsulates the ability to test a system, verifying that it is usable and that it meets the requirements.

    In the endeavor area of concern the team has to be able to organize itself and manage its work load. This requires the following competencies to be available to the team:

    • Leadership: This competency enables a person to inspire and motivate a group of people to achieve a successful conclusion to their work and to meet their objectives.
    • Management: This competency encapsulates the ability to coordinate, plan and track the work done by a team.

    Each competency has five levels of achievement. These are standard across all of the kernel competencies and summarized in Table Error: Reference source not found.1. The table reads from top to bottom with the lowest level of competency shown in the first row and the highest in the last row.

    Suggestion

    In the solution area of concern, the team's responsibilities include capturing and analyzing requirements and building and operating a system that fulfills these requirements. To effectively manage these tasks, specific competencies must be accessible to the team:

    • Analysis: is crucial for understanding the opportunities presented and their related stakeholder needs. It involves transforming these opportunities and needs into a set of agreed-upon and consistent requirements, ensuring that the system developed aligns with stakeholder expectations.
    • Development: focuses on designing and producing effective systems. It requires adherence to the team's established and agreed-upon standards and norms, ensuring consistency and quality in system development.
    • Testing: is essential for ensuring the system's usability. It involves rigorous testing to verify that the system functions as intended and meets all the specified requirements.

    In the endeavor area of concern, the team's ability to organize and manage its workload is paramount. This organizational capacity hinges on the availability of the following competencies within the team:

    • Leadership: This competency is vital for inspiring and motivating the team. Effective leadership drives the team towards achieving successful outcomes and meeting their objectives by providing direction, motivation, and a clear purpose.
    • Management: This competency involves coordinating, planning, and tracking the team's work. It ensures that projects are executed efficiently, resources are allocated effectively, and deadlines are met while aligning with the project's goals.

    Each of these competencies is structured into five levels of achievement, which provide a framework for assessing and developing team skills. These levels are consistent across all kernel competencies and are detailed in Table <TABLE>. This table outlines the progression from the most basic level of competency, shown in the first row, to the most advanced level, displayed in the last row. The structured approach allows teams to clearly understand the development path for each competency, facilitating targeted growth and improvement.

    By ensuring these competencies are developed and maintained, teams can enhance their effectiveness and efficiency, directly contributing to the success of their projects.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 23:13 GMT
  • Updated: Fri, 16 Aug 2024 23:57 GMT

Refine the discussion of kernal Alphas

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is verbose and long, uses the passive voice, and uses the past tense.

    Original Text

    The kernel Alphas 1) capture the key concepts involved in engineering, 2) allow the progress and health of any engineering endeavor to be tracked and assessed, and 3) provide the common ground for the definition of engineering methods and practices. The Alphas each have a small set of pre-defined states that are used when assessing progress and health. Associated with each state is a set of predefined checklists. These states are not just one-way linear progressions. Each time you reassess a state, if you do not meet all the checklist items, you can go back to a previous state. You can also iterate through the states multiple times depending on your choice of practices. The Alphas should not be viewed as a physical partitioning of your endeavor or as just abstract work products. Rather they represent critical indicators of the things that are most important to monitor and progress. As an example, team members, while they are part of the Team Alpha, are also stakeholders, and therefore can also be part of the Stakeholders Alpha. The Alphas, their relationships and their areas of concern are shown in Figure Error: Reference source not found.3. Note that the Alphas are agnostic to your chosen practices and method. For example, the relationship shown in Figure Error: Reference source not found.3 that the "team performs and plans work" does not imply any specific order in which they perform and plan the work.

    Suggestion

    The kernel Alphas capture the key concepts involved in engineering:

    • Allow the progress and health of any engineering endeavor to be tracked and assessed.
    • Provide the common ground for the definition of engineering methods and practices.

    Each Alpha has a small set of pre-defined states used when assessing progress and health, with each state associated with a predefined set of checklists. These states are not merely one-way linear progressions; returning to a previous state is possible if all checklist items are not met upon reassessment. Additionally, iteration through the states is possible depending on chosen practices.

    The Alphas should not be viewed as a physical partitioning of the endeavor or merely abstract work products; rather, they represent critical indicators of the most important things to monitor and progress. For example, team members, while part of the Team Alpha, are also stakeholders and can thus be part of the Stakeholders Alpha. Figure 8.3 illustrates the Alphas, their relationships, and their areas of concern.

    Note that the Alphas are agnostic to chosen practices and methods. For instance, the relationship depicted in Figure 8.3, where the "team performs and plans work," does not imply any specific order in which work is performed and planned.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:53 GMT
  • Updated: Fri, 16 Aug 2024 23:50 GMT

More formal Descriptions of the Essence kernel

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is too informal, uses the passive voice, and uses the past tense.

    Original Text

    The Essence Kernel provides the common ground to, among other things, help practitioners to compare methods and make better decisions about their practices. Presenting the essence of engineering in this way enables us to build our knowledge on top of what we have known and learnt, and to apply and reuse gained knowledge across different application domains and systems of differing complexity.

    The kernel elements form the basis of a vocabulary - a map of the engineering context - upon which we can define and describe any method or practice in existence or foreseen in the near future. They are defined in a way that allows them to be extensible and tailorable, supporting a wide variety of practices, methods, and development styles.

    The Essence Kernel is also designed to be extensible to cater for the emergence of new technologies, new practices, new social working patterns, and new research. It is small and light at its base but extensible to cover more advanced uses, such as dealing with life-, safety-, business-, mission-, and security-critical systems.

    The Essence Kernel can also be used whether or not a team has a documented method. The elements of the kernel are always prevalent in any engineering endeavor. They are what we always have (e.g., teams and work), what we always do (e.g., specify and implement), and what we always produce (e.g., systems) when we conduct engineering work. Even without a defined method the Essence Kernel can be used to monitor the progress and health of any endeavor, and to analyze the strengths and weaknesses of a team's way of working.

    Suggestion

    The Essence Kernel elements form the basis of a vocabulary, which is a map of the engineering context. This vocabulary then becomes the basis for definitions and descriptions of existing or future engineering methods or practices.

    The definitions of methods and practices should be extensible and tailorable, supporting various practices, methods, and development styles.

    Additionally, the Essence Kernel's intention is for extensibility to support the emergence of new technologies, practices, social working patterns, and research. It is small and light at its base but extensible to cover more advanced uses, especially mission-critical systems that cover life and safety, business, and security.

    The Essence Kernel is also helpful whether or not a team has documented methods. The elements of the kernel are always prevalent in any engineering endeavor. They are the core of engineering (e.g., teams and work), the engineering processes (e.g., specify and implement), and the engineering results (e.g., systems). Even without a predefined method, the Essence Kernel can monitor the progress and health of any engineering endeavor and analyze the strengths and weaknesses of a team's way of working.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 21:00 GMT
  • Updated: Fri, 16 Aug 2024 23:46 GMT

Update definitions for the area of concerns

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is too informal, uses the passive voice, and uses the past tense.

    Original Text

    The Kernel is organized into three discrete areas of concern, each focusing on a specific aspect of engineering. As shown in Figure Error: Reference source not found.2, these are:

    • Customer - This area of concern contains everything to do with the actual use and exploitation of the system to be produced.
    • Solution - This area of concern contains everything to do the specification and development of the system.
    • Endeavor - This area of concern contains everything to do with the team, and the way that they approach their work.

    <FIGURE HERE>

    Throughout the diagrams in the body of the kernel specification, the three areas of concern are distinguished with different color codes where green stands for customer, yellow for solution, and blue for endeavor. The colors will facilitate the understanding and tracking of which area of concern owns which Alphas and Activity Spaces. We have also added textual labels so the reader need not rely totally on the color codes.

    Suggestion

    The Kernel is organized into three discrete areas of concern, each focusing on a specific engineering aspect, as seen in Figure 8.2. These areas of concern are:

    • Customer: Encompasses everything related to the actual use and exploitation of the system to be produced.
    • Solution: Covers everything regarding the specification and development of the system.
    • Endeavor: Includes everything concerning the team and how they approach their work.

    <FIGURE HERE>

    Throughout the diagrams in the body of the kernel specification, the three areas of concern are distinguishable with different color codes: green for customer, yellow for solution, and blue for endeavor. These colors aid in understanding and tracking which area of concern owned which Alphas and Activity Spaces. We also add textual labels so the reader does not rely solely on the color codes.

  • Reported: Essence 2.0b1 — Thu, 15 Aug 2024 22:46 GMT
  • Updated: Fri, 16 Aug 2024 23:40 GMT

Needs to be more actionable tasks

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text is cumbersome and awkward, uses the passive voice, and uses the past tense.

    Original Text

    Competency Level Brief Description

    1 - Assists Demonstrates a basic understanding of the concepts involved and can follow instructions.
    The following describe the traits of a Level 1 individual:

    • Understands and conducts his or her self in a professional manner.
    • Is able to correctly respond to basic questions within his or her domain.
    • Is able to perform most basic functions within the domain.
    • Can follow instructions and complete basic tasks.

    2 - Applies Able to apply the concepts in simple contexts by routinely applying the experience gained so far.
    The following describe the traits of a Level 2 individual:

    • Is able to collaborate with others within the Team.
    • Is able to satisfy routine demands and do simple work requirements.
    • Can handle simple challenges with confidence.
    • Can handle simple work requirements but needs help in handling any complications or difficulties.
    • Is able to reason about the context and draw sensible conclusions.

    3 - Masters Able to apply the concepts in most contexts and has the experience to work without supervision.
    The following describe the traits of a Level 3 individual:

    • Is able to satisfy most demands and work requirements.
    • Is able to speak the language of the competency's domain with ease and accuracy.
    • Is able to communicate and explain his or her work.
    • Is able to give and receive constructive feedback.
    • Knows the limits of his or her capability and when to call on more expert advice.
    • Works at a professional level with little or no guidance.

    4 - Adapts Able to apply judgment on when and how to apply the concepts to more complex contexts. Can make it possible for others to apply the concepts.
    The following describe the traits of a Level 4 individual:

    • Is able to satisfy complex demands and work requirements.
    • Is able to communicate with others working outside the domain.
    • Can direct and help others working within the domain.
    • Is able to adapt his or her way-of-working to work well with others, both inside and outside their domain.
      5 - Innovates A recognized expert, able to extend the concepts to new contexts and inspire others.
      The following describe the traits of a Level 5 individual:
    • Has many years of experience and is currently up to date in what is happening within the domain.
    • Is recognized as an expert by his or her peers.
    • Supports others in working on complex problems.
    • Knows when to innovate or do something different and when to follow normal procedure.
    • Develops innovative and effective solutions to the current challenges within the domain.

    Suggestion

    Level 1 - Assists

    • Description: Demonstrates a basic understanding of the concepts and follows instructions.
    • Traits:
    • Understands and conducts oneself professionally.
    • Correctly responds to basic questions within one's domain.
    • Performs most basic functions within the domain.
    • Follows instructions and completes basic tasks.

    Level 2 - Applies

    • Description: Able to apply the concepts in simple contexts by routinely applying the experience gained.
    • Traits:
    • Collaborates effectively within the team.
    • Satisfies routine demands and completes simple work requirements.
    • Handles simple challenges with confidence.
    • Manages simple work requirements but requires assistance with complications or difficulties.
    • Reasons about the context and draws sensible conclusions.

    Level 3 - Masters

    • Description: Able to apply the concepts in most contexts and has experience working without supervision.
    • Traits:
    • Satisfies most demands and work requirements independently.
    • Communicates fluently in the language of the competency's domain.
    • Communicates and explains work clearly.
    • Gives and receives constructive feedback effectively.
    • Recognizes limits of own capability and knows when to seek expert advice.
    • Works at a professional level with minimal or no guidance.

    Level 4 - Adapts

    • Description: Able to judge when and how to apply the concepts to more complex contexts and enable others to apply the concepts.
      Traits:
    • Satisfies complex demands and work requirements.
    • Communicates effectively with individuals outside the domain.
    • Directs and assists others within the domain.
    • Adapts working methods to collaborate effectively with others inside and outside the domain.

    Level 5 - Innovates

    • Description: A recognized expert, able to extend the concepts to new contexts and inspire others.
    • Traits:
    • Possesses extensive experience and remains current with developments within the domain.
    • Recognized as an expert by peers.
    • Supports others in addressing complex problems.
    • Knows when to innovate and when to adhere to established procedures.
    • Develops innovative and effective solutions to current challenges within the domain.
  • Reported: Essence 2.0b1 — Fri, 16 Aug 2024 01:34 GMT
  • Updated: Fri, 16 Aug 2024 06:35 GMT

Do not use personal pronouns

  • Key: ESSENCE2-4
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Jusitifcation

    Avoiding personal pronouns in specifications is a standard practice that enhances technical documents' professionalism, clarity, and objectivity. Here’s why it’s important:
    1. Objectivity and Impartiality - Using personal pronouns like "I," "we," or "you" can introduce a subjective tone into specifications, which are meant to be objective and impartial. Specifications should provide clear, factual information applicable to anyone using or interpreting them, regardless of personal involvement. Avoiding personal pronouns helps maintain this neutral and universal tone.
    2. Professionalism - Specifications are formal documents used in professional environments. They often serve as legal or contractual bases in projects and must uphold a level of professionalism that personal pronouns can undermine. Formal language, free of personal pronouns, helps establish and maintain the professional quality of these documents.
    3. Clarity and Universality - Specifications are meant to be unambiguous guidelines that anyone on a project can follow, regardless of their role. Personal pronouns can create confusion about who is responsible for certain actions or decisions. For instance, "you must install" could be unclear, whereas "the contractor must install" specifies exactly who is responsible.
    4. Consistency—Technical documentation benefits greatly from consistency, which helps reduce misunderstandings. Keeping the language impersonal ensures that different parties consistently understand the document without confusion about the roles and responsibilities, which might vary from project to project.
    5. Scalability and Longevity - Documents without personal pronouns are easier to scale to larger projects and retain relevance over time. They can be used and reused in different contexts and remain applicable because they don’t tie the instructions or guidelines to specific individuals or groups.
    6. Legal and Compliance Clarity - In legal contexts, especially in contracts and compliance documents, clarity about who must do what is crucial. Avoiding personal pronouns helps define rights and responsibilities clearly without ambiguity, which is critical for enforceability and compliance checking.

    Example

    The following are examples of avoiding personal pronouns in specifications:

    • With Personal Pronouns: "You must check the system for errors."
    • Without Personal Pronouns: "The system must be checked for errors by the maintenance team."

    Removing personal pronouns results in a specification that assigns responsibility to a specific role or entity rather than an unspecified "you," enhancing clarity and accountability.

    Summary

    In summary, avoiding personal pronouns in specifications ensures that the documents are objective, professional, clear, and applicable across various contexts and projects, essential for technical, legal, and operational efficacy.

  • Reported: Essence 2.0b1 — Tue, 13 Aug 2024 19:11 GMT
  • Updated: Thu, 15 Aug 2024 22:44 GMT

Streamlining Text

  • Key: ESSENCE2-5
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Justification

    Removing unnecessary instances of "that" from sentences can indeed do more than streamline the text. Here are the additional benefits:
    1. Improves Readability: Cluttered sentences can slow reading speed and make comprehension more challenging. By eliminating extra "that"s, sentences become easier to read and understand quickly.
    2. Enhances Professionalism: In professional or academic writing, conciseness and clarity are highly valued. Redundant words can make text appear less polished. Streamlined sentences often appear more professional and well-considered.
    3. Increases Engagement: Dense, wordy text can distract readers. By making sentences crisper and more direct, you're likely to keep your audience more engaged.
    4. Clarifies Focus: Each unnecessary word in a sentence can dilute its impact. By removing superfluous "that"s, you sharpen the focus of your sentences, making your main points stand out more clearly.
    5. Improves Flow: Excessive wordiness can disrupt the flow of your writing. Streamlined sentences contribute to a smoother, more natural narrative flow, which can greatly enhance the reader’s experience.
    6. Reduces Ambiguity: Sometimes, "that" can introduce ambiguity about which clauses it's linking or what it's referring to. Removing unnecessary instances can reduce this ambiguity, making your meaning more explicit.

    Summary

    While streamlining is a primary reason to cut extra "that"s from the content, the practice also contributes significantly to the overall quality of the text, affecting readability, professionalism, engagement, clarity, flow, and precision.

  • Reported: Essence 2.0b1 — Tue, 13 Aug 2024 20:42 GMT
  • Updated: Thu, 15 Aug 2024 22:09 GMT

Remove Passive Voice

  • Key: ESSENCE2-2
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Justification

    Avoiding passive voice in specifications is generally recommended for several reasons, each contributing to clearer, more effective communication. Here’s why it’s important:

    • Clarity and Precision: Passive voice can sometimes obscure who is responsible for acting. Specifications must clarify which party or component performs each action to avoid ambiguity. Using active voice clarifies the subject's acting, making the document easier to understand and implement.
    • Directness and Authority: An active voice is more direct and forceful, which helps with authoritative and decisive expression. This is particularly important in specifications where direct instructions, clear guidelines, and unambiguous directives are crucial.
    • Conciseness: The active voice often requires fewer words than the passive voice, making statements more concise. In technical writing, especially specifications, conciseness helps keep documents succinct and focused, avoiding overly complex constructions that confuse the reader.
    • Readability: Texts written in active voice are generally easier to read and more engaging. In specifications, where the accuracy of the implementation is critical, ensuring that the document is easy to read reduces the risk of errors in interpretation.
    • Efficiency in Communication: Active voice contributes to faster and more efficient communication, which is essential in specifications. Stakeholders and team members can more quickly grasp the essential points and what is expected of them.

    Examples

    For example, instead of writing "The system is to be restarted by the operator," which uses passive voice, it’s clearer and more direct to say, "The operator must restart the system." This immediately clarifies who is responsible for the action and what action they must take.

    Summary

    In summary, using active voice in specifications ensures clarity, directness, conciseness, readability, and effective communication, all of which are vital for precisely executing tasks described in such documents.

  • Reported: Essence 2.0b1 — Mon, 12 Aug 2024 22:40 GMT
  • Updated: Thu, 15 Aug 2024 21:57 GMT

Clarity

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    It's just a bit hard to read.

    Original Text

    • A method is a composition of practices. Methods are not just descriptions for team members to read, they are dynamic, supporting their day-to-day activities. This changes the conventional definition of a method. A method is not just a description of what is expected to be done, but a description of what is actually done.

    Suggestion

    • A method is a composition of practices. Methods are not just descriptions for team members to read; they are dynamic and support their day-to-day activities. This changes the conventional definition of a method. A method is not just a description of what is expected to be done but a description of what is done.
  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 21:13 GMT
  • Updated: Wed, 14 Aug 2024 21:29 GMT

Typo

  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Issues

    The following text has a typo

    Original Text

    • Encourage and support incremental adoption by small and medium sized organizations by keeping the entry costs low and minimizing the barriers to adoption(e.g., starting by using "cards", the kernel or a single practice

    Suggestion:

    • Encourage and support incremental adoption by small and medium-sized organizations by keeping the entry costs low and minimizing the barriers to adoption (e.g., starting by using "cards," the kernel, or a single practice).

  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 20:57 GMT
  • Updated: Wed, 14 Aug 2024 20:57 GMT

Refering to "above"

  • Key: ESSENCE2-7
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Problem

    when referring to "above," it presumes the content is actually above the current location.

    Original text

    Still, the challenges with such practices are the same as outlined above for software engineering. The purpose of Essence is to make it easier for teams to capture, use and share such common engineering practices both locally within organizations as well as globally within the wider engineering community.

    Suggested Text:

    Still, software engineering challenges with such practices are originally described for software engineering. The purpose of this definition of Essence is to make it easier for teams to capture, use, and share such common engineering practices both locally within organizations and globally within the wider engineering community.

  • Reported: Essence 2.0b1 — Wed, 14 Aug 2024 20:36 GMT
  • Updated: Wed, 14 Aug 2024 20:57 GMT

Use Present Tense

  • Key: ESSENCE2-3
  • Status: open  
  • Source: Jackrabbit Consulting ( Dr. Robert (Nick) Stavros)
  • Summary:

    Justification

    Writing specifications in the present tense is a best practice in technical documentation and requirements management for several compelling reasons:
    1. Clarity and Immediacy - Writing in the present tense gives specifications a sense of immediacy and relevance. It makes the instructions and descriptions clearer and more direct as if they are universally and continually applicable. This helps to reduce confusion about when a specification or requirement should be implemented or is valid.
    2. Standardization and Consistency - Using the present tense helps maintain consistency throughout a document or set of documents. Consistency in tense is crucial in specifications because it prevents the reader from having to interpret the temporal context of a requirement or instruction. This uniformity makes the documents easier to read and understand, reducing the risk of misinterpretation.
    3. Future Proofing - Specifications often describe systems and processes intended to be used repeatedly over time. Using the present tense ensures that the document remains relevant and applicable regardless of when it is read. It avoids the need for future modifications to keep the language timely.
    4. Simplicity and Efficiencym- Present tense is typically more straightforward and concise than other tenses. It eliminates the need for complex verb structures that can make documents more difficult to read and comprehend, particularly for non-native English speakers or technical staff without advanced linguistic training.
    5. Authoritative and Definitive - The present tense can convey authority and definitiveness. It states that something is an ongoing fact, rule, or standard that adds weight to the requirements or guidelines provided in the specifications. This authoritative tone is essential for ensuring compliance and adherence to the criteria.

    Example:

    Past Tense: "The system was designed to handle up to 10,000 concurrent users."
    Present Tense: "The system handles up to 10,000 concurrent users."

    The present tense version clearly communicates an ongoing capability of the system, making it applicable at any time the specification is referenced.

    In summary, using the present tense in specifications is not just a stylistic choice but a functional approach that enhances clarity, consistency, and authority of the documentation. It helps ensure that the specifications are easily understood and remain applicable over time, facilitating effective communication and implementation of requirements.

  • Reported: Essence 2.0b1 — Tue, 13 Aug 2024 18:14 GMT
  • Updated: Wed, 14 Aug 2024 20:38 GMT

All Figures and Diagrams in the whole Specification need to be re-issued as Vector-SVG Figures

  • Key: ESSENCE2-1
  • Status: open  
  • Source: 88solutions ( Mr. Manfred R. Koethe)
  • Summary:

    Currently the figures in the Essence 2.0 Beta 1 specification document are raster graphics directly embedded in the MS Word document. To improve figure quality and legibility, and to aid long-term maintenance of the specification, all figures and diagrams need to be converted to Vector-SVG figures, and included into the specification maintenance archive, besides replacing the figures in the actual document.

  • Reported: Essence 2.0b1 — Fri, 9 Aug 2024 19:02 GMT
  • Updated: Fri, 9 Aug 2024 19:02 GMT

Operate the System Entry Criteria should read "Software System::Operational" not "Software System::Ready"

  • Status: open  
  • Summary:

    The Entry Criteria is incorrect. The spec for Activity Space Operate the System reads: "Entry Criteria: Software System::Ready".

    I believe this should read "Entry Criteria: Software System::Operational".

    My reasoning is as follows: The previous Activity Space "Deploy the System" reads "Entry Criteria: Software System::Ready, Completion Criteria: Software System::Operational". The Entry Criteria should match the Completion Criteria for the previous Activity Space. It also makes senses to not have both Activity Spaces active at the same time.

  • Reported: Essence 1.1 — Sat, 22 Sep 2018 02:35 GMT
  • Updated: Mon, 23 Aug 2021 13:42 GMT

incorrect wording

  • Status: open  
  • Source: Quicken Loans ( Peter Ritchie)
  • Summary:

    Second sentence under figure E.25 reads
    "Milestones are shown as a vertical bar across the grid starting with an inverted triangle..."

    Lines connecting to an inverted triangle and across the grid are horizontal, not vertical

  • Reported: Essence 1.2 — Tue, 7 Jul 2020 06:16 GMT
  • Updated: Mon, 13 Jul 2020 15:07 GMT