Difference between revisions of "CNM Cloud Embryo"

From CNM Wiki
Jump to: navigation, search
(Minimal viable technology)
 
(193 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[CNM Cloud Embryo]] (hereinafter, the ''Embryo'') is the second phase of [[CNM Cloud Project]] (hereinafter, the ''Project''). The work on that phase started in January of 2018 and, as of December of 2018, this phase is still current. [[CNM Cloud Beginnings]] is the previous phase.
+
[[CNM Cloud Embryo]] (hereinafter, the ''Embryo'') was the second phase of [[CNM Cloud Project]] (hereinafter, the ''Project''), which primary deliverable was a [[minimum viable product]]. A team of developers (hereinafter, the ''Team'') started working on that phase in January of 2018 and ended in December of 2019. [[CNM Cloud Beginnings]] is the previous phase; [[CNM Cloud Minimal]] is the successor one.
  
  
 
==Requirements==
 
==Requirements==
 +
The following [[user story|user stori]]es clarify those [[CNM Cyber requirements]] that are relevant to the ''Embryo'' and that describe completion of the second phase.
  
===User stories===
+
===Learner's story===
:Three [[user story|user stori]]es shall describe completion of the second phase:
+
:As someone who would like to be more competitive on the job market, I would like to:
 +
:#Use key software systems that enterprises use to have hands-on experience and to empower my job search.
 +
:#Get trained in utilizing those technologies which I am going to use.
 +
 
 +
===Administrator's story===
 +
:As someone who would like to help to those who want to be more competitive on the job market, I would like to:
 +
:#Know what technologies needs to be offered.
 +
:#Create a [[minimal viable product]] using the chosen technologies.
 +
:#Train someone to use the chosen technologies.
 +
 
 +
===Desirable user stories===
 +
:The following breakdown to the [[Opplet role]]s clarifies those [[CNM Cyber requirements]] that are relevant to the ''Usable''. Three [[user story|user stori]]es shall describe completion of the second phase:
 
:{|class="wikitable" width=100% style="text-align:center;"
 
:{|class="wikitable" width=100% style="text-align:center;"
 
|User story
 
|User story
!Initial [[Opplet role|role]]!!Allowed actions!!Results!!New [[Opplet role|role]]
+
!Initial [[Opplet role|role]]!!Actions to upgrade!!New [[Opplet role|role]]
 
|-
 
|-
 
!First
 
!First
 
|As a [[NetAnyone]], I shall be able to:||style="text-align:left;"|
 
|As a [[NetAnyone]], I shall be able to:||style="text-align:left;"|
#Click the button, ''Get started'', at any [[CNM Sites]];
+
#Click any [[CNMCyber Get-Started Clickable|Get-Started Clickable]];
 
#Get to the [[Opplet.net]] registration page;
 
#Get to the [[Opplet.net]] registration page;
 
#Fill in my credentials including (a) login name, (b) password, and, (c) optionally, email address;
 
#Fill in my credentials including (a) login name, (b) password, and, (c) optionally, email address;
 
#Submit my credentials
 
#Submit my credentials
|Get to the [[Welcome to Friends Of CNM]] course at [[CNM Certs]] while being automatically enrolled ||[[NetConsumer]]
+
|[[NetConsumer]]
 
|-
 
|-
 
!Second
 
!Second
|As a [[NetConsumer]], I shall be able to:||Complete the [[Welcome to Friends Of CNM]]||Get a choice of enrolling into the [[WorldOpp Orientation]] or [[Careerprise for Developers]]||[[CertAssociate]]
+
|As a [[NetConsumer]], I shall be able to:||Complete [[EmployableU Concepts]]||[[CertUser]]
 
|-
 
|-
 
!Third
 
!Third
|rowspan="2"|As a [[CertAssociate]], I shall be able to:||style="text-align:left;"|
+
|As a [[NetAdmin]], I shall be able to:||Appoint any user to the [[FellowAdmin]] role||No change
#Get enrolled into the [[Careerprise for Developers]];
 
#Complete [[Careerprise for Developers]]
 
|Obtain a [[CertDeveloper]] role||[[CertDeveloper]]
 
|-
 
!Fourth
 
|style="text-align:left;"|
 
#Get enrolled into the [[WorldOpp Orientation]];
 
#Complete the [[WorldOpp Orientation]] and get automatically enrolled into the [[WorldOpp Placement Seminar]];
 
#Complete the [[WorldOpp Placement Seminar]]
 
|Get enrolled into the [[WorldOpp Bootcamp]]||[[CertFellow]]
 
|-
 
!Fifth
 
|As a [[CertFellow]], I shall be able to:
 
|Complete the [[WorldOpp Placement Seminar]]||colspan="2"|Further results shall be accommodated manually, so be assigned [[Opplet role]]s.
 
 
|}
 
|}
  
===Default role permissions===
+
===Desirable role permissions===
 
:{|class="wikitable" width=100% style="text-align:center;"
 
:{|class="wikitable" width=100% style="text-align:center;"
 
|[[CNM app|App]] / [[Opplet role|Role]]
 
|[[CNM app|App]] / [[Opplet role|Role]]
![[NetAnyone]]!![[NetConsumer]]!![[CertAssociate]]!![[CertDeveloper]]!![[CertFellow]]
+
![[NetAnyone]]!![[NetConsumer]]!![[CertUser]]!![[CertAssociate]]!![[CertFellow]]
 
|-
 
|-
![[CNM Nets|Nets]]
+
![[CNMCyber.com]]
 
|Visitor||colspan="4"|User
 
|Visitor||colspan="4"|User
 
|-
 
|-
![[CNM Certs|Certs]]
+
![[CNM Cert|Cert]]
 
|Visitor||colspan="4"|Student
 
|Visitor||colspan="4"|Student
 
|-
 
|-
![[CNM Wikis|Wikis]]
+
![[CNM Wiki|Wiki]]
 
|colspan="2"|Visitor||colspan="2"|Registered||Admin
 
|colspan="2"|Visitor||colspan="2"|Registered||Admin
 
|-
 
|-
![[CNM Sites|Sites]]
+
![[CNM Page|Page]]
 
|colspan="2"|Non‑registered||colspan="2"|Contributor||Author
 
|colspan="2"|Non‑registered||colspan="2"|Contributor||Author
 
|-
 
|-
![[CNM Labs|Labs]]
+
![[CNM Lab|Lab]]
 
|colspan="3"|No role||User||No role
 
|colspan="3"|No role||User||No role
 
|}
 
|}
  
