Difference between revisions of "CNM Agile"

From CNM Wiki
Jump to: navigation, search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[CNM Agile]] (hereinafter, the ''Framework'') is a [[product development framework]] that represents an adaption of the [[Agile methodology]] to the learning and testing needs of the [[CNM Cyber Team]] (hereinafter, the ''Team'').
+
[[CNM Agile]] (hereinafter, the ''Framework'') is a [[product development framework]] that represents an adaption of the [[Agile methodology]] to the learning and testing needs of the [[CNMCyber Team]] (hereinafter, the ''Team'').
  
  
==Comparisons with other frameworks==
+
==The Framework vs others==
In comparison with [[Agile Scrum]], the ''Framework'' emphasizes weekly, not daily meetings and allows for virtual, not only physical co-working. In comparison with [[The Manifesto for Agile Software Development]], the ''Framework'' values comprehensive documentation over working products.
+
 
 +
===Similarities===
 +
 
 +
===Dissimilarities===
 +
In comparison with [[Agile Scrum]], the ''Framework'' emphasizes weekly, not daily meetings and allows for virtual, not only physical co-working. In comparison with [[The Manifesto for Agile Software Development]], the ''Framework'' values comprehensive documentation as a [[work product]].
  
 
==Projects==
 
==Projects==
Generally speaking, a [[project]] is a development [[#Endeavors|Endeavor]] or a set of [[enterprise effort]]s undertaken to produce a unique [[deliverable]], functional features of which are identified or can be identified before the ''efforts'' start. Those deliverables are those new and modified products that are produced during those developments. Indeed, the aim of ''Cyber's'' developments is to produce new or modify existing [[CNM Cyber product]]s. At the ''Cyber'', former and current projects are listed in the [[:Category:CNM Cyber endeavors|"CNM Cyber endeavors" category]].  
+
Generally speaking, a [[project]] is a development [[#Endeavors|Endeavor]] or a set of [[enterprise effort]]s undertaken to produce a unique [[deliverable]], functional features of which are identified or can be identified before the ''efforts'' start. Those deliverables are those new and modified products that are produced during those developments. Indeed, the aim of ''Cyber's'' developments is to produce new or modify existing [[CNMCyber product]]s. At the ''Cyber'', former and current projects are listed in the [[:Category: CNMCyber endeavors|"CNMCyber endeavors" category]].  
  
 
===Cycles of cycles===
 
===Cycles of cycles===
Line 19: Line 23:
 
:* A contractor submitted more products than the contract had required. If they are further deployed, those additional products would be by-products of this project.
 
:* A contractor submitted more products than the contract had required. If they are further deployed, those additional products would be by-products of this project.
 
:* Contractor's performance demonstrated advanced competencies in something unrelated to the project. The updated records are by-products of this project.  
 
:* Contractor's performance demonstrated advanced competencies in something unrelated to the project. The updated records are by-products of this project.  
:* While organizing a meeting, the ''Coord'' encountered the problem of the policy's incompleteness. [[CNM Cyber Customer]] agreed to fund the policy's updates. The updated policy is a by-product of the project
+
:* While organizing a meeting, the ''Coord'' encountered the problem of the policy's incompleteness. [[CNMCyber Customer]] agreed to fund the policy's updates. The updated policy is a by-product of the project
  
===Durations===
+
===DREPD pattern===
: The ''Coords'' work on one project, usually up to three and, in exceptional cases, up to five weeks.
+
: ''Main wikipage: [[DREPD]]''
:# In the first week, they shall get familiarized with the project. At the end of the familiarization, the ''Coord'' should be able to explain what is described on the relevant wikipages and be ready to discuss its [[Sprint Zero]] with [[CNM Cyber Customer]].
 
:# From the second week to the penultimate week, they facilitate the project work in accordance with the [[#What Coords do|What Coords do]] section.
 
:# In the final week, they close the project or project part, documenting their work and the data that was uncovered during that work.
 
: Projects can overlap. For example, the last week of work on one project may be the first week of work on another project. For senior ''Coords'', there are no restrictions.
 
  
===Patterns===
 
 
: Although no single straightforward pattern of project advancement exists, some patterns can be found in various developments. As an example, letters in the [[DREPD]] pattern represent five phrases:
 
: Although no single straightforward pattern of project advancement exists, some patterns can be found in various developments. As an example, letters in the [[DREPD]] pattern represent five phrases:
:# '''D''' for "discover the need".
+
:# '''D''' for "discover the wills".
:# '''R''' for "research the background".
+
:# '''R''' for "research the grounds".
 
:# '''E''' for "envision the deliverable".
 
:# '''E''' for "envision the deliverable".
 
:# '''P''' for "plan the production".
 
:# '''P''' for "plan the production".
Line 37: Line 36:
  
 
: This pattern can be found in the whole development, in every group of processes, every process and every part of processes where ever anything new is or is going to be developed.
 
: This pattern can be found in the whole development, in every group of processes, every process and every part of processes where ever anything new is or is going to be developed.
 +
 +
===Durations===
 +
: The ''Coords'' work on one project, usually up to three and, in exceptional cases, up to five weeks.
 +
:# In the first week, they shall get familiarized with the project. At the end of the familiarization, the ''Coord'' should be able to explain what is described on the relevant wikipages and be ready to discuss its [[Sprint Zero]] with [[CNMCyber Customer]].
 +
:# From the second week to the penultimate week, they facilitate the project work in accordance with the [[#What Coords do|What Coords do]] section.
 +
:# In the final week, they close the project or project part, documenting their work and the data that was uncovered during that work.
 +
: Projects can overlap. For example, the last week of work on one project may be the first week of work on another project. For senior ''Coords'', there are no restrictions.
  
 
===Project results===
 
===Project results===
 
: [[Project result]]s or results of the projects may be classified in four levels:
 
: [[Project result]]s or results of the projects may be classified in four levels:
:# '''[[Project scrap]]s''', which are intermediate products that either become parts of the [[CNM Cyber product]]s or have been decommissioned before the end of the project. Nevertheless, the outputs cannot be produced without those scraps. As they say, sausage making is messy, but no sausage can be produced without that mess.
+
:# '''[[Project scrap]]s''', which are intermediate products that either become parts of the [[CNMCyber product]]s or have been decommissioned before the end of the project. Nevertheless, the outputs cannot be produced without those scraps. As they say, sausage making is messy, but no sausage can be produced without that mess.
 
:# '''[[Project output]]s''' are the things that are produced during the project and kept after its end. Besides the [[#Project deliverables|Project deliverables]], the outputs may include other-than-the-project [[#Records|Records]] such as publications and [[#Documents|Documents]] such as blueprints that have been developed and commissioned in order to produce the [[#Project deliverables|Project deliverables]].
 
:# '''[[Project output]]s''' are the things that are produced during the project and kept after its end. Besides the [[#Project deliverables|Project deliverables]], the outputs may include other-than-the-project [[#Records|Records]] such as publications and [[#Documents|Documents]] such as blueprints that have been developed and commissioned in order to produce the [[#Project deliverables|Project deliverables]].
 
:# '''[[Project outcome]]s'''. On the ''Coord's'' side, the outcomes are those [[KSA]]s that the ''Coord'' has obtained during the project coordination. On the other stakeholders' side, the outcomes are something for which the [[#Project deliverables|Project deliverables]] have been produced.
 
:# '''[[Project outcome]]s'''. On the ''Coord's'' side, the outcomes are those [[KSA]]s that the ''Coord'' has obtained during the project coordination. On the other stakeholders' side, the outcomes are something for which the [[#Project deliverables|Project deliverables]] have been produced.
Line 46: Line 52:
  
 
===Status reports===
 
===Status reports===
: While working on the deliverable, the ''Coords'' are expected to report their project status. In [[CNM Agile]] framework, these statuses are reported at the product line wikipage, [[CNM Cloud Usable]], using the following readiness levels for each [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]]:
+
: While working on the deliverable, the ''Coords'' are expected to report their project status. In [[CNM Agile]] framework, these statuses are reported at the product line wikipage, [[CNMCyber Usable]], using the following readiness levels for each [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]]:
 
:* '''[[Not started status|Not started]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] hasn't started yet.
 
:* '''[[Not started status|Not started]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] hasn't started yet.
 
:* '''[[In progress status|In progress]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been started, but the state/device has not yet been submitted for the approval.
 
:* '''[[In progress status|In progress]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been started, but the state/device has not yet been submitted for the approval.
 
:* '''[[Cancel status|Cancel]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been cancelled.
 
:* '''[[Cancel status|Cancel]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been cancelled.
 
:* '''[[Submitted status|Submitted]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been submitted for the approval.
 
:* '''[[Submitted status|Submitted]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been submitted for the approval.
:* '''[[Done status|Done]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been approved. With exceptions of the [[state of certainty]], [[CNM Cyber Customer]] approves the status. With regard to the [[state of certainty]], its approval also requires the developer's consent.
+
:* '''[[Done status|Done]]'''. Project work on the corresponding [[#Product states|Product state]] and [[#Devices of certainty|Device of certainty]] has been approved. With exceptions of the [[state of certainty]], [[CNMCyber Customer]] approves the status. With regard to the [[state of certainty]], its approval also requires the developer's consent.
  
 
==Work products==
 
==Work products==
Line 57: Line 63:
  
 
===Project deliverables===
 
===Project deliverables===
: Projects are undertaken to create project deliverables. [[CNM Cyber Customer]] funds projects in order to get something in return. Normally, customers fund projects because of its expected deliverables. Any project is expected to deliver some outputs. In other words, project deliverables are those products for which development the project exists.
+
: Projects are undertaken to create project deliverables. [[CNMCyber Customer]] funds projects in order to get something in return. Normally, customers fund projects because of its expected deliverables. Any project is expected to deliver some outputs. In other words, project deliverables are those products for which development the project exists.
  
 
: For instance, when a contractor is hired to produce a particular thing, that very thing should be the deliverable of that project. Literally, the contractor is expected to ''deliver'' the deliverable to complete the project.
 
: For instance, when a contractor is hired to produce a particular thing, that very thing should be the deliverable of that project. Literally, the contractor is expected to ''deliver'' the deliverable to complete the project.
  
: At the ''Cyber'', former, current, and expected deliverables are listed in the [[:Category:CNM Cyber products|"CNM Cyber products" category]]. Project deliverables exist in various [[#Product states|Product states]] and belong to various [[#Product areas|Product areas]]. In addition, one project rarely produces one single deliverable. For instance, the [[HAProxy for CNM Farms]] project is expected to deliver high-availability capabilities for [[CNM Campus Farm]] and [[Campus Farm Lab]], as well as related presentations on various media resources, updates to the [[CNM Cyber Orientation]] course, and a bundle of exercises for the learners.
+
: At the ''Cyber'', former, current, and expected deliverables are listed in the [[:Category:CNM Cyber products|"CNMCyber products" category]]. Project deliverables exist in various [[#Product states|Product states]] and belong to various [[#Product areas|Product areas]]. In addition, one project rarely produces one single deliverable. For instance, the [[HAProxy for CNM Farms]] project is expected to deliver high-availability capabilities for [[CNM Campus Farm]] and [[Campus Farm Lab]], as well as related presentations on various media resources, updates to [[EmployableU Concepts]] course, and a bundle of exercises for the learners.
  
 
: Finally, project deliverables and ''Coords<nowiki>'</nowiki>'' deliverables are not the same things. Any development can be represented as [[#Cycles of cycles|Cycles of cycles]]. Just few ''Coords<nowiki>'</nowiki>'' deliverables, for instance, records, become a part of project deliverables. Normally, [[#What Coords produce|the ''Coords'' deliver]] to the project something like [[#Meetings|Meetings]], [[#Documents|Documents]], [[#Records|Records]], and [[#Communications|Communications]] to be consumed in the project activities as [[project scrap]]s.
 
: Finally, project deliverables and ''Coords<nowiki>'</nowiki>'' deliverables are not the same things. Any development can be represented as [[#Cycles of cycles|Cycles of cycles]]. Just few ''Coords<nowiki>'</nowiki>'' deliverables, for instance, records, become a part of project deliverables. Normally, [[#What Coords produce|the ''Coords'' deliver]] to the project something like [[#Meetings|Meetings]], [[#Documents|Documents]], [[#Records|Records]], and [[#Communications|Communications]] to be consumed in the project activities as [[project scrap]]s.
  
==States of work products==
+
===States of work products===
 
: ''Main wikipage: [[Work-product state]]''
 
: ''Main wikipage: [[Work-product state]]''
  

Latest revision as of 22:20, 29 October 2023

CNM Agile (hereinafter, the Framework) is a product development framework that represents an adaption of the Agile methodology to the learning and testing needs of the CNMCyber Team (hereinafter, the Team).


The Framework vs others

Similarities

Dissimilarities

In comparison with Agile Scrum, the Framework emphasizes weekly, not daily meetings and allows for virtual, not only physical co-working. In comparison with The Manifesto for Agile Software Development, the Framework values comprehensive documentation as a work product.

Projects

Generally speaking, a project is a development Endeavor or a set of enterprise efforts undertaken to produce a unique deliverable, functional features of which are identified or can be identified before the efforts start. Those deliverables are those new and modified products that are produced during those developments. Indeed, the aim of Cyber's developments is to produce new or modify existing CNMCyber products. At the Cyber, former and current projects are listed in the "CNMCyber endeavors" category.

Cycles of cycles

To coordinate endeavors, the Coords shall accomplish cycles of efforts that consists of several steps. Similar procedures are normally needed to produce project scraps and by-products. That means that the Coords are expected to follow the same cycle to create What Coords produce.
Furthermore, the most of projects may be viewed as sets of smaller developments. Among the Coords' outputs, Meetings, Documents, and Communications usually belong to project scraps. Indeed, Project results and results of the Coords' work are different phenomena.
Project deliverables normally utilize outputs from other projects as its scrap. A CNM app development, for example, requires documents that describe its requirements, and drawing up those requirements requires meeting events. If we consider the Coords' work as micro-projects, we can say that outputs of micro-projects tend to become scraps for small projects and, furthermore, outputs of small projects tend to become scraps for macro-projects.

Deliverables vs by-products

Those project outputs that are not Project deliverables may be called project by-products. Their range is huge; there are some imaginary scenarios:
  • A contractor submitted more products than the contract had required. If they are further deployed, those additional products would be by-products of this project.
  • Contractor's performance demonstrated advanced competencies in something unrelated to the project. The updated records are by-products of this project.
  • While organizing a meeting, the Coord encountered the problem of the policy's incompleteness. CNMCyber Customer agreed to fund the policy's updates. The updated policy is a by-product of the project

DREPD pattern

Main wikipage: DREPD
Although no single straightforward pattern of project advancement exists, some patterns can be found in various developments. As an example, letters in the DREPD pattern represent five phrases:
  1. D for "discover the wills".
  2. R for "research the grounds".
  3. E for "envision the deliverable".
  4. P for "plan the production".
  5. D for "do what is planned and discover what hasn't been expected". This discovery is supposed to start a new cycle; new data shall emerge while doing and/or after getting something done.
This pattern can be found in the whole development, in every group of processes, every process and every part of processes where ever anything new is or is going to be developed.

Durations

The Coords work on one project, usually up to three and, in exceptional cases, up to five weeks.
  1. In the first week, they shall get familiarized with the project. At the end of the familiarization, the Coord should be able to explain what is described on the relevant wikipages and be ready to discuss its Sprint Zero with CNMCyber Customer.
  2. From the second week to the penultimate week, they facilitate the project work in accordance with the What Coords do section.
  3. In the final week, they close the project or project part, documenting their work and the data that was uncovered during that work.
Projects can overlap. For example, the last week of work on one project may be the first week of work on another project. For senior Coords, there are no restrictions.

Project results

Project results or results of the projects may be classified in four levels:
  1. Project scraps, which are intermediate products that either become parts of the CNMCyber products or have been decommissioned before the end of the project. Nevertheless, the outputs cannot be produced without those scraps. As they say, sausage making is messy, but no sausage can be produced without that mess.
  2. Project outputs are the things that are produced during the project and kept after its end. Besides the Project deliverables, the outputs may include other-than-the-project Records such as publications and Documents such as blueprints that have been developed and commissioned in order to produce the Project deliverables.
  3. Project outcomes. On the Coord's side, the outcomes are those KSAs that the Coord has obtained during the project coordination. On the other stakeholders' side, the outcomes are something for which the Project deliverables have been produced.
  4. Project impacts, which are consequences of the project, its outputs and outcomes on a society. Beyond the Coord's work, some projects, for instance, may initiate further meetings, documents, actions, and changes.

Status reports

While working on the deliverable, the Coords are expected to report their project status. In CNM Agile framework, these statuses are reported at the product line wikipage, CNMCyber Usable, using the following readiness levels for each Product state and Device of certainty:

Work products

Work products

Project deliverables

Projects are undertaken to create project deliverables. CNMCyber Customer funds projects in order to get something in return. Normally, customers fund projects because of its expected deliverables. Any project is expected to deliver some outputs. In other words, project deliverables are those products for which development the project exists.
For instance, when a contractor is hired to produce a particular thing, that very thing should be the deliverable of that project. Literally, the contractor is expected to deliver the deliverable to complete the project.
At the Cyber, former, current, and expected deliverables are listed in the "CNMCyber products" category. Project deliverables exist in various Product states and belong to various Product areas. In addition, one project rarely produces one single deliverable. For instance, the HAProxy for CNM Farms project is expected to deliver high-availability capabilities for CNM Campus Farm and Campus Farm Lab, as well as related presentations on various media resources, updates to EmployableU Concepts course, and a bundle of exercises for the learners.
Finally, project deliverables and Coords' deliverables are not the same things. Any development can be represented as Cycles of cycles. Just few Coords' deliverables, for instance, records, become a part of project deliverables. Normally, the Coords deliver to the project something like Meetings, Documents, Records, and Communications to be consumed in the project activities as project scraps.

States of work products

Main wikipage: Work-product state

See also

Related lectures