Skip to content

Commit

Permalink
Added all agnos content to /process
Browse files Browse the repository at this point in the history
  • Loading branch information
jgeluk committed Jul 8, 2022
1 parent 54bc778 commit c3f451f
Show file tree
Hide file tree
Showing 29 changed files with 1,093 additions and 17 deletions.
1 change: 1 addition & 0 deletions docs/process/.pages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ nav:
- plan
- build
- run
- ...

7 changes: 7 additions & 0 deletions docs/process/build/.pages.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
title: Build
nav:
- index.md
- allocate.md
- design.md
- implement.md
- test.md
- verify.md
- deliver.md
- ...

58 changes: 58 additions & 0 deletions docs/process/build/allocate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Allocate

<!--summary-start-->
Allocate resources, organize a team and start creating a "Center of Excellence for the EKG" (CoE).
<!--summary-end-->

## Workstreams

Building an EKG falls apart into two major types of development work-streams:

1. The EKG/Platform
2. Any of the EKG use cases<br />
EKG Use Cases – reusable EKG components that can be seen as “apps” or “systems” or “projects” – we call
them use cases – can only be delivered if there is at least a minimal form of an EKG/Platform in place.
One EKG/Platform – either in distributed form or not – can serve an unlimited number of EKG Use Cases
across an unlimited number of business areas and user groups, serving all the various needs, priorities,
and agendas of all at the same time.

For the EKG/Platform we recommend having an architecture plan or even set up a
permanent architecture board or working group to discuss and manage the evolution
of the platform alongside with the rest of the organization’s infrastructure and
the evolution of the use cases that your EKG/Platform is supporting.

## Center of Excellence

Since the EKG is such as strategic asset, we would recommend to not outsource everything to a software
house, to a consulting firm or to a vendor. The EKG should be "owned" by your organization.

A "Center of Excellence for the EKG" would therefore be required.
One can debate whether that should be one unit, a virtual team or a distributed team,
fact is that the EKGF and its community of consultancy firms would love to help build
that CoE and support it on its journey towards establishing an Enterprise Knowledge Graph
until it is fully self-sufficient.

Consultancy firms can assist with any activities required in the CoE in one of two forms,
two different delivery models:

1. In the coaching role, the CoE runs the show, the consultancy firm provides any of
its experts on a Time & Material basis.
2. For acceleration of the use case roadmap, the consultancy firm also provides
the service to take on a whole use case on its own, helping the CoE to achieve
its goals faster.
This is a different delivery model than "Coach" since in this case the consultancy
firm runs the show when it comes to end-to-end delivery of the---agreed---use case (tree).
Which can then be priced differently. Fixed price, fixed date, value/outcome based pricing,
depending on circumstances. Especially when the EKG reaches higher levels of maturity,
it will become more and more predictable to develop a new use case because all metrics
will be there and the practice of model-driven development will be in place.

## Approach

## Outputs
17 changes: 17 additions & 0 deletions docs/process/build/deliver.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Deliver

<!--summary-start-->
_Continuously improve, deliver small increments frequently_
<!--summary-end-->

## Approach

## Outputs


47 changes: 47 additions & 0 deletions docs/process/build/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Design

<!--summary-start-->
TODO
<!--summary-end-->

Of course, no one can just start building use cases on a technology platform that does not exist yet. Things
have to be architected and designed. Architecture, design and having a plan for those is important. And
there are many types of architecture involved. But generally we can split it up into two rather independent
streams of work as mentioned above: the platform and the use cases it supports. The platform
is primarily a technical concern whereas the design of the use cases is primarily about understanding the
business.

## Approach

Once the business case has been approved, as it comes out of the [Chart phase](../plan/chart)
an initial team can be created, the scope is clearly defined, and we know what the first
use case is to start with.
First thing to do then is to organize design sessions with that team and go through all the various
types of architecture and devise a project plan of milestones and clearly defined deliverables.
Avoid doing it the waterfall-way, do it Agile but Agile does not preclude you from
first having a good plan.

## Outputs

1. A well-informed team, prepared to successfully implement your use cases.
2. More detailed use case tree, including datasets, data sources, ontologies,
personas, business outcomes and user stories, all delivered within the
context of the UCT, as a model.
3. Then the translation of that to:
* Ontology Architecture
* Technical Architecture
- EKG/Platform, identification and functional description and
requirements of all the various platform services needed.
- A design and architecture for the ”DataOps Environment”
which connects the upstream data providers and downstream
data consumers to the EKG/Platform.
- A design and architecture for the user experience (either
bespoke or generic model-driven UI).
* A clear sequence of deliverable artifacts as input to the project plan.
4. A realistic roadmap that can be explained satisfactorily to stakeholders
15 changes: 15 additions & 0 deletions docs/process/build/implement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Implement

<!--summary-start-->
_Detail the use case_
<!--summary-end-->

## Approach

## Outputs
109 changes: 108 additions & 1 deletion docs/process/build/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,111 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Build

## Steps
!!! info inline end "no-code"