===Software to be used===
+
==Phase history==
:{|class="wikitable" width=100% style="text-align:center;"
+
Several concepts, lessons learned, and pieces of software that were developed in the [[CNM Cloud Beginnings]] have been utilized in this successor phase. The ''Team'' called the new phase ''Embryo'' because the embryo of the new cloud was developed during this phase. The key developments could be summarized as follows. The ''Team'':
!colspan="2"|CNM software!!Description
 
|[[Careerprise service|Service]]
 
!Base(s)
 
|-
 
|rowspan="2"|[[CNM Platform|Platform]]
 
|[[CNM Infrastructure|Infrastructure]]||Hardware, [[operating system]](s), environment for programming languages to operate, [[database management system]]s, [[web server]]s
 
!(temporarily, outsourced)
 
|Not important for the ''Project''
 
|-
 
|rowspan="2"|[[CNM Netware|Netware]]||In this phase, [[user management software]] that manages authorization of users and their access to [[CNM app]]s
 
!rowspan="2"|[[CNM Nets|Nets]]
 
|rowspan="2"|Written specifically for the ''Cloud'' using the [[Yii]] framework
 
|-
 
|rowspan="5"|[[CNM app|Apps]]
 
|[[User interface]] to allow end-users to interact with [[Opplet]]
 
|-
 
|[[CNM Labware|Labware]]||Studio for [[Careerprise vendor]]s to document their developments and store developed files
 
![[CNM Labs|Labs]]
 
|[[Redmine]], [[Apache Subversion]] ([[Apache Subversion|SVN]]), (possibly) [[container]]s
 
|-
 
|[[CNM Certware|Certware]]||[[Learning management software]] to accommodate learning processes
 
![[CNM Certs|Certs]]
 
|[[Moodle]]
 
|-
 
|[[CNM Wikiware|Wikiware]]||[[Knowledge management software]] to develop corporate knowledge collaboratively and access the results
 
![[CNM Wikis|Wikis]]
 
|[[MediaWiki]]
 
|-
 
|[[CNM Siteware|Siteware]]||[[Content management software]] to empower websites
 
![[CNM Sites|Sites]]
 
|[[WordPress]]
 
|}
 
 
 
==Up-to-date story==
 
:Several concepts, lessons learned, and pieces of software that was developed in the [[CNM Cloud Beginnings]] have been utilized in this successor phase. The ''Team'' calls the new phase ''Embryo'' because the Embryo of the new cloud is going to be developed during this phase. The key developments could be summarized as follows. The ''Team'':
 
 
:#Identified:
 
:#Identified:
:#*[[Business need]]s. These needs are expressed in [[#User stories|User stories]];
+
:#*[[Business need]]s. These needs were expressed in [[#User stories|User stories]];
:#*System architecture including the core package of technology that would support [[#User stories|User stories]];
+
:#*System architecture including the core package of technology that would have supported [[#User stories|User stories]];
:#Designed and is implementing a new recruitment process based on the core package of developed technology;
+
:#Designed a new recruitment process based on the core package of developed technology;
 
:#Dramatically increased funding for both technology development and recruitment.
 
:#Dramatically increased funding for both technology development and recruitment.
  
 
===Second cloud initiation===
 
===Second cloud initiation===
:In 2018, Romanof as a PHP developer, [[Gary Ihar]] as the product owner, and Natalia as a vendor liaison initiated a new cloud endeavor. Its goal is to create the simpliest system for onboarding employees and [[Careerprise vendor]]s. The ''Team'' called this system ''embrio''. No private cloud itself is going to be launched in the second phase of the ''Project'' and even the next phase, which emphasis shall be a new [[Odoo]] instance.
+
:In 2018, Romanof as a PHP developer, [[Gary Ihar]] as the product owner, and Natalia as a contractor liaison initiated a new cloud endeavor. Its goal is to create the simpliest system for onboarding employees and [[Careerprise contractor]]s. The ''Team'' called this system ''embrio''. No private cloud itself is going to be launched in the second phase of the ''Project'' and even the next phase, which emphasis shall be a new [[Odoo]] instance.
  
 
:During the [[CNM Cloud Beginnings]], a [[SimpleSAMLphp]] instance, as an integration tool, worked well, but it had a few drawbacks, most importantly, in difficulties to integrate an [[Odoo]] instance. Instead of a [[SimpleSAMLphp]] instance, Romanof now implemented an [[OpenLDAP]] instance for the [[directory access]]. That development completed the third sprint of [[Opplet.net]].
 
:During the [[CNM Cloud Beginnings]], a [[SimpleSAMLphp]] instance, as an integration tool, worked well, but it had a few drawbacks, most importantly, in difficulties to integrate an [[Odoo]] instance. Instead of a [[SimpleSAMLphp]] instance, Romanof now implemented an [[OpenLDAP]] instance for the [[directory access]]. That development completed the third sprint of [[Opplet.net]].
  
 
===Launch of the Wiki===
 
===Launch of the Wiki===
:In spring of 2018, this very [[CNM Wikis]] was launched. A new instance of [[MediaWiki]] is used for [[CNM Wikiware]]. Temporarily, this development used tentative requirements.
+
:In spring of 2018, this very [[CNM Wiki]] was launched. A new instance of [[MediaWiki]] has been used for [[Educaship MediaWiki]]. No written requirements were developed; so, Romanof used his own judgment.
  
 
===New documenting model===
 
===New documenting model===
:Lack of documentation was critical in troubles of the [[CNM Cloud Beginnings]]. Now:
+
:Lack of documentation was critical in troubles of the [[CNM Cloud Beginnings]]. To resolve that issue, [[Gary Ihar]] developed and unsuccessfully tried to push a new documenting model:
:#Technical requirements for any critical software shall be developed before awarding of any contract. These requirements shall be published at this [[CNM Wikis]];
+
:#Technical requirements for any critical software shall be developed before awarding of any contract. These requirements shall be published on this [[CNM Wiki]];
 
:#After awarding any contract, [[Friends Of CNM]] shall grant its winner an access to the corresponding project at [[Fixett]];
 
:#After awarding any contract, [[Friends Of CNM]] shall grant its winner an access to the corresponding project at [[Fixett]];
 
:#Technical documentation for the developed software shall be kept posted at [[Fixett]].
 
:#Technical documentation for the developed software shall be kept posted at [[Fixett]].
  
:The most comprehensive documentation for the Embryo phase was originally created in Russian (using [[Fixett]] and the Russian part of [[CNM Wikis]] at https://wiki.friendsofcnm.org/ru); however, since the recruitment efforts are shifting to East Africa and the United States, new documents shall be posted at the English part of [[CNM Wikis]].
+
:The most comprehensive documentation for the Embryo phase was originally created in Russian (using [[Fixett]] and the Russian part of [[CNM Wiki]] at https://wiki.friendsofcnm.com/ru); however, since the recruitment efforts were shifting to East Africa and the United States, new documents were supposed to be posted at the English part of [[CNM Wiki]].
  
 
===New management approach===
 
===New management approach===
 
:The management model changed substantially:
 
:The management model changed substantially:
:*With some exceptions, [[Gary Ihar]] served as the only [[product owner]], [[business analyst]], [[systems engineer]], and [[project manager]] from the ''Project'' inception. Those exceptions were contributions by Romanof, most notably, into [[Opplet.net]], and [[CNM Digital by Loredana C]]. New apprentices are supposed to serve as [[product owner]]s, [[business analyst]]s, [[systems engineer]]s, and/or [[project manager]]s for those [[CNM app]]s that are being developed as deliverables of the ''Project''. Thus, they are encouraged to substitute some part and expand another part of the work of [[Gary Ihar]], so he would be able to expand his efforts to fund this change. A list of recent [[Gary Ihar]]'s contributions can be found at [[Special:Contributions/Gary]]; basically, he developed about 99.98% of [[CNM Wikis]] as of April of 2019;
+
:*With some exceptions, [[Gary Ihar]] served as the only [[product owner]], [[business analyst]], [[systems engineer]], and [[project manager]] from the ''Project'' inception. Those exceptions were contributions by Romanof, most notably, into [[Opplet.net]], and [[CNMCyber by Loredana C]]. New apprentices are supposed to serve as [[product owner]]s, [[business analyst]]s, [[systems engineer]]s, and/or [[project manager]]s for those [[CNM app]]s that are being developed as deliverables of the ''Project''. Thus, they are encouraged to substitute some part and expand another part of the work of [[Gary Ihar]], so he would be able to expand his efforts to fund this change. A list of recent [[Gary Ihar]]'s contributions can be found at [[Special:Contributions/Gary]]; basically, he developed about 99.98% of [[CNM Wiki]] as of April of 2019;
 
:*Romanof started playing a PHP sub-project manager role in addition to his technology development role;
 
:*Romanof started playing a PHP sub-project manager role in addition to his technology development role;
:*Natalia is encouraged to become a manager for an endeavor undertaken in order to create requirements for [[CNM Wikiware]].
+
:*Natalia is encouraged to become a manager for an endeavor undertaken in order to create requirements for [[Educaship MediaWiki]].
:*The ''Team'' is actively recruiting the project administrator; the requirements are posted at [[Friends Of CNM Cloud Administrator]].
+
:*The ''Team'' was actively recruiting the project coordinator; the requirements are posted at [[Educaship fellow]].
  
 
===Early recruitment of apprentices===
 
===Early recruitment of apprentices===
Line 130: Line 93:
 
:*The majority of most motivated candidates were concentrated on their efforts instead of getting the results. That suggests that their project management skills needed some development;
 
:*The majority of most motivated candidates were concentrated on their efforts instead of getting the results. That suggests that their project management skills needed some development;
 
:*If those candidates were oriented on some results, their desired results were not communicated with the product owner and, consequently, their efforts couldn't be funded. That suggests that their business analysis skills needed some development;
 
:*If those candidates were oriented on some results, their desired results were not communicated with the product owner and, consequently, their efforts couldn't be funded. That suggests that their business analysis skills needed some development;
:*It looks like documenting remains at very least one of the biggest problems. No candidate has accomplished more than a dozen of actions on [[CNM Wikis]] so far.
+
:*It looks like documenting remains at very least one of the biggest problems. No candidate has accomplished more than a dozen of actions on [[CNM Wiki]] so far.
:A clear recruitment and onboarding process is considered being an important problem to be solved next.
+
:A clear recruitment and onboarding process was considered being an important problem to be solved next. The endeavor produced a solid database of those who can work having clear instructions and under close supervision, but the ''Team'' didn't have such positions at that time.
  
 
===Idea of the Incubator===
 
===Idea of the Incubator===
 
:An idea of [[WorldOpp incubator]] was developed in order to create an onboarding process generally and, to develop candidates' skills in [[business analysis]], [[product ownership]], [[project management]], and [[records management]] particularly. Its idea is to hire those apprentices who could act as prospective members of [[WorldOpp Fellow Staff]].
 
:An idea of [[WorldOpp incubator]] was developed in order to create an onboarding process generally and, to develop candidates' skills in [[business analysis]], [[product ownership]], [[project management]], and [[records management]] particularly. Its idea is to hire those apprentices who could act as prospective members of [[WorldOpp Fellow Staff]].
  
:The apprentice candidates who participate in the incubator shall be enrolled into [[WorldOpp Placement Seminar]] and, consequently, [[WorldOpp Bootcamp]] and practice their concepts while creating and bettering curricula, as well as epics, user stories, and other documentation for [[CNM Cloud]] at [[CNM Wikis]].
+
:The apprentice candidates who participate in the incubator shall be enrolled into [[CNMCyber Bootcamps]] and, consequently, [[Educaship Fellowship]] and practice their concepts while creating and bettering curricula, as well as epics, user stories, and other documentation for [[Opplet]] at [[CNM Wiki]].
  
:One of possible implementations could be a group of 7-10 apprentices working on some local site somewhere in Kenya. To make it real, a partner on the ground may be looked for.
+
:One of possible implementations could be a group of 7-10 apprentices working on some local site somewhere in Kenya. To make it real, a partner on the ground should be looked for. However, the ''Project'' should mature more in order to be attractive to that partner.
  
===Launch of the Certs===
+
===Launch of the Cert===
:In the last months of 2018, [[CNM Certs]] was unexpectedly launched and tested by students of [[Shanghai Jian Qiao University]]. An instance of [[Moodle]] is used for [[CNM Certware]]. Initially, [[Gary Ihar]] opposed launching the Certs without complete technical requirements. However, there was an urgent need in some [[learning management system]] used for a program of [[Vaughn College of Aeronautics and Technology]] in that university in Shanghai, China. The Certs was tested successfully. Its technical requirements are still needed to be developed.
+
:In the last months of 2018, [[CNM Cert]]' launch was expedited in order to be used by students of [[Shanghai Jian Qiao University]]. An instance of [[Moodle]] is used for [[Educaship Moodle]]. Initially, [[Gary Ihar]] opposed launching the Cert without complete technical requirements. However, there was an urgent need in some [[learning management system]] used for a program of [[Vaughn College of Aeronautics and Technology]] in that university in Shanghai, China. The Cert was tested successfully. Its technical requirements are still needed to be developed.
  
===Development of the Orientation===
+
===Development of the Concepts===
:In January, Kevin temporarily joined the team to help developing materials of the [[WorldOpp Orientation]]. Its first session, [[Welcome to Friends Of CNM]], was ready to be launched in mid-February, but [[Gary Ihar]] decided to transfer this session from [[CNM Certs]] to [[CNM Sites]].
+
:In January of 2019, Kevin temporarily joined the team to help developing materials of [[EmployableU Concepts]]. Its first session, [[CNM Essentials]], was ready to be launched in mid-February, but the unresolved challenge was how to enroll prospect learners. Also, [[Gary Ihar]] once considered transferring this session from [[CNM Cert]] to [[CNM Page]].
  
===Work on the Sites===
+
===Work on the Pages===
:In early February of 2019, the [[CNM Siteware]] was developed in order to make the launch of [[FriendsOfCNM.org]] and other [[CNM Sites]] possible. In mid-February, the search for a front-end developer started. As a result, Paul was recruited in March and started working in early April.
+
:In early February of 2019, the [[Educaship WordPress]] was developed in order to make the launch of [[FriendsOfCNM.com]] and other [[CNM Page]] possible. In mid-February, the search for a front-end developer started. As a result, Paul was recruited in March and started working in early April. The [https://worldopp.com worldopp.com] was the first result of this endeavor. However, this endeavor didn't last long because of the lack of graphic designs.
  
 
===Minimal viable technology===
 
===Minimal viable technology===
:By April of 2019, a [[minimal viable product]] ([[minimal viable product|MVP]]) of future [[CNM Cloud]] had been defined and launched. It includes:
+
:By April of 2019, the PHP sub-projects led by Romanof outrun the other developments on the [[server-side]]. Because of that fact, [[Gary Ihar]] decided to launch a [[minimal viable product]] ([[minimal viable product|MVP]]) of future [[Opplet]] based on [[PHP]] only. The package had been identified, developed and, excluding [[Educaship Jitsi]], installed by September of 2019.
:#[[CNM Nets]] that allows for:
+
 
:#*Registration of new users in [[CNM Cloud]];
+
===Volunteer and partner outreach===
:#*Assigning [[NetAnyone]], [[NetConsumer]], [[CertAssociate]], and [[CertFellow]] [[Opplet role|role]]s in [[CNM Cloud]]; and
+
:New developments on both [[server-side|server-]] and [[client-side]]s underlined the need in documentation. Basically, the documentation remained the only unsolved task preventing the ''Phase'' from its completion.
:#*[[Friends Of CNM community|Friends Of CNM communiti]]es;
 
:#[[CNM Mails]] that allows for emailing;
 
:#[[CNM Contacts]] that allows for customer relationship management and temporarily plays a role of [[CNM Ventures]], which is scheduled to be launched in the next phase of the ''Project'';
 
:#[[CNM Certs]] that allows for courses and assessments such as [[WorldOpp Orientation]] and [[CNM PMP Bootcamp]];
 
:#[[CNM Wikis]] that allows for collaboratively-developed documents;
 
:#[[CNM Videos]] that allows for videosharing;
 
:#[[CNM Labs]] that allows for file development;
 
:#[[CNM Sites]] that allows for websites such as [https://worldopp.com worldopp.com], [https://friendsofcnm.com friendsofcnm.com], and [https://worldopp.com worldopp.com].
 
  
==Deliverables of Embryo phase==
+
:To solve this challenge, [[Gary Ihar]] decided to hire a new team member for new outreach endeavors. Generally, the ''Team'' needs apprentices, volunteers, and partners. Since the ''Team'' is not ready for the apprentices outreach, the new hire would be asked to look for volunteers and partners:
 +
:#Volunteers will be recruited for the newly-defined [[CNM Technology Board]]. Volunteers may be helpful for development of services;
 +
:#Partners will be sought for the [[educaship]] line of products. Partners may be helpful for recruitment of participants and landing of customers.
 +
 
 +
==Deliverables of the Embryo==
 
:'''Projected deliverables''':
 
:'''Projected deliverables''':
 
:#A software system capable to execute the [[#User stories|User stories]];
 
:#A software system capable to execute the [[#User stories|User stories]];
:#[[Contract]]s between [[Friends Of CNM]] and [[Careerprise vendor]]s to run:
+
:#[[Contract]]s between [[Friends Of CNM]] and [[Careerprise contractor]]s to run:
:#*[[CNM Infrastructure]];
+
:#*[[CNM Farms]];
:#*[[CNM Labware]];
+
:#*[[Educaship GitLab]];
:#*[[CNM Certware]];
+
:#*[[Educaship MediaWiki]];
:#*[[CNM Wikiware]];
+
:#*[[Educaship Moodle]].
:#*[[CNM Siteware]].
 
 
:#[[Contract]]s between [[Friends Of CNM]] and members of [[WorldOpp Fellow Staff]] to run:
 
:#[[Contract]]s between [[Friends Of CNM]] and members of [[WorldOpp Fellow Staff]] to run:
 
:#*[[WorldOpp Project]] and [[Fixett]];
 
:#*[[WorldOpp Project]] and [[Fixett]];
 
:#*The ''Project'';
 
:#*The ''Project'';
:#*[[CNM Certs]];
+
:#*[[CNM Cert]];
:#*[[CNM Wikis]];
+
:#*[[CNM Wiki]];
:#*One or more [[CNM Sites]].
+
:#*One or more [[CNM Page]].
:#Curricula at [[CNM Certs]]:
+
:#Curricula at [[CNM Cert]]:
 
:#*[[WorldOpp Orientation]];
 
:#*[[WorldOpp Orientation]];
:#*[[WorldOpp Placement Seminar]];
+
:#*[[EmployableU Concepts]];
:#*[[WorldOpp Bootcamp]].
+
:#*[[CNMCyber Bootcamps]];
 +
:#*[[Educaship Fellowship]].
 
:#Organizational structures:
 
:#Organizational structures:
 
:#*[[WorldOpp incubator]].
 
:#*[[WorldOpp incubator]].
 +
 +
===Delivered software===
 +
:{|class="wikitable" width=100% style="text-align:center;"
 +
!colspan="2"|CNM software!!Purpose
 +
|[[Careerprise service|Service]]
 +
!Base(s)
 +
|-
 +
|rowspan="2"|Foundation
 +
|[[CNM Farms|Farms]]||Hardware, [[operating system]](s), environment for programming languages to operate, [[database management system]]s, [[web server]]s
 +
!(temporarily, outsourced)
 +
|Not important for the ''Embryo''
 +
|-
 +
|rowspan="2"|[[WorldOpp Middleware|Middleware]]||In this phase, the software that enables [[identity and access management]] of user's access to [[CNM app]]s.
 +
!rowspan="2"|[[CNM Cabin|Cabin]]
 +
|rowspan="2"|Written specifically for the ''Cloud'' using the [[Yii]] framework
 +
|-
 +
|rowspan="10"|[[CNM app|Apps]]
 +
|[[User interface]] to allow end-users to interact with [[Opplet]]
 +
|-
 +
|[[Educaship GitLab]]||Studio for [[Careerprise contractor]]s to document their developments and store developed files
 +
![[CNM Lab|Lab]]
 +
|[[Redmine]], [[Apache Subversion]] ([[Apache Subversion|SVN]]), (possibly) [[container]]s
 +
|-
 +
|[[Educaship Moodle]]||[[Learning management system]] to formally plan and track one's learning progress
 +
![[CNM Cert|Cert]]
 +
|[[Moodle]]
 +
|-
 +
|[[Educaship MediaWiki]]||[[Knowledge management software]] to develop corporate knowledge collaboratively and access the results
 +
![[CNM Wiki|Wiki]]
 +
|[[MediaWiki]]
 +
|-
 +
|[[Educaship WordPress]]||[[Content management software]] to empower websites
 +
![[CNM Page|Page]]
 +
|[[WordPress]]
 +
|-
 +
|[[CNM Linkupware|Linkupware]]||[[Customer relationship management software]] to empower [[customer relationship management]].
 +
![[CNM Linkup|Linkup]]
 +
|[[SuiteCRM]]
 +
|-
 +
|[[CNM Mailware|Mailware]]||A combination of [[email client]], and [[mail server]]s to power [[email management system]].
 +
![[CNM Mail|Mail]]
 +
|[[Roundcube]], [[Postfix]], [[Dovecot]]
 +
|-
 +
|[[Educaship HumHub]]||[[Social networking software]] to power a [[social network]].
 +
![[CNMCyber.com]]
 +
|[[Humhub]]
 +
|-
 +
|[[Educaship Odoo]]||[[Customer relationship management software]] to power [[enterprise resource planning ecosystem]].
 +
![[CNM Corp]]
 +
|[[Odoo]]
 +
|-
 +
|[[CNM Tubeware|Tubeware]]||[[Video-sharing software]] to power the [[video-sharing system]].
 +
![[CNM Tube|Tube]]
 +
|[[YouPHPTube]]
 +
|}
 +
 +
:#*[[Learning management system]] that would power my .
 +
:#*Some system or combination of systems that would power my work on software development projects.
 +
:#*[[Customer relationship management system]] that would power my relationships with possible employers.
 +
:#*[[Email management system]] that would power my [[email]] needs.
 +
:#*[[Content management system]] that would power [[learning content delivery|delivery of learning content]] from curriculum developers to me.
 +
:#*[[Social networking system]] that would power my [[networking]].
 +
:#*[[Enterprise resource planning ecosystem]] that would power my [[hands-on training]] on [[enterprise-wide software]].
 +
:#*[[Video-sharing system]] that would power my ability to share and search for audiovisual content.
 +
:#*[[Document collaboration system]] that would power my ability to contribute to document creation.
 +
:#As someone who would like to help to those who want to be more competitive on the job market, I would like to accommodate their needs through development of:
 +
:#*[[Opplet.net]] as the [[user management system]].
 +
:#*[[Educaship Moodle]] as the [[learning management system]].
 +
:#*[[Educaship GitLab]] as the combination of systems that would power one's work on software development projects.
 +
:#*[[CNM Linkupware]] as the [[customer relationship management system]].
 +
:#*[[CNM Mailware]] as the [[email management system]].
 +
:#*[[Educaship WordPress]] as the [[content management system]].
 +
:#*[[Educaship HumHub]] as the [[social networking system]].
 +
:#*[[Educaship Odoo]] as the [[enterprise resource planning ecosystem]].
 +
:#*[[CNM Tubeware]] as the [[video-sharing system]].
 +
:#*[[Educaship MediaWiki]] as the [[document collaboration system]].
  
 
==Current state==
 
==Current state==
 
===Developers===
 
===Developers===
:Three members of the development group who are currently working on the ''Project'' are as follows:
+
:''Main wikipage: [[WorldOpp Fellow Staff]]''
:#'''Romanof'''. As the PHP sub-project manager and developer, Romanof developed all working parts of the existing technology. Romanof also documented in [[Fixett]] a deal of the work done;
+
 
:#'''[[Gary Ihar]]'''. As the product owner, Gary is drafting documentation in [[CNM Wikis]] on every software included in the [[#Second phase|second phase]];
+
:The [[WorldOpp Fellow Staff]] is the development group that works on the ''Project''.
:#'''Natalia'''. As a vendor liaison, Natalia is working on [[CNM Wikiware]] documentation.
 
:#'''Paul'''. As a front-end developer, Paul is working on [[user interface]]s of [[CNM Sites]].
 
  
 
===Completion rates===
 
===Completion rates===
:The [[DADP]] is the development cycle that includes 4 components: (1) [[enterprise discovery|discover]], (2) [[enterprise analysis|analyze]], (3) [[enterprise design|design]], and (4) [[enterprise planning|plan]]. No component is fully developed to the date. The following table presents estimates on every component of every software to be launched:   
+
:The [[DREPD]] is the development cycle that includes 4 components: (1) [[enterprise discovery|discover]], (2) [[enterprise research|research]], (3) [[enterprise envisioning|envision]], and (4) [[enterprise planning|plan]]. No component is fully developed to the date. The following table presents estimates on every component of every software to be launched:   
 
:{|class="wikitable" width=100% style="text-align:center;"
 
:{|class="wikitable" width=100% style="text-align:center;"
 
!colspan="2"|CNM software
 
!colspan="2"|CNM software
 
|[[Careerprise service|Service]]
 
|[[Careerprise service|Service]]
![[Sprint phase|Sprint]]!!Description!![[enterprise discovery|Discover]]!![[enterprise analysis|Analyze]]!![[enterprise design|Design]]!![[enterprise planning|Plan]]
+
![[Sprint phase|Sprint]]!!Description!![[enterprise discovery|Discover]]!![[enterprise research|Research]]!![[enterprise envisioning|Envision]]!![[enterprise planning|Plan]]
 
|-
 
|-
|rowspan="2"|[[CNM Platform|Platform]]||[[CNM Infrastructure|Infrastructure]]
+
|rowspan="2"|[[CNM Farms|Farms]]||Servers
 
!(temporarily, outsourced)
 
!(temporarily, outsourced)
|Second||Requirements and designs are drafted in Russian in [[Fixett]]; [[DigitalOcean]] is temporarily used for implementations||90%||90%||90%||90%
+
|Second||Requirements and designs are drafted in Russian in [[CNM Lab]]; [[DigitalOcean]] is temporarily used for implementations||90%||90%||90%||90%
 
|-
 
|-
 
|[[Opplet]]
 
|[[Opplet]]
 
![[Opplet.net]]
 
![[Opplet.net]]
|Fourth||Requirements and designs are drafted in Russian in [[Fixett]]; [[Opplet.net]] handles [[user management]] for [[CNM Cloud]]|||75%||75%||75%||75%
+
|Fourth||Requirements and designs are drafted in Russian in [[Fixett]]; [[Opplet.net]] handles [[identity and access management]] for [[Opplet]]|||75%||75%||75%||75%
 
|-
 
|-
 
|rowspan="5"|[[CNM app|Apps]]
 
|rowspan="5"|[[CNM app|Apps]]
 
|-
 
|-
|[[CNM Labware|Labware]]
+
|[[Educaship GitLab]]
 
![[Fixett]]
 
![[Fixett]]
 
|Second||Requirements and designs are drafted in Russian in [[Fixett]]; the current implementation is located at a classified [[URL]]||50%||50%||50%||50%
 
|Second||Requirements and designs are drafted in Russian in [[Fixett]]; the current implementation is located at a classified [[URL]]||50%||50%||50%||50%
 
|-
 
|-
|[[CNM Certware|Certware]]
+
|[[Educaship Moodle]]
![[CNM Certs|Certs]]
+
![[CNM Cert|Cert]]
|Second||Requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wikis]]; the current implementation is located at https://certs.friendsofcnm.org||50%||50%||50%||50%
+
|Second||Requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wiki]]; the current implementation is located at https://cert.friendsofcnm.com||50%||50%||50%||50%
 
|-
 
|-
|[[CNM Wikiware|Wikiware]]
+
|[[Educaship MediaWiki|MediaWiki]]
![[CNM Wikis|Wikis]]
+
![[CNM Wiki|Wiki]]
|Second||Requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wikis]]; the current implementations are located at https://wiki.ksacerts.com and, in Russian, at https://wiki.friendsofcnm.org/ru||50%||50%||50%||50%
+
|Second||Requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wiki]]; the current implementations are located at https://wiki.ksacerts.com and, in Russian, at https://wiki.friendsofcnm.com/ru||50%||50%||50%||50%
 
|-
 
|-
|[[CNM Siteware|Siteware]]
+
|[[Educaship WordPress]]
![[CNM Sites|CNM Sites]]
+
![[CNM Page|CNM Page]]
|Second||Requirements and designs are drafted in English in [[CNM Wikis]]; the first instance is installed at https://friendsofcnm.org; its requirements have been started at [[FriendsOfCNM.org]]||50%||50%||50%||50%
+
|Second||Requirements and designs are drafted in English in [[CNM Wiki]]; the first instance is installed at https://friendsofcnm.com; its requirements have been started at [[FriendsOfCNM.com]]||50%||50%||50%||50%
 
|}
 
|}
  
Line 231: Line 264:
  
 
===Vacancies===
 
===Vacancies===
:Neither education nor experience is needed for the vacancies listed below. Full-time (at least, 40 hours a week) availability and willingness to learn on the job (and any learning includes so-called "errors" and "mistakes") are absolute musts. Since [[English language]] is the primary medium at [[Friends Of CNM]], some level of English capacity is needed as well.  
+
:Neither education nor experience is needed for the vacancies listed below. Full-time (at least, 40 hours a week) availability and willingness to learn on the job (and any learning includes so-called "errors" and "mistakes") are absolute musts. Since [[English language]] is the primary medium at [[Friends Of CNM]], some level of English [[capacity]] is needed as well.  
:*'''Urgently needed'''. Any assistance with documentation published at [[CNM Wikis]] for upcoming procurement or topics related to procurement of [[CNM Wikiware]], [[CNM Certware]], [[CNM Labware]], [[CNM Siteware]], [[CNM Infrastructure]] is urgently needed. These topics may include any information on what needs to be done, how to select the best vendor, and how to make sure that the chosen vendor has delivered the requested product.
+
:*'''Urgently needed'''. Any assistance with documentation published on [[CNM Wiki]] for upcoming procurement or topics related to procurement of [[Educaship MediaWiki]], [[Educaship Moodle]], [[Educaship GitLab]], [[Educaship WordPress]], [[CNM Farms]] are urgently needed. These topics may include any information on what needs to be done, how to select the best contractor, and how to make sure that the chosen contractor has delivered the requested product.
:*'''Needed on an ongoing basis'''. As always, the ''Team'' is hiring staffers of [[WorldOpp Fellow Staff]] generally and [[Friends Of CNM Cloud Administrator]] specifically to expedite the ''Project''.
+
:*'''Needed on an ongoing basis'''. As always, the ''Team'' is hiring staffers of [[WorldOpp Fellow Staff]] generally and [[Educaship fellow]] specifically to expedite the ''Project''.
 
 
==Related lectures==
 
*[[Introduction to CNM Cloud]].  
 
  
 
[[Category: WorldOpp Orientation]][[Category: Articles]]
 
[[Category: WorldOpp Orientation]][[Category: Articles]]

Latest revision as of 00:25, 15 April 2024

CNM Cloud Embryo (hereinafter, the Embryo) was the second phase of CNM Cloud Project (hereinafter, the Project), which primary deliverable was a minimum viable product. A team of developers (hereinafter, the Team) started working on that phase in January of 2018 and ended in December of 2019. CNM Cloud Beginnings is the previous phase; CNM Cloud Minimal is the successor one.


Requirements

The following user stories clarify those CNM Cyber requirements that are relevant to the Embryo and that describe completion of the second phase.

Learner's story

As someone who would like to be more competitive on the job market, I would like to:
  1. Use key software systems that enterprises use to have hands-on experience and to empower my job search.
  2. Get trained in utilizing those technologies which I am going to use.

Administrator's story

As someone who would like to help to those who want to be more competitive on the job market, I would like to:
  1. Know what technologies needs to be offered.
  2. Create a minimal viable product using the chosen technologies.
  3. Train someone to use the chosen technologies.

Desirable user stories

The following breakdown to the Opplet roles clarifies those CNM Cyber requirements that are relevant to the Usable. Three user stories shall describe completion of the second phase:
User story Initial role Actions to upgrade New role
First As a NetAnyone, I shall be able to:
  1. Click any Get-Started Clickable;
  2. Get to the Opplet.net registration page;
  3. Fill in my credentials including (a) login name, (b) password, and, (c) optionally, email address;
  4. Submit my credentials
NetConsumer
Second As a NetConsumer, I shall be able to: Complete EmployableU Concepts CertUser
Third As a NetAdmin, I shall be able to: Appoint any user to the FellowAdmin role No change

Desirable role permissions

App / Role NetAnyone NetConsumer CertUser CertAssociate CertFellow
CNMCyber.com Visitor User
Cert Visitor Student
Wiki Visitor Registered Admin
Page Non‑registered Contributor Author
Lab No role User No role

Phase history

Several concepts, lessons learned, and pieces of software that were developed in the CNM Cloud Beginnings have been utilized in this successor phase. The Team called the new phase Embryo because the embryo of the new cloud was developed during this phase. The key developments could be summarized as follows. The Team:

  1. Identified:
  2. Designed a new recruitment process based on the core package of developed technology;
  3. Dramatically increased funding for both technology development and recruitment.

Second cloud initiation

In 2018, Romanof as a PHP developer, Gary Ihar as the product owner, and Natalia as a contractor liaison initiated a new cloud endeavor. Its goal is to create the simpliest system for onboarding employees and Careerprise contractors. The Team called this system embrio. No private cloud itself is going to be launched in the second phase of the Project and even the next phase, which emphasis shall be a new Odoo instance.
During the CNM Cloud Beginnings, a SimpleSAMLphp instance, as an integration tool, worked well, but it had a few drawbacks, most importantly, in difficulties to integrate an Odoo instance. Instead of a SimpleSAMLphp instance, Romanof now implemented an OpenLDAP instance for the directory access. That development completed the third sprint of Opplet.net.

Launch of the Wiki

In spring of 2018, this very CNM Wiki was launched. A new instance of MediaWiki has been used for Educaship MediaWiki. No written requirements were developed; so, Romanof used his own judgment.

New documenting model

Lack of documentation was critical in troubles of the CNM Cloud Beginnings. To resolve that issue, Gary Ihar developed and unsuccessfully tried to push a new documenting model:
  1. Technical requirements for any critical software shall be developed before awarding of any contract. These requirements shall be published on this CNM Wiki;
  2. After awarding any contract, Friends Of CNM shall grant its winner an access to the corresponding project at Fixett;
  3. Technical documentation for the developed software shall be kept posted at Fixett.
The most comprehensive documentation for the Embryo phase was originally created in Russian (using Fixett and the Russian part of CNM Wiki at https://wiki.friendsofcnm.com/ru); however, since the recruitment efforts were shifting to East Africa and the United States, new documents were supposed to be posted at the English part of CNM Wiki.

New management approach

The management model changed substantially:

Early recruitment of apprentices

In summer of 2018, dozens of candidates, primarily from Kenya and Philippines were tested for WorldOpp Fellow Staff positions, but no one has been eventually brought on the board permanently.
  • The majority of most motivated candidates were concentrated on their efforts instead of getting the results. That suggests that their project management skills needed some development;
  • If those candidates were oriented on some results, their desired results were not communicated with the product owner and, consequently, their efforts couldn't be funded. That suggests that their business analysis skills needed some development;
  • It looks like documenting remains at very least one of the biggest problems. No candidate has accomplished more than a dozen of actions on CNM Wiki so far.
A clear recruitment and onboarding process was considered being an important problem to be solved next. The endeavor produced a solid database of those who can work having clear instructions and under close supervision, but the Team didn't have such positions at that time.

Idea of the Incubator

An idea of WorldOpp incubator was developed in order to create an onboarding process generally and, to develop candidates' skills in business analysis, product ownership, project management, and records management particularly. Its idea is to hire those apprentices who could act as prospective members of WorldOpp Fellow Staff.
The apprentice candidates who participate in the incubator shall be enrolled into CNMCyber Bootcamps and, consequently, Educaship Fellowship and practice their concepts while creating and bettering curricula, as well as epics, user stories, and other documentation for Opplet at CNM Wiki.
One of possible implementations could be a group of 7-10 apprentices working on some local site somewhere in Kenya. To make it real, a partner on the ground should be looked for. However, the Project should mature more in order to be attractive to that partner.

Launch of the Cert

In the last months of 2018, CNM Cert' launch was expedited in order to be used by students of Shanghai Jian Qiao University. An instance of Moodle is used for Educaship Moodle. Initially, Gary Ihar opposed launching the Cert without complete technical requirements. However, there was an urgent need in some learning management system used for a program of Vaughn College of Aeronautics and Technology in that university in Shanghai, China. The Cert was tested successfully. Its technical requirements are still needed to be developed.

Development of the Concepts

In January of 2019, Kevin temporarily joined the team to help developing materials of EmployableU Concepts. Its first session, CNM Essentials, was ready to be launched in mid-February, but the unresolved challenge was how to enroll prospect learners. Also, Gary Ihar once considered transferring this session from CNM Cert to CNM Page.

Work on the Pages

In early February of 2019, the Educaship WordPress was developed in order to make the launch of FriendsOfCNM.com and other CNM Page possible. In mid-February, the search for a front-end developer started. As a result, Paul was recruited in March and started working in early April. The worldopp.com was the first result of this endeavor. However, this endeavor didn't last long because of the lack of graphic designs.

Minimal viable technology

By April of 2019, the PHP sub-projects led by Romanof outrun the other developments on the server-side. Because of that fact, Gary Ihar decided to launch a minimal viable product (MVP) of future Opplet based on PHP only. The package had been identified, developed and, excluding Educaship Jitsi, installed by September of 2019.

Volunteer and partner outreach

New developments on both server- and client-sides underlined the need in documentation. Basically, the documentation remained the only unsolved task preventing the Phase from its completion.
To solve this challenge, Gary Ihar decided to hire a new team member for new outreach endeavors. Generally, the Team needs apprentices, volunteers, and partners. Since the Team is not ready for the apprentices outreach, the new hire would be asked to look for volunteers and partners:
  1. Volunteers will be recruited for the newly-defined CNM Technology Board. Volunteers may be helpful for development of services;
  2. Partners will be sought for the educaship line of products. Partners may be helpful for recruitment of participants and landing of customers.

Deliverables of the Embryo

Projected deliverables:
  1. A software system capable to execute the User stories;
  2. Contracts between Friends Of CNM and Careerprise contractors to run:
  3. Contracts between Friends Of CNM and members of WorldOpp Fellow Staff to run:
  4. Curricula at CNM Cert:
  5. Organizational structures:

Delivered software

CNM software Purpose Service Base(s)
Foundation Farms Hardware, operating system(s), environment for programming languages to operate, database management systems, web servers (temporarily, outsourced) Not important for the Embryo
Middleware In this phase, the software that enables identity and access management of user's access to CNM apps. Cabin Written specifically for the Cloud using the Yii framework
Apps User interface to allow end-users to interact with Opplet
Educaship GitLab Studio for Careerprise contractors to document their developments and store developed files Lab Redmine, Apache Subversion (SVN), (possibly) containers
Educaship Moodle Learning management system to formally plan and track one's learning progress Cert Moodle
Educaship MediaWiki Knowledge management software to develop corporate knowledge collaboratively and access the results Wiki MediaWiki
Educaship WordPress Content management software to empower websites Page WordPress
Linkupware Customer relationship management software to empower customer relationship management. Linkup SuiteCRM
Mailware A combination of email client, and mail servers to power email management system. Mail Roundcube, Postfix, Dovecot
Educaship HumHub Social networking software to power a social network. CNMCyber.com Humhub
Educaship Odoo Customer relationship management software to power enterprise resource planning ecosystem. CNM Corp Odoo
Tubeware Video-sharing software to power the video-sharing system. Tube YouPHPTube
  1. As someone who would like to help to those who want to be more competitive on the job market, I would like to accommodate their needs through development of:

Current state

Developers

Main wikipage: WorldOpp Fellow Staff
The WorldOpp Fellow Staff is the development group that works on the Project.

Completion rates

The DREPD is the development cycle that includes 4 components: (1) discover, (2) research, (3) envision, and (4) plan. No component is fully developed to the date. The following table presents estimates on every component of every software to be launched:
CNM software Service Sprint Description Discover Research Envision Plan
Farms Servers (temporarily, outsourced) Second Requirements and designs are drafted in Russian in CNM Lab; DigitalOcean is temporarily used for implementations 90% 90% 90% 90%
Opplet Opplet.net Fourth Requirements and designs are drafted in Russian in Fixett; Opplet.net handles identity and access management for Opplet 75% 75% 75% 75%
Apps
Educaship GitLab Fixett Second Requirements and designs are drafted in Russian in Fixett; the current implementation is located at a classified URL 50% 50% 50% 50%
Educaship Moodle Cert Second Requirements and designs are drafted in Russian in Fixett and English in CNM Wiki; the current implementation is located at https://cert.friendsofcnm.com 50% 50% 50% 50%
MediaWiki Wiki Second Requirements and designs are drafted in Russian in Fixett and English in CNM Wiki; the current implementations are located at https://wiki.ksacerts.com and, in Russian, at https://wiki.friendsofcnm.com/ru 50% 50% 50% 50%
Educaship WordPress CNM Page Second Requirements and designs are drafted in English in CNM Wiki; the first instance is installed at https://friendsofcnm.com; its requirements have been started at FriendsOfCNM.com 50% 50% 50% 50%

Challenges

Lack of procurement documentation is still the primary obstacle for the Project to move forward faster. There are a plenty of developers ready to implement technical requirements, but those requirements are needed to be documented. If some backup has been de-facto implemented, the state of cyber-security is either inappropriate or unknown.

Vacancies

Neither education nor experience is needed for the vacancies listed below. Full-time (at least, 40 hours a week) availability and willingness to learn on the job (and any learning includes so-called "errors" and "mistakes") are absolute musts. Since English language is the primary medium at Friends Of CNM, some level of English capacity is needed as well.