Difference between revisions of "CNM Cloud Embryo"
(→Up-to-date story) |
|||
(238 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[CNM Cloud Embryo]] (hereinafter, the ''Embryo'') | + | [[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. | ||
− | === | + | ===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]]!! | + | !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 | + | #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 | ||
− | + | |[[NetConsumer]] | |
|- | |- | ||
!Second | !Second | ||
− | |As a [[NetConsumer]], I shall be able to:||Complete | + | |As a [[NetConsumer]], I shall be able to:||Complete [[EmployableU Concepts]]||[[CertUser]] |
|- | |- | ||
!Third | !Third | ||
− | + | |As a [[NetAdmin]], I shall be able to:||Appoint any user to the [[FellowAdmin]] role||No change | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | === | + | ===Desirable role permissions=== |
:{|class="wikitable" width=100% style="text-align:center;" | :{|class="wikitable" width=100% style="text-align:center;" | ||
− | |[[Opplet role|Role]] | + | |[[CNM app|App]] / [[Opplet role|Role]] |
− | ![[NetAnyone]]!![[NetConsumer]]!![[ | + | ![[NetAnyone]]!![[NetConsumer]]!![[CertUser]]!![[CertAssociate]]!![[CertFellow]] |
|- | |- | ||
− | ![[ | + | ![[CNMCyber.com]] |
|Visitor||colspan="4"|User | |Visitor||colspan="4"|User | ||
|- | |- | ||
− | ![[CNM | + | ![[CNM Cert|Cert]] |
|Visitor||colspan="4"|Student | |Visitor||colspan="4"|Student | ||
|- | |- | ||
Line 53: | Line 51: | ||
|colspan="2"|Visitor||colspan="2"|Registered||Admin | |colspan="2"|Visitor||colspan="2"|Registered||Admin | ||
|- | |- | ||
− | ![[CNM | + | ![[CNM Page|Page]] |
|colspan="2"|Non‑registered||colspan="2"|Contributor||Author | |colspan="2"|Non‑registered||colspan="2"|Contributor||Author | ||
|- | |- | ||
− | ![[ | + | ![[CNM Lab|Lab]] |
|colspan="3"|No role||User||No role | |colspan="3"|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'': | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
:#Identified: | :#Identified: | ||
− | :#*[[Business need]]s. These needs | + | :#*[[Business need]]s. These needs were expressed in [[#User stories|User stories]]; |
− | :#*System architecture including the core package of technology that would | + | :#*System architecture including the core package of technology that would have supported [[#User stories|User stories]]; |
− | :#Designed | + | :#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 | + | :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 Wiki]] was launched. A new instance of [[MediaWiki]] | + | :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]]. | + | :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 | + | :#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 Wiki]] at https://wiki. | + | :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 [[ | + | :*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 [[ | + | :*Natalia is encouraged to become a manager for an endeavor undertaken in order to create requirements for [[Educaship MediaWiki]]. |
− | :*The ''Team'' | + | :*The ''Team'' was actively recruiting the project coordinator; the requirements are posted at [[Educaship fellow]]. |
===Early recruitment of apprentices=== | ===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 | + | :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; | :*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 Wiki]] 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 | + | :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 [[ | + | :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 | + | :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 | + | ===Launch of the Cert=== |
− | :In the last months of 2018, [[CNM | + | :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 [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, 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. |
− | === | + | ===Volunteer and partner outreach=== |
− | : | + | :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. |
− | ==Deliverables of Embryo | + | :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 | + | :#A software system capable to execute the [[#User stories|User stories]]; |
− | :#[[Contract]]s between [[Friends Of CNM]] and [[Careerprise | + | :#[[Contract]]s between [[Friends Of CNM]] and [[Careerprise contractor]]s to run: |
− | :#*[[CNM | + | :#*[[CNM Farms]]; |
− | :#*[[ | + | :#*[[Educaship GitLab]]; |
− | :#*[[ | + | :#*[[Educaship MediaWiki]]; |
− | :#*[[ | + | :#*[[Educaship Moodle]]. |
− | |||
:#[[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 | + | :#*[[CNM Cert]]; |
:#*[[CNM Wiki]]; | :#*[[CNM Wiki]]; | ||
− | :#*One or more [[CNM | + | :#*One or more [[CNM Page]]. |
− | :#Curricula at [[CNM | + | :#Curricula at [[CNM Cert]]: |
:#*[[WorldOpp Orientation]]; | :#*[[WorldOpp Orientation]]; | ||
− | :#*[[ | + | :#*[[EmployableU Concepts]]; |
− | :#*[[ | + | :#*[[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=== | ||
− | : | + | :''Main wikipage: [[WorldOpp Fellow Staff]]'' |
− | : | + | |
− | : | + | :The [[WorldOpp Fellow Staff]] is the development group that works on the ''Project''. |
− | |||
===Completion rates=== | ===Completion rates=== | ||
− | :The [[ | + | :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 | + | !colspan="2"|CNM software |
− | + | |[[Careerprise service|Service]] | |
− | ! | + | ![[Sprint phase|Sprint]]!!Description!![[enterprise discovery|Discover]]!![[enterprise research|Research]]!![[enterprise envisioning|Envision]]!![[enterprise planning|Plan]] |
− | | | ||
|- | |- | ||
− | + | |rowspan="2"|[[CNM Farms|Farms]]||Servers | |
− | |||
− | |rowspan="2"|[[CNM | ||
!(temporarily, outsourced) | !(temporarily, outsourced) | ||
− | |Second||Requirements and designs are drafted in Russian in [[ | + | |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 [[ | + | |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]] | ||
|- | |- | ||
− | |[[ | + | |[[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% | ||
|- | |- | ||
− | |[[ | + | |[[Educaship Moodle]] |
− | ![[CNM | + | ![[CNM Cert|Cert]] |
− | |Second||Requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wiki]]; the current implementation is located at https:// | + | |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% |
|- | |- | ||
− | |[[ | + | |[[Educaship MediaWiki|MediaWiki]] |
![[CNM Wiki|Wiki]] | ![[CNM Wiki|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. | + | |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 | + | ![[CNM Page|CNM Page]] |
− | |Second||Requirements and designs are drafted in English in [[CNM Wiki]]; | + | |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 219: | 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 | + | :*'''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 [[ | + | :*'''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''. |
− | |||
− | |||
− | |||
[[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.
Contents
- 1 Requirements
- 2 Phase history
- 2.1 Second cloud initiation
- 2.2 Launch of the Wiki
- 2.3 New documenting model
- 2.4 New management approach
- 2.5 Early recruitment of apprentices
- 2.6 Idea of the Incubator
- 2.7 Launch of the Cert
- 2.8 Development of the Concepts
- 2.9 Work on the Pages
- 2.10 Minimal viable technology
- 2.11 Volunteer and partner outreach
- 3 Deliverables of the Embryo
- 4 Current state
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:
- 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 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: - Click any Get-Started Clickable;
- Get to the Opplet.net registration page;
- Fill in my credentials including (a) login name, (b) password, and, (c) optionally, email address;
- 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:
- Identified:
- Business needs. These needs were expressed in User stories;
- System architecture including the core package of technology that would have supported User stories;
- Designed a new recruitment process based on the core package of developed technology;
- Dramatically increased funding for both technology development and recruitment.
- Identified:
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:
- 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;
- 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:
- 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 owners, business analysts, systems engineers, and/or project managers for those CNM apps 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;
- Natalia is encouraged to become a manager for an endeavor undertaken in order to create requirements for Educaship MediaWiki.
- The Team was actively recruiting the project coordinator; the requirements are posted at Educaship fellow.
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:
- 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:
- A software system capable to execute the User stories;
- Contracts between Friends Of CNM and Careerprise contractors to run:
- Contracts between Friends Of CNM and members of WorldOpp Fellow Staff to run:
- WorldOpp Project and Fixett;
- The Project;
- CNM Cert;
- CNM Wiki;
- One or more CNM Page.
- Curricula at CNM Cert:
- Organizational structures:
Delivered software
- 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 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
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.
- 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 Educaship fellow specifically to expedite the Project.