In general, for most use cases, there is very little actual
coding involved since the majority of use cases can be done
in a ”low-code” or even ”no-code” manner by specifying all
details of all functional requirements in the context of the
UCT which then all ends up as ”executable models” in the
EKG itself.

<!--summary-build-start-->
_"Building" an EKG-based use case involves
everything from detailed requirements gathering---structured
around the Use Case Tree---all the way up to delivery of
components for your production EKG-platform._
<!--summary-build-end-->

??? info "Inputs"

To set up for success, it is essential that the build phase starts with
the following artifacts and results that are created during the [plan phase](../plan)
are input for the build phase:

- **From [Envision](../plan/envision):** A shared vision and strategy,
an agreed overall scope and direction, all stakeholders are identified
and are supporting the strategy.
- **From [Discover](../plan/discover):** The UCT, a broad-stroke overview
of all use cases in the agreed scope with agreed names and
"Business Outcomes" plus abstract business descriptions of functional
requirements. (Details of the UCT to be determined during the build phase).
- **From [Assess](../plan/assess):** A light assessment of the various
non-functional requirements and levels of maturity in the areas of
the organization that the EKG and the EKG team would depend on plus
a plan as to how to bridge gaps.
- **From [Train](../plan/train):** Depending on the size of the
selected use cases and their scope, everyone involved should have
gone through some light basic training where the various new concepts
around EKG have been explained, especially the members of the initial team.
- **From [Chart](../plan/chart):** An agreed, supported and funded project
plan. With a well-defined _definition of done (DoD)_ or a definition
of what a successful delivery of the selected use cases means,
ideally around agreed business outcomes.

??? info "Critical success factors"

1. Creating an EKG can only be successful if it is done as part of the
company’s strategy with solid top-down support and leadership.
2. Bottom-up development of just one Knowledge Graph Use Case will only
lead to "yet another silo (YAS)" and cannot realistically compete
with existing technology stacks, missing out on the actual benefits
that EKG can provide.
3. An EKG requires internal ownership and a team that understands
the many new paradigms that are involved.
- Creating a solid team---let's call it the [Center of Excellence (CoE)
for the EKG](../../vocab/coe)---is essential.
4. It is not the technology that holds us back---the technology works---it
is the internal organization’s readiness and level of maturity in a
number of areas that require focus. (See [assess](../plan/assess.md))
5. A structured method is required that covers all areas, from strategy
and idea inception to capturing the right business outcomes and
requirements all the way to delivering a use case in production
and supporting it during its life cycle.
6. Any investment in a properly executed [plan phase](../plan) will
drastically increase the likelihood of successful delivery.

<div class="grid cards" markdown>

- :material-cached:{ .lg } __Allocate__

{% include-markdown "allocate.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](allocate.md)

- :material-cached:{ .lg } __Design__

{% include-markdown "design.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](design.md)

- :material-cached:{ .lg } __Implement__

{% include-markdown "implement.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](implement.md)

- :material-cached:{ .lg } __Test__

{% include-markdown "test.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](test.md)

- :material-cached:{ .lg } __Verify__

{% include-markdown "verify.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](verify.md)

- :material-cached:{ .lg } __Deliver__

{% include-markdown "deliver.md"
start="<!--summary-start-->" end="<!--summary-end-->" %}
[:octicons-arrow-right-24: Learn more](deliver.md)

</div>
19 changes: 19 additions & 0 deletions docs/process/build/test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Test

<!--summary-start-->
_Add test scenarios, deliver full coverage_
<!--summary-end-->

## Audience

## Approach

## Outputs


15 changes: 15 additions & 0 deletions docs/process/build/verify.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
authors:
- Jacobus Geluk
hide:
- toc
---
# Verify

<!--summary-start-->
_Verify with the business_
<!--summary-end-->

## Approach

## Outputs
29 changes: 26 additions & 3 deletions docs/process/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
---
hide:
- toc
- navigation
---
# Process

1. [Plan](plan)
2. [Build](build)
3. [Run](run)
<div class="grid cards" markdown>

- :material-cached:{ .lg } __Plan__

{% include-markdown "plan/index.md"
start="<!--summary-plan-start-->" end="<!--summary-plan-end-->" %}
[:octicons-arrow-right-24: Learn more](plan)

- :material-cached:{ .lg } __Build__

{% include-markdown "build/index.md"
start="<!--summary-build-start-->" end="<!--summary-build-end-->" %}
[:octicons-arrow-right-24: Learn more](build)

- :material-cached:{ .lg } __Run__

{% include-markdown "run/index.md"
start="<!--summary-run-start-->" end="<!--summary-run-end-->" %}
[:octicons-arrow-right-24: Learn more](run)

</div>
7 changes: 6 additions & 1 deletion docs/process/plan/.pages.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
title: Plan
nav:
- index.md

- Envision: envision.md
- Discover: discover.md
- Assess: assess.md
- Train: train.md
- Chart: chart.md
- ...
Loading

0 comments on commit c3f451f

Please sign in to comment.