...
MO PROJECT PROPOSALS
- USE CASE TEAMS - The Use Case Teams prepare their proposals.
- #1: BUSINESS DRIVER TEMPLATE - The Use Case Teams should develop their business driver template and consider their purpose and business impact for their use case. This would detail the executive summary, business impact, business markets, financial impacts and management and strategy. The template for the business driver case can be found here: Business Driver Template for Use Cases
- #2: REQUIREMENTS SUB-COMMITTEE - Develop their proposals for the release which focus on defining their business imperatives. When ready, the Team needs to present their business drivers and requirements to the requirements sub-committee. The Use Case owner would propose and select the requirements that would be worked on in that release. The requirements Sub-Committee can evaluate and identify cross-interactions between proposals. The requirements S/C can make prioritization recommendations to the TSC. The TSC (with EUAG input) can then make a decision to adopt or alter the prioritization recommendations. The presentation are given to the Requirements Sub-committee: Requirements subcommittee
- #3: REQUIREMENTS PROPOSALS - After making a presentation to the Requirements sub-committee. Their requirements would then be put into the release proposed functional requirements page. An example for Release 7 (GuiLin) is at this wiki: Guilin release - functional requirements proposed list
- #4: USE CASE DEFINITIONS - The team can then use the Use Case Template to fill out more details about their Use Case. Note: (see above), again, a Use Case is a comprised of a set of Requirements. The use Case Template can be found here: Use Case Tracking Template
- #5: INTENTION TO PARTICIPATE - Teams can indicate their corporate intention to participate
- #6: RELEASE TRACKING - Each release has a release tracking page. Wiki can be found here: Release Planning . You will need to clone REQ-1 (see link below)
- #7: PROJECT SUBMISSION, PROPOSAL, PLANNING - The TSC coordinates the project submission, proposal and planning. A project submission, the intention to participate is announced. The TSC reviews and provides its disposition on all submitted projects proposal. In Project Planning closure, the submissions from all of the new projects have been submitted in wiki their Release Planning materials. These are also tracked on the Release Planning page.
- #8: MODEL PLANNING - If you have model impact add to the model planning page ONAP R7 Modeling High Level Requirements
- USE CASE TEAMS - The Use Case Teams prepare their proposals.
WIKI LINKS References for the Use Case Teams at M0
WIKI LINKS REFERENCE AT M0 M0 Description Wiki Link 1 Business Driver Template Business Driver Template for Use Cases 2 Requirements S/C Requirements subcommittee 3 Functional Requirements Proposals Guilin release - functional requirements proposed list 3a Requirements Template Template to be fulfilled per each requirement 4 Use Case Tracking Template Use Case Tracking Template 6 Release Tracking page Release Planning (R6)
https://wiki.onap.org/display/DW/Guilin+Release+Requirements (R7)
Mod Modeling Release Planning Page Mod Generic Information Element Template If you think you have modeling impact fill out the following template and include in your project Wiki Page:
Arc Architecture Reference Architecture Architecture Arc Architecture S/C presentation Template R7 Guilin Architecture Review (template) - functional requirements
Project Architectural Review Requirements and Process (Draft)
REQ1 Requirement Template Jira Legacy server System Jira serverId 4733707d-2057-3a0f-ae5e-4fd8aff50176 key REQ-1 INSTRUCTIONS: Documenting Release Requirements and Use Cases in JIRA
- Project component (A&AI, SDNC SO etc) impacts, and test only impacts
- Create an user story per impacted project
- Which companies will develop and test each requirement per component?
- How many developers per component?
- Date for your Architecture sub-committee Review? and LINK.
- Date of Requirements Review
(REQ-1 TEMPLATE):
Project (ONAP Component) IMPACT: TO/C
* Impact Type: TO/C (Test-only/Code)
* Companies Supporting: xyz
* Resources: xyz
* NFR Support: xyz (support for non-functional requirement)Story
Jira
Creating STORY Jiras Create a STORY Jira per impacted Project - Modeling team - At MO the Modeling S/C does MODEL PLANNING. The planning develops into “High Level Info-model Requirements”. These High level info-model requirements fall into 3 categories:
- #1: NEW USE CASES - items from the expected Requirements/Use Cases in the release (Scope of modeling, continuing, introducing, standards updates). The Use Case Teams should engage the modeling team to propose new requirements into their release planning page. An example of the Modeling S/C planning page for R6 is here: ONAP R7 Modeling High Level Requirements
- #2: REFINING EXISTING MODEL - Refining Existing info-model that has not made it to the information model; Use case teams to be aware of these changes to the model.
- #3: EXPERIMENTAL WORK - At this stage, the Use Case/Requirements teams may not be entirely sure of modeling impacts; They should still schedule into the Modeling Roadmap (as Experimental).
...
M3 API FREEZE
- USE CASE / REQUIREMENTS PROJECT TEAMS -
- API FREEZE - M3 is characterized by the API freeze. The main thing that happens at M3, is that the API is frozen by the Use Case / Requirements Teams.
- DATA MODEL FREEZE - Developers are working to review & finalize the data model in order to develop the API.
- Info Model - The Modeling S/C is develops the info-model; the Use Case Teams should present at the Modeling S/C their proposed data model that might be frozen so that the modeling S/C can provide assistance and assess if info-model impacts.
- DATA MODEL IMPACTING INFO MODEL - If changes in the Data Model impact the information model, those changes need to be worked by the model S/C. The Modeling S/C would evaluate the change to the Information model and possibly make updates.
- EVALUATE DATA MODEL - START: Input Data Model > verb Consider > END: Data Model in Discussion State
- The data model is a model that is used in a Use Case and is based on the Information Model. It is generally a self-contained model which depicts a particular capability or function of the system. The data model starts as a "input data model" and undergoes consideration by the Use Case teams. Consideration means that the Use Case teams is entertains & assesses if the input data model. If the Use Case teams think that the contribution is not ready for the current release that contribution it might postponed. It would be noted in the Release Management Project page as such.
- REVIEW & REFINE DATA MODEL - START: Data Model in Discussion State > verb Reviewing & Refine > END: Data Model in Discussion state
- The data model undergoes reviewing & refining during the discussion state. Reviewing & refining means that the Use Case Teams are discussing the data model and updating their data model based on feedback and comments from the Use Case team and modeling team. Each data model can be reviewed and refined independently and concurrently with other use case projects. Things in the discussion state are classes, attributes and relationships are tagged as IISOMI experimental.
- FINAL CALL FOR COMMENTS & INITIATE POLLING - START: Data Model in Discussion State > verb Approving/Poll > END: Data Model in Discussion state
- (a) FINAL DATA MODEL - When the data model has gotten to a point where the use case team feels that it can start to undergo the approval process, the data model is brought one final time the use case project team.
- (b) FINAL CALL FOR COMMENTS - After that, a final call for comments is issued by a use case lead whereby final thoughts & input can be given. This final call for comments signals that the discussion is wrapping up for this contribution and will soon go to a poll.
- (c) INITIATING POLL - After final call and no further outstanding comments exist, the contribution is brought to a poll by a use case lead. A poll is created whereby use case team members can give the contribution a vote of "yes" or "no".
- APPROVING CONTRIBUTION - START: Data model is in Discussion State Post-Poll > verb Approving > Data model in Clean State
- After the poll has concluded, the data model has finished the approval process. The data model is now considered to be in the clean state. The items that are in the IISOMI experimental state get promoted to a preliminary state.
- RECONCILE DATA & INFO MODEL - Reconciling the info-model with the data-model. If there are impacts to the information model, it should be captured.
- SWAGGER - Publish Swagger, Edge Rules.
MAINTENANCE RELEASE -
- INSIGHTS STATISTICS PAGE - https://lfanalytics.io/projects/lfn%2Fonap/dashboard
TASK TASK TOPIC DESCRIPTION 1 Update API documentation 2 Verify that merge requests are code reviewed
3 Update the OOM Port list
4 Data models are shared with the Modeling subcommittee
5 Complete the Architecture Sub-committee Review
Go to the Architecture subcommittee and present at the meeting and hold a component review. 6 Integration Blocker 7 Review License Scan Issues 8 Update documented Risks. Update the Project Status Page. Release milestone exceptions. Submit and exception Request. 9 Resolve all high priority bugs in Jira Any high priority bug left by M3 should be resolved if possible. Release notes will be updated with open issues if not completed. - Example of A&AI tasks at M3:
- MODELING S/C ENGAGEMENT at M3-
- MODELING S/C ENGAGEMENT - The Use Case teams may wish to solicit the opinion of the modeling S/C and present their data model for discussion and socialization.
- REFINEMENTS TO THE RELEASE INFO MODEL - The Release Information Model is clean (base-lined) at M3. Though, updates can still happen to the release information model and the contributions. Certain elements within the model(s) could go to back to an experimental state. Only certain elements (e.g. attributes, ranges) are likely to go to the experimental state NOT the entire contribution. New additions could be added to a contribution model. A contribution cannot be clean and experimental. Clean has a relationship to the IISOMI states. For an entity to be clean it must be either preliminary or mature.
- ARCHITECTURE ENGAGEMENT -
- API FREEZE & ARCHITECTURE - API updates can impact that Component Architecture. That is architecture related to the ONAP components (A&AI, SO, SDC etc). Impacts to the API also affect the architecture landing page portal, and the architecture component descriptions. This is where the architecture team captures links to the API descriptions and documentation. Impacts to the API should have been identified during the architecture sub-committee review at M0.
- COMPONENT (PTL) ENGAGEMENT -
- API FREEZE & COMPONENT IMPACT - The API freeze most directly affects the ONAP components (A&AI, SO, SDC etc). As the project teams working use cases & requirements will directly impact the software used by micro-services or platform components. Software changes are tracked in Jira, and should be coordinated with the PTL platform component technical leads.
- USE CASE / REQUIREMENTS PROJECT TEAMS -
...
M4 CODE FREEZE
USE CASE / REQUIREMENTS PROJECT TEAMS -
CODE FREEZE - The Use Case Teams are delivering the Software for the release. Requirements and use case teams are working to complete their software defined in their jiras and wiki pages. These will include the following tasks listed here.
- COMPONENT S/W DELIVERY - S/W drops should be coordinated with PTL (components). Sync up with each component and PTLs should be done. Each component that is impact should have already been tracked in M0 and M1. Each of the component S/W impacts should be tracked by Jira tickets. Historically, it is the case that sometimes certain functionality of a component may not be able to be delivered. In this case, an assessment should be made if this will impact other platform components or other aspects of the use case.
- JIRA TICKETS - Jira tickets should be updated with S/W delivery status. Delayed or Jira tickets that cannot be completed need to be communicated to the ONAP project release manager. Jira tickets that are tracking the overall project, the REQ-tickets need to be updated if there have been changes in content or status.
- DEFERRED - Deferred elements that could not be delivered in the release should be noted. These can now be scheduled for the next release as generally by M4, the next ONAP release content is already starting to be considered and early planning is occurring.
- INTEGRATION WORK - Integration work and test-cases should be worked. The integration teams need to be aware of any delays in software component delivery. If there are things can cannot make it into the current release test cases need to be updated.
- API UPDATES - Swagger updates and API updates should be made if necessary. The API delivery was in M3 however, some things may change going into or during M4 which may cause API updates.
JIRA S/W BUGS COMMUNICATED - Tracking new software bugs with Jira tickets as necessary. As new software issues are encountered, they need to be communicated to the release.
- RELEASE MANAGEMENT REPORTING - During M4, status of the projects are tracked for evaluation and software delivery. Potential delays needs to be communicated to ONAP project management. The TSC will consider and assess the status or each requirement/use case and the health of the release based on the Jira tickets. Any deferrals should be noted with the project management.
- TSC REPORTING - The TSC is tracking delivery and health of the release at M4
- MARKETING RELEASE - The marketing report of overall ONAP is being drafted at this point.
DOCUMENT GENERATION - Read the docs updates should be made for the Use Case. The read the docs can be found here: https://onap.readthedocs.io/en/latest/index.html
tASK TASK item review License Scan Issues Refer to most recent license scan, to determine is license scan are issues and resolve license scan issues.
If your project issues open source software, it may have licensing issues. For example if open source or proprietary software
Merge Requests Address all security Issues Security Violation page. Some are common vulnerabilities across all of ONAP.
Depending on libraries used.
FOSS Wiki - Maven command to show dependency tree and uploaded.
High Priority Jira Issues High Priority Jira Issues and document any remaining open issues. Release Platform Maturity & CII Platform Maturity Requirements (S3P).
Performance stability resilience security Scalability manageability scalablity
Project Maturity Review for AAI
CII Badging Scorecard.
The Analytics (what used to be Bitergia) is used to show the different commits, different project committing, and showing that it is an active projects and the span of committers across different companies. To find outliers, and project not being supported to evaluate for maturity review.
Test Coverage Verify test coverage goals have been met
This is done in Sonar Cloud. Sonar cloud shows lines of code that are test are not covered.
J-Unit tests are cross-indexed against the software and statistics are compiled for each component in Sonar Cloud.
Overall Line coverage. meaning that the tests cover >50% of the code.
An example: components:
https://sonarcloud.io/organizations/onap/projects
Quality profiles are generated. Bugs, Vulnerabilities; Code Smells, Security hotspots; and Active rules are applied
and identify code duplication. Suggested Bug fixes.
Undocumented Risk Integration Weatherboard Integration Weatherboard
Update the INFO Yaml Review and uupdate the INFO. yaml
Info about project, life cycle state. Comiters.
Project meta-data. Stating committers, PTLs etc.
through Oracle VM VirtualBox
Keep track of project changers.
, , , , ,
Each Micro-service of the project has a INFO.yaml
Apply for project status:
MODELING S/C ENGAGEMENT at M4 -
f
ARCHITECTURE ENGAGEMENT -
S-P - B-
COMPONENT (PTL) ENGAGEMENT -
D-T - D-p.
...