CNM Cloud Project
CNM Cloud Project (hereinafter, the Project) is an endeavor to provide the Career Network Ministry with CNM Cloud in order to deliver services of CNM Digital. Friends Of CNM Cloud Administrator is responsible and members of Careerprise Team (hereinafter, the Team) shall be accountable for this Project.
Contents
Requirements
Business requirements
- Main wikipage: CNM Digital
Technical requirements
- Main wikipage: CNM Cloud
- A big portion of technical requirements is also published in Russian -- https://wiki.ksacerts.com/ru/Брацко_Облако
First phase -- beginnings
Initial user stories
- Initial user stories were created by Loredana C. and are published at CNM Digital by Loredana C.
Software used in early stages
- The applications that were used in early stages included Opplet.net, Redmine, Apache Subversion (SVN), Moodle, MediaWiki, and WordPress. The first private cloud was built on an OpenStack instance. However, the applications were not moved to the cloud because of its immaturity. Only Opplet.net and Redmine are still operational after the crash that occurred in 2016.
History of the beginnings
- Executive summary of the Project's beginnings. The beginnings of the Project could be characterized by three factors:
- Many experiments including software ventures and examinations of both technology and various organizational structures designed to support that technology;
- Unbalanced and often disruptive availability of resources. Although the Team enjoyed assistance of a number of volunteers, donor's money, software subscriptions, and venues, the Team's inability to pay for technology sustainability ultimately led to several adverse events including the major technology crash in 2016 and further necessity to destroy the first cloud.
- Poor recording, documenting, and storage facilities. For instance, just few training materials were saved and just a couple of videos were taken at hundreds of training sessions. As a result, volunteer time could be utilized way more efficiently.
- Nonetheless, a few significant concepts, lessons learned, and lines of code were developed during this initiating phase of the Project.
- Early tech training. In 2012, Gary Ihar organized first hands-on technology training sessions of Career Network Ministry in Tysons Corner Microsoft store. Its descendant sessions used more venues. With few exceptions, the training sessions were conducted on a volunteer basis. In 2012-2016, the following training topics were covered by the following trainers:
Software topics Trainers and presenters Usage - Office apps: Frank Gary, Malkia Perry, Mercedes Butler, Clayton Park (Microsoft Excel);
- Management apps: Cassey Missal (Microsoft Project)
Administration - Data: Dr. Saiid Ganjalizadeh, Rose Masuku (database management system), Clyde Ensslin (big data, Hadoop, MapReduce)
- Platforms: Mack Sigman, Scott Hoag, Roger Akins, Malkia Perry, Bonnie Smerdon, Guillermo Lopez, Matthew J. Bailey, Brian Park, Stephen Kaludis, Adam Orita (Microsoft SharePoint), Danny Abadi (Drupal), Diane Snow Javaid, Michael Eicher (WordPress)
- Computing: Cassey Missal (ITIL), Jim Caroll (SEO), Corey Sheldon (Linux), Dr. Jack Tsou (cloud computing)
Development - Mobile apps: Vaclav Hnizda (Android app), Will Cai (IOS app)
- Programming: Gary Ihar (PHP, CSS, and JavaScript), Wendy Sue Campbell (Ruby-on-Rails), Sean Lewczyk (HTML)
- Early public cloud usage. In June of 2013, the Team obtained 250 packages of subscriptions, each worth more than $500, most notably, for Microsoft Azure and Office 365 Enterprise, and dedicated remote support as a generous grant. Initially, Gillermo Lopez and, later, Roger Akins led a project to distribute those subscriptions among patrons of Career Network Ministry. The project was closed after one year when the donor decided to end the donation.
- Early learning systems. Initial works that later contributed to the Project were started as early as in 2007. The initial development group consisted of Gary Ihar as the code developer and product owner and Romanof as the PHP developer. Until 2014, solutions were presented by various combinations of MediaWiki and Moodle. A special solution to integrate those, called Opplet.net, was initiated and coded by Gary Ihar in 2014. Revisions by Zlomovsky completed its first sprint in 2015. The first version of Opplet.net used SimpleSAMLphp as its authentication tool.
- Early enterprise-wide systems. In 2015-2016, the concept of CNM Digital emerged. Loredana C. developed initial requirements for a complex system to serve patrons of Career Network Ministry (CNM). Later, the requirements were posted at CNM Digital by Loredana C. To implement those, Alexandrovich joined the Team as the system architect and Natalia did so as the solution architect. Instances of Liferay and SuiteCRM were added and the platform was moved from DigitalOcean to Hetzner and newly based on Proxmox. Several instances of Odoo were also installed, but never integrated to the platform because Odoo didn't support SimpleSAMLphp. Romanof also installed an instance of Redmine separately from the platform. In addition, Romanof completed the second sprint of Opplet.net while moving its initial code from plain PHP to the Yii framework.
- Crash of 2016. In 2016, the platform collapsed and all developments, but Opplet.net and Redmine, were lost. At the moment of the crash, Opplet.net and Redmine were still stored at DigitalOcean.
- Early private cloud. In 2016-2017, a couple of endeavors to launch a private cloud were undertaken. Initially, Alexander was the primary technology vendor, Eunice contributed to its requirements, and Wushnevska worked on Odoo and Redmine instances. Instances of Odoo were installed temporarily apart from the cloud, at careernetworkministry.org, theeconomicgroup.org, and worldopp.org. Alexander succeeded to build the first private cloud using OpenStack. However, no instance was integrated on this cloud, particularly, because of lack of documentation. Wushnevska tried to address the documenting task, but her retirement from the Project postponed her developments.
- In order to develop the cloud documentation, Gary Ihar once hired a system engineer, Anand from India, but the work on the cloud architecture couldn't be completed without documented requirements for CNM apps, which were not available at that time. Later, the first cloud was destroyed in order to cut expenses. Separate Odoo instances are still alive.
- Shortcomings in management. So, the first cloud endeavors were not sustainable. Generally speaking, project administration had had been a serious challenge since the Project's inception, mostly or significantly, because of unbalanced resources. The development group needed some combination of business analysts, system engineers, and project managers at least to design concepts to be developed and to create requirements for those concepts, but couldn't find qualified candidates who would have matched the existing budget.
- Early management training. Since late 2012, project management training became one of core services that the Team offered. About a half of the training sessions was conducted on a volunteer basis. In 2012-2017, the following training topics were covered by the following trainers:
Topics Trainers and presenters Project management - General concepts: Dr. Jack Tsou, Daniel M. Gonzales, Mercedes Butler, Charlotte McKenzie, Chuck Taylor, Jay Parrish, Dr. John Colleman III, Dr. Ali Abedi (PMBOK Guide)
- Certification: Ibrahim Alamin (PMP)
- Supporting concepts: Bill Fournier (systems engineering), Emmanuel Amanyeiwe (business intelligence)
- More than one hundred of its participants had gotten their PMP certifications constitute the overall success of the training. However, with regard to the Project, the training hasn't accomplished its mission to bring business analysts, system engineers, and project managers on the board.
- Early recruitment of learners. In the Washington DC metro area, the Team recruited through emails sent to patrons of the Career Network Ministry and Tech Events for Managers and Entrepreneurs meetup group. Although the Team succeeded to recruit hundreds of learners, the overwhelming majority of them participated spontaneously. It was hard to find committed participants who would stay with the Team for long time since the beginning of the Project. Further, the trend was even more negative as the unemployment rate lowered in the United States.
- Early worldwide outreach. In 2016, the Team attempted to reach out to international learners. Later, this idea matured into the WorldOpp programme.
- In 2017-2018, several endeavors to recruit vocational learners were attempted through some job-bidding websites worldwide. However, those websites granted access to only those freelancers who expected to exchange their time to money and were not willing to dedicate enough time to learning. More importantly, the technology behind the programme, most notably, CNM Courseware, wasn't developed fully yet. At that time, it seemed that the interested candidates just couldn't be directed well remotely, without personal involvement.
- In winter of 2017-2018, Gary Ihar traveled to Ukraine in order to find partners for development of the WorldOpp programme. Nevertheless, no partners were identified since the programme's idea was still pretty raw. Two other reasons that may have contributed to that result were (a) the low unemployment rate in Ukraine and (b) its residents' tendency to favor the traditional educational system. The programme was clearly not ready to be launched then.
- Idea of orientation. Overall, the recruitment process was neither efficient nor effective in the first stages of the Project. On the one hand, the Team onboarding was quite expensive; in late 2013, it peaked more than $600 per candidate. On another hand, the overwhelming majority of candidates were not interested in joining the Team. An idea of Careerprise Orientation was developed in order to address this dilemma. When it is launched, the interested candidates shall be offered to take a quick orientation course, in which they shall be able to learn about the Team and its activities. Those candidates who pass its final exam shall be considered as ready to get started onboarding.
Deliverables of the beginnings
- Software:
- Opplet.net after two sprints.
- A Redmine instance that was later used in CNM Productware.
- Concepts:
- Lessons learned:
- No software that is critical in operations of Friends Of CNM shall be used without a contract with a Careerprise vendor and/or an employee of Friends Of CNM who shall be responsible for its stable functioning;
- No contract shall be made without a set of requirements for what a Careerprise vendor and/or an employee of Friends Of CNM shall be responsible;
- No set of requirements shall ignore questions of backups, backup restoration, and technical documentation;
- No Careerprise vendor nor an employee of Friends Of CNM can be hired without his or her graduation from Careerprise Orientation.
- Software:
Second phase -- embryo
User stories for the embryo
- Three user stories shall describe completion of the second phase:
- (first user story) As a NetAnyone, I shall be able to:
- Click the button, Get employed, at some website and get to some registration page;
- Fill in my credentials including (a) login name, (b) password, and, (c) optionally, email address;
- Submit my credentials and automatically (a) become a NetConsumer, (b) obtain user's rights for CNM Wiki, and (c) obtain student's rights for CNM Campus, as well as get enrolled into Careerprise Orientation;
- Complete Careerprise Orientation and automatically become a CertAssociate.
- (second user story) As a CertAssociate, I shall be able to:
- Get enrolled into WorldOpp Developer Seminar;
- Complete WorldOpp Developer Seminar, automatically become a CertDeveloper and obtain user's rights for Fixett.
- (third user story) As a CertAssociate, I shall be able to:
- Get enrolled into WorldOpp Placement Seminar;
- Complete WorldOpp Placement Seminar, automatically become a CertFellow and obtain sysop's rights for CNM Wiki, and get enrolled into Septem Artes Administrativi.
- (first user story) As a NetAnyone, I shall be able to:
Software used in the embryo
CNM software Description Service Base(s) Platform Infrastructure Hardware, operating system(s), environment for programming languages to operate, database management systems, web servers (temporarily, outsourced) Not important for the Project Middleware In this phase, user management software that manages authorization of users and their access to CNM apps Opplet.net Written specifically for the Cloud using the Yii framework Apps User interface to allow end-users to interact with CNM Middleware Productware Studio for Careerprise vendors to document their developments and store developed files Fixett Redmine, Apache Subversion (SVN), (possibly) containers Courseware Learning management software to accommodate learning processes Campus Moodle Wikiware Knowledge management software to develop corporate knowledge collaboratively and access the results Wiki MediaWiki Publicware Content management software to empower CNM websites FriendsOfCNM.org WordPress
Up-to-date story of the embryo
- Executive summary of the embryo phase. Several concepts, lessons learned, and pieces of software that was developed in the First phase have been utilized in the 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:
- Business needs. These needs are expressed in User stories;
- System architecture including the core package of technology that would support User stories;
- Designed and is implementing 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 vendor liaison initiated a new cloud endeavor. Its goal is to create the simpliest system for onboarding employees and Careerprise vendors. The Team called this system embrio.
- During the First phase -- beginnings, a SimpleSAMLphp instance as an integration tool, worked well, but it had a few drawbacks, most importantly, in integrating 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. A new instance of MediaWiki is used for CNM Wikiware, an instance of Moodle is used for CNM Courseware, instances of Apache Subversion (SVN) and Redmine are for CNM Productware. 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.
- New documenting model. Lack of documentation was critical in troubles of the First phase -- beginnings. Now:
- Technical requirements for any critical software shall be developed before awarding of any contract. These requirements shall be published at 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.ksacerts.com/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 Wiki.
- Minimal viable technology. In early November of 2018, some minimal viable product (MVP) of future CNM Cloud is going to be launched. It shall include some registration, enrollment into Careerprise Orientation and, further, into WorldOpp Placement Seminar, and granting rights of NetAnyone, NetConsumer, CertAssociate, and CertFellow.
- New management approach. The management model changed substantially:
- With some exceptions, Gary Ihar served as the only product owner from the Project inception. Those exceptions were contributions by Romanof, most notably, into Opplet.net. New apprentices are supposed to serve as owners of those CNM apps that are being developed as deliverables of the Project. To fund this change, Gary Ihar decreased his personal involvement into product ownership;
- 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.
- 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 so far.
A clear recruitment and onboarding process is considered being an important problem to be solved next.- 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.
- Idea of incubator. An idea of Opplet incubator was developed in order to create an onboarding process generally and, to develop candidates' skills in project management, business analysis, 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, Septem Artes Administrativi and practice their concepts while creating and bettering curricula, as well as epics, user stories, and other documentation for CNM Cloud 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.
Deliverables of embryo phase
- Projected deliverables:
- A software system capable to execute the User stories for the embryo;
- Contracts between Friends Of CNM and Careerprise vendors to run:
- Contracts between Friends Of CNM and members of WorldOpp Fellow Staff to run:
- WorldOpp development and Fixett;
- The Project;
- CNM Campus;
- CNM Wiki;
- One or more CNM websites.
- Curricula at CNM Campus:
- Organizational structures:
Future phases
Third phase -- organization
- CNM Ventureware based on an Odoo instance shall be the primary deliverable of the third phase. Other deliverables may include Eventtune, CNM Calendar, CNM Videoshareware, CNM Mailware, CNM Talkware. New sprints of Opplet.net are also expected.
Fourth phase -- security
- Private clouds such as Dev Cloud, Production Cloud, and Control Cloud shall be primary deliverables of the fourth phase of the Project.
Fifth phase -- federation
- At the fifth phase of the Project, the initial requirements, CNM Digital by Loredana C, shall be revised and tested on the completion. This phase is also reserved for any developments, especially federations, that haven't been accomplished in the previous phases.
Current state
Developers
- Three members of the development group who are currently working on the Project are as follows:
- 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 Wiki on every software included in the second phase;
- Natalia. As a vendor liaison, Natalia is working on CNM Wikiware documentation.
Completion rates
- The DADI is the development cycle that includes 4 components: (1) discover, (2) analyze, (3) design, and (4) implement. 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 DADI component Discover Analyze Design Implement Platform Infrastructure (temporarily, outsourced) Second Requirements and designs are drafted in Russian in Fixett; DigitalOcean is temporarily used for implementations 90% 90% 90% 90% Middleware Opplet.net Fourth Requirements and designs are drafted in Russian in Fixett; Opplet.net handles user management for CNM Cloud 75% 75% 75% 75% Apps Productware Fixett Second Requirements and designs are drafted in Russian in Fixett; the current implementation is located at a classified URL 50% 50% 50% 50% Courseware Campus Second Requirements and designs are drafted in Russian in Fixett and English in CNM Wiki; the current implementation is located at https://campus.ksacerts.com 25% 25% 25% 25% Wikiware 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.ksacerts.com/ru 90% 90% 90% 90% Publicware CNM website Second Requirements and designs are drafted in English in CNM Wiki; some implementations launched in the first sprint include worldopp.org and careernetworkministry.org 25% 10% 10% 0%
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 at CNM Wiki for upcoming procurement or topics related to procurement of CNM Wikiware, CNM Courseware, CNM Productware, CNM Publicware, 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.
- 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.