0% found this document useful (0 votes)
45 views77 pages

Nso 9

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 77

BRKNMS-2059

Agilifing NSO Delivery


Enjoy the successful delivery

Ahmed Hashem
Software Architect, Cisco CX
Hola
Bienvenido
‫مرحبا‬
Welcome
Willkommen
Bienvenu
Familiarize your team with Agile best
practices and enjoy the success.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
Agenda
• The concepts
• Agile is not ..
• What is user story
• Backlog definition
• Backlog estimation.
• Team Velocity
• The adoption
• NSO Service Example
• Expanding user story.
• Reporting
• The tools

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
About the speaker
• Software Architect with 15 years experience.
• Certified Scrum Master.
• TMForum Business Process Modeler.
• Java Champion.
• Successful delivery of BSS/OSS transformation and Network automation.
• Tier-1 Customer Service Providers across EMEA
• Mobile, Broadband, IPTV, VoIP, VoLTE, Carrier Ethernet, VPN and more.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
The Concepts
Agile is not …
• Daily standup meeting.
• Jira.
• Delivering software without documentation.
• A process to accept adhoc requirements.
• Used for MVP “Minimal Viable Product” only.
• Delivery without analysis.
• Perfect.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 9
Agile or Scrum?

Lean KANBAN

XP Scrum

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
The Agile Manifesto
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Openness

Courage
Focus Artifacts Events
Commitment

Respect

Roles

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
Scrum Values

Openness
Courage
Focus

Commitment
Respect

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 12
Scrum Framework Components

Artifacts Events

Roles
© 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public
Scrum Artifacts
Product Backlog Sprint Backlog Definition of Done Burn Down Chart

A B
Story Done
C D
All code checked in
E F All developer tests pass
All acceptance tests pass
Help text is written
Product Owner accepted

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
Scrum Roles

Scrum Master Scrum Team Product Owner

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
Scrum Events

Month
S M T W T F S Key Dates Event

1 2 3 Day-Month Backlog Refinement

4 5 6 7 8 9 10 Day-Month Sprint Planning

11 12 13 14 15 16 17 Day-Month The Sprint

18 19 20 21 22 23 24 Day-Month Daily Scrum

25 26 27 28 29 30 31 Day-Month Sprint Review

Day-Month Sprint Retrospective

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
Scrum Process

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
A User Story

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
INVEST in user story
• Independent: We want to be able to develop in any sequence.
• Negotiable: Avoid too much detail; keep them flexible so the team can
adjust how much of the story to implement.
• Valuable: Users or customers get some value from the story.
• Estimatable: The team must be able to use them for planning.
• Small: Large stories are harder to estimate and plan. By the time of
iteration planning, the story should be able to be designed, coded, and
tested within the iteration.
• Testable: Document acceptance criteria, or the definition of done for the
story, which lead to test cases.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
Building Backlog

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
Backlog Effort Estimation
• Backlog effort estimation must be done by the scrum team.
• It shouldn’t consider any special skills by specific team member.
• Estimation using T-Shirt Sizes (XS, S, M, L, XL)
• Estimation using Fibonacci series (1,2,3,5,8,13, 21 ..etc) 0,½ ,1,2,3,5
• It should be fun. ,8,13,20,40

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
Estimating Team Velocity

Product Sprint Sprint


Backlog Backlog Backlog
3 3 Done 3
The team pulls their Actual Velocity = 16
5 Desired number of stories 5 Estimated Done 5
Into the current sprint velocity = 24
8 8 Done 8

5 5 Almost done 5
3 3 Not started 3
5

5
3

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
Applying the math!
• Assuming that backlog effort estimation is 200 points.
• Original Team Velocity is 24 points.
• Scrum team requires 9 sprints to finish the backlog (~21 weeks).
• After the first sprint, actual team velocity is 16 points.
• Scrum team requires 13 sprint to finish the backlog (~29 weeks).

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
Please ask a question
Estimating Team Velocity

Product Sprint Sprint


Backlog Backlog Backlog
3 3 Done 3
The team pulls their Actual Velocity = 27
5 Desired number of stories 5 Estimated Done 5
Into the current sprint velocity = 24
8 8 Done 8

5 5 Done 5
3 3 Done 3
5 Done 3 Additional User
Story from the
5 backlog
3

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
The Adoption
Network Service Orchestrator - Overview

Network Engineering Ops and Provisioning Service Developer Features in focus:


• Full service lifecycle
NSO management
Service Manager
Service
Model • All-or-nothing changes
Package
CDB Manager across devices
Device Manager Device
Model
• Service insight
Device Abstraction ESC (VNFM)
• Orchestrated assurance
VNF Lifecycle VNF Service
NED NED NED
Manager Monitoring

Multi-domain Networks

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
NSO Service Example
• L3 VPN Service requires
configurations of:-
• IP
• Device
• Device Interface
NSO Service Validation
Service
Model
• Routing
Package Components
• VLAN
Service
Unit Test
Logic

Service
Integration
Template

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
NSO User Story

Tasks Dependencies

Defects Release Info

Attachments
Test Cases
Network conf
Discussions

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
NSO User Story

US ID: 1234

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 30
User Story Breakdown
I 7
5
N 6
V 4

E
3
S 2
T
1

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
User Story Breakdown
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
User Story Breakdown
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
User Story Breakdown
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
User Story Breakdown – Next Level
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
User Story Breakdown – Estimation
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
User Story Breakdown – Estimation
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
User Story Breakdown – Further Breakdown
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
User Story Breakdown – Priority
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
User Story Breakdown – Dependency
I

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
By the time we start the first sprint, the solution architecture and
design are already in place and each user story has been
detailed enough to meet customer requirements and make the
sprint outcome very valuable

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 41
Backlog Grooming
• Adding details, estimated, business value to product backlog item.
• Adding dependencies.
• Order backlog items.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
Prioritizing the backlog

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 43
Prioritizing the backlog

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
Prioritizing the backlog

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 45
Reporting

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
Sprint Retrospective
• Document lessons learned from the sprint.
• Plan to enhance the process including:-
• Estimation
• Writing user stories
• Managing external dependencies
• Task assignment

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
Challenges
• Documentation delivery
• High Level and Low Design
• Acceptance Test Plan

• One user story might not be adding business value to customer but still
shippable.
• Infrastructure tasks have no direct business value but it is prerequisites for
the project.
• Product defects
• Parallel sprints
• External dependencies affect burndown chart.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
Perfection is not attainable, but if we
chase perfection we can catch
excellence

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
The Tools
Rally Setup
• Identify Velocity • Estimate the backlog
• Create releases • Prioritize the backlog
• Create milestone • Sprint planning
• Create iterations • Sprint progress review
• Build the backlog • Create Test Case and Test Plan
• Create user stories
• Create child user stories
• Create tasks
• Set dependencies

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
Demo
CICD for Service Providers
Continuous What?

Plan Code Build Test Release Deploy Operate

DevOps

Continuous Deployment

Continuous Delivery
Value

Continuous Integration

Agile Development

Collaboration

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
Continues Delivery and DevOps
• Continuous Delivery is scary!
Because change is scary
Because the unknown is scary
• If it’s painful, do it more often!
• Develop IT capabilities like software
Decompose the problem space
• Treat infrastructure as code
Automate almost everything
• Remember Conway’s Law
Architectures reflect organizational
structure.
Image: http://commons.wikimedia.org/wiki/File:Agile-vs-iterative-flow.jpg (Licensed Under Creative Commons)

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 55
CICD Pipeline
Test
Environment

Jenkins

Change Service config/code Binaries


Change NED version Central Source Repository
Change NSO version Repo.
Integrate with different system
Change NSO config Code Quality
Add more test cases Github Analysis
Artifactory

Sonarqube

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 56
Sample CICD Stack
CICD Lab
SW Development
Request SW Lifecycle Test
Management Environment
Manage Project & Issues

Project Manager
Manage Tasks & Issues Binaries
Rally
Repository
Local Development

Tests
Fetch
Clone

CI System Deploy Artifacts

IDEs & Local Dev. Local


Automated Artifactory
Local Tools Environment Repository Central Build & Test Code Quality Analysis
Source Repo. Fetch
Reviewer
Clone Code Quality
Analysis
Local Development Github
Jenkins
Push/Pull

Local Dev. Local Sonarqube


IDEs &
Local Tools Environment Repository

Tests Feedback
Developer Quality Analysis Feedback
Agenda
• The concepts
• Agile is not ..
• What is user story
• Backlog definition
• Backlog estimation.
• Team Velocity
• The adoption
• NSO Service Example
• Expanding user story.
• Reporting
• The tools

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
Cisco Webex Teams

Questions?
Use Cisco Webex Teams (formerly Cisco Spark)
to chat with the speaker after the session

How
1 Find this session in the Cisco Events Mobile App
2 Click “Join the Discussion”
3 Install Webex Teams or go directly to the team space
4 Enter messages/questions in the team space

cs.co/ciscolivebot#BRKNMS-2059

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
Continue Your Education

Attend Meet the Related


Read
Agile engineer sessions
Scrum
Training Guide and 1:1
Agile meetings
Manifesto

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
Related
sessions

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
Complete your online
session survey
• Please complete your Online Session
Survey after each session
• Complete 4 Session Surveys & the Overall
Conference Survey (available from
Thursday) to receive your Cisco Live T-
shirt
• All surveys can be completed via the Cisco
Events Mobile App or the Communication
Stations

Don’t forget: Cisco Live sessions will be available for viewing


on demand after the event at ciscolive.cisco.com

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
Thank you
Values
Communication
Complicity
Feedback
Courage
Respect
Extreme
Programming Practices
Pair Programming
Coding Standard
Testing
Refactoring
Incremental Design
10 Min Build
Continues Integration
BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 65
Values
Eliminate waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Lean Build integrity in
See the whole

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
Values
Planning flexibility
Shortened time cycles
Fewer bottlenecks
Visual metrics
Continuous Delivery
Kanban

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 67
Agile Principals

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 68
• Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
• Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter timescale.
• Business people and developers must work together daily throughout the project.
• Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
• At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
• The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
• Working software is the primary measure of progress.
• Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
• Continuous attention to technical excellence and good design enhances agility.
• Simplicity--the art of maximizing the amount of work not done--is essential.
• The best architectures, requirements, and designs emerge from self-organizing
teams.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
Manifesto for Agile Software
Development

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
• We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
• That is, while there is value in the items on
the right, we value the items on the left more.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 72
Scrum is a team-based approach to delivering
value to the business. Team members work •Individuals and interactions
together to achieve a shared business goal. The
Scrum framework promotes effective interaction over processes and tools
between team members so the team delivers
value to the business.

Once the team gets a business goal, it:

• Figures out how to do the work


• Does the work
• Identifies what's getting in its way
• Takes responsibility to resolve all the difficulties within
its scope
• Works with other parts of the organization to resolve
concerns outside their control
• This focus on team responsibility in Scrum is critical.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 73
• Scrum requires a working, finished product
increment as the primary result of every sprint. •Working software over
• Whatever activities take place during the comprehensive
sprint, the focus is on the creation of the documentation
product increment.
• A Scrum team’s goal is to produce a product
increment every sprint.

• The increment may not yet include enough


functionality for the business to decide to ship
it, but the team’s job is to ensure the
functionality present is of shippable quality.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 74
• Scrum is a framework designed to promote
and facilitate collaboration. •Customer collaboration over
• Team members collaborate with each other to contract negotiation
find the best way to build and deliver the
software, or other deliverables, to the
business.

• The team, especially the product owner,


collaborates with stakeholders to inspect and
adapt the product vision so the product will be
as valuable as possible.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 75
• Scrum teams make frequent plans. For starters, they plan the
current sprint. In addition, many teams create longer-term plans,
such as release plans and product roadmaps. These plans help
•Responding to change over
the team and the business make decisions. However, the team’s following a plan
goal is not to blindly follow the plan; the goal is to create value
and embrace change. In essence, the thought process and ideas
necessary for planning are more important than the plan itself.

• A plan created early is based on less information than will be


available in the future so, naturally, it may not be the best plan.
As new information is discovered, the team updates the product
backlog. That means the direction of the product likely shifts.
This continuous planning improves the team’s chances of
success as it incorporates new knowledge into the experience.

• Scrum teams constantly respond to change so that the best


possible outcome can be achieved. Scrum can be described as
a framework of feedback loops, allowing the team to constantly
inspect and adapt so the product delivers maximum value.

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 76
Hybrid (Agile + Waterfall)

BRKNMS-2059 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 77

You might also like