Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Created by Chaker Al-Hakim December 10, 2019
Current ONAP Lifecycle Process
“The activities of the ONAP community are articulated around projects and releases. The scope of each project is aligned with the ONAP architecture and the scope of each release is defined with the objective to fulfill a particular use case(s).”
“A project is a long-term endeavor setup to deliver features across multiple releases, which have a shorter lifespan.”
The project and release lifecycle are simple and provide sufficient visibility to allow teams to coordinate with one another and flock naturally.”
“The key point of the project and release lifecycle process is to provide adequate visibility to all stakeholders, provide synchronization, and support to all contributors.”
Project Lifecycle States and Reviews
ONAP project lifecycle defines five states that each project goes through. The project lifecycle may extend across multiple releases.
The procedure of moving from one state to the next one is independent from the release and the pace depends on each individual project.
In order to effectively review project progress, four reviews are build-in within the project lifecycle
Project State | Description | ||||||
---|---|---|---|---|---|---|---|
Proposal | Project doesn’t really exist yet, may not have real resources, but is proposed and is expected to be created due to business needs. | ||||||
Incubation Anchor |
| Project has resources but is recognized to be in the early stages of development. The outcome is a minimum viable product (MVP) that demonstrates the value of the project and is a useful vehicle for collecting feedback but is not expected to be used in production environments. | |||||
Mature Anchor |
| Project is fully functioning and stable, has achieved successful releases. | |||||
Core Anchor |
| Project provides value to and receives interest from a broad audience. | |||||
Archived Anchor |
| Project can reach Archived state for multiple reasons. Either project has successfully been completed and its artifacts provide business values, or project has been cancelled for unforeseen reasons (no value anymore, technical, etc.). Project in any state can be Archived through a Termination Review. |
To move from one state to the next state, the Project Team has to formulate a Kick-Off release review to the TSC, by specifying its goal to move up the Project Lifecycle ladder.
FromState | ToState | Review Description |
---|---|---|
Null | ||
Incubation | Incubation review | |
Mature | Maturity review | |
Mature | Core review | |
Core | Archived(retirement) | Termination review |
Termination Review – proposed additional steps
- Add a step in the project approval process that would clearly define how to retire the proposed project
- Cancel all technical meetings
- IT related items
- Open a JIRA ticket to track the project retirement
- Repository – make source control read-only, turn off automated builds
- Update Wiki
- Update Docs
- Assess dependencies from other components
- Close down all related mailing lists
- .... any additional steps
Proposed Next Steps
The table below should be used as a guiding checklist for developing a plan to retire any ONAP project/component
Step | Project Incubation Review Artifacts | Project Retirement Review Artifacts | Comments for retirement ( added ) |
---|---|---|---|
1 | Name of the project is appropriate (no trademark issues etc.); Proposed repository name is all lower-case without any special characters | Same | |
2 | Project contact name, company and email are defined and documented | Same | |
3 | Description of the project goal and its purpose are defined | Same | |
4 | Scope and project plan are well defined | Identify impacts on other projects, components, work efforts, release timeline, etc | |
5 | Resources committed and available | Identify and release all the resources | |
6 | Contributors identified | Notify all the contributors | send email to tsc, discuss, ptl and to the project list (if it exists) |
7 | Initial list of committer identified (elected/proposed by initial contributors) | ||
8 | Meets ONAP TSC Policies | Perform:
| should be part of line #4 |
9 | Proposal has been socialized with potentially interested or affected projects and/or parties | Required | wider ecosystem in the general release notes (preceded by a release where it has been moved to unmaintained) send an email to the lfn-euag, onap-users, and send a note to the general IM channel (currently Slack) |
10 | Cross Project Dependencies (XPDs). In the case where a project will require changes in other projects, those projects are listed in the proposal, and a sponsoring developer in the project has been identified | Required – undo all the changes to the impacted projects. This can span multiple releases | concerns from SECCOM about this spanning multiple releases. N |
11 | Tools have been identified and discussed with relevant partners (Linux Foundation, IT). Once the project pass the review,:
| A plan is required to undo all these steps | |
12 | N/A | Develop a test plan to certify the rest of the ONAP components without the deprecated component | |
13 | N/A | Identify any previous release(s) that would need to be maintained that use(s) the retired component and provide ongoing support until an upgrade occurs. (things can get a little bit messy here – this requires further debate/discussion) | |
14 | N/A | IT related items:
|