Nso 9
Nso 9
Nso 9
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
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
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
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
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
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
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?
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
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
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
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
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.
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.
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.
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.
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