KEMBAR78
Agile Development Practices May 2017 | PDF
Agile Development Practices
Softwarové inženýrství v praxi, MFF UK, May 4 2017
Jaroslav Gergic, Cisco Cognitive Security
Agile Development Practices
My observations on a journey from UML and Rational Unified
Process (RUP) through the lands of Scrum, Kanban, DevOps
and Cloud SaaS with various detours via "fragile" settlements
along the path...
About me
● R&D Manager at Cisco
○ Cognitive Security / Advanced Threat / Security Business Group
○ https://cognitive.cisco.com/
● before that:
○ 7 years R&D & Operations Director/VP at GoodData
○ 3 years Sr. Consultant at Ariba (now part of SAP)
○ 6 years SW Engineer at IBM T. J. Watson Research
○ (... and also Reuters, Mobil Server and LCS International before the turn of the century...)
● Education
○ MFF UK alumni (Distributed Systems)
what
why
when
agile?
What agile means
to you?
http://agilemanifesto.org
Agile Development Practices
● why agile?
● when agile?
● what agile?
Let's look at the agile movement in a wider context...
Traditional on-premise vs. Cloud / SaaS /
mobile● hosted by customer
● HW & Infrastructure costs borne by
customer
● annual or semi-annual release cycle
● multiple HW/SW vendors put together by
SW integrators - Projects
● hosted by SaaS provider
● shared infrastructure and multi tenancy
bringing economies of scale
● months or weeks release cycle
● integrated solutions delivered over the
Internet - Products
Projects vs. Products
“A project is a temporary endeavor designed to
produce a unique product, service or result with a
defined beginning and end (usually
time-constrained, and often constrained by
funding or deliverables) undertaken to meet
unique goals and objectives, typically to bring
about beneficial change or added value.”
https://en.wikipedia.org/wiki/Project_management
“Software product management is the process of
managing software that is built and implemented
as a product, taking into account life-cycle
considerations and generally with a wide
audience. It is the discipline and business
process which governs a product from its
inception to the market or customer delivery and
service in order to maximize revenue.”
https://en.wikipedia.org/wiki/Software_product_management
Why & When Agile?
● Cloud / SaaS and mobile ecosystems as an enabler
○ increased pace of innovation (weeks / months instead of years)
○ need to reduce risks / uncover issues sooner
● Product rather than Project focussed
○ creative process - building something new
○ broader scope with many unknowns - discovery and validation
What Agile? Scrum & Kanban in a Nutshell
1. Split your organization into small,
cross-functional, self- organizing teams.
2. Split your work into a list of small,
concrete deliverables. Sort the list by
priority and estimate the relative effort of
each item.
3. Split time into short fixed-length iterations,
with potentially shippable code
demonstrated after each iteration.
4. Optimize the release plan and update
priorities in collaboration with the
customer, based on insights gained by
inspecting the release after each iteration.
5. Optimize the process by having a
retrospective after each iteration.
1. Visualize the workflow
○ Split the work into pieces, write each item
on a card and put on the wall.
○ Use named columns to illustrate where
each item is in the workflow.
2. Limit Work In Progress (WIP)
3. Measure the lead time
http://www.infoq.com/minibooks/kanban-
scrum-minibook
Key Agile Principles
1. cross-functional teams (skillset and engagement)
2. frequent customer engagement to ensure alignment
3. short iterations as a means of reducing the risk
4. continuous learning (retrospectives, lean principles)
1
cross-functional
teams
2
frequent customer
engagement to
ensure alignment
3
short iterations as a
means of reducing
the risk
4
continuous learning
(retrospectives,
lean principles)
Key Agile Principles
1. cross-functional teams (skillset and engagement)
2. frequent customer engagement to ensure alignment
3. short iterations as a means of reducing the risk
4. continuous learning (retrospectives, lean principles)
Bigger Picture - Building Products
● Agile always talks about iterations and incremental changes
○ But how to get new products off the ground?
● Story Mapping technique
○ Jeff Patton - http://jpattonassociates.com/the-new-backlog/ (2008)
● Key Concepts
○ 2D Backlog instead of linear Backlog
○ Levels of abstraction: Activities / User Tasks / User Stories
○ Walking Skeleton
http://storiesonboard.com/
http://storiesonboard.com/
Walking skeleton ~ Minimum Viable Product
1. cross-functional teams (skillset and engagement)
2. frequent customer engagement to ensure alignment
3. short iterations as a means of reducing the risk
4. continuous learning (retrospectives, lean principles)
and
5. know where you are going - roadmap / story map
Key Agile Principles
Q & A
References
● http://agilemanifesto.org
● Kanban and Scrum - making the most of both, By Henrik Kniberg, Mattias
Skarin
● Jeff Patton - http://jpattonassociates.com/the-new-backlog/
● Jaroslav Gergic - Software Engineering in the Age of SaaS and Cloud
Computing - SERA 2013 - MFF UK - August 2013,
https://www.slideshare.net/mobile/jgergic/sera-2013-keynote-mff-uk-august-
2013
● Jaroslav Gergic: GoodData: The DevOps Story @ FIT CVUT,
https://www.slideshare.net/mobile/jgergic/fit-cvut-october-16-2013

Agile Development Practices May 2017

  • 1.
    Agile Development Practices Softwarovéinženýrství v praxi, MFF UK, May 4 2017 Jaroslav Gergic, Cisco Cognitive Security
  • 2.
    Agile Development Practices Myobservations on a journey from UML and Rational Unified Process (RUP) through the lands of Scrum, Kanban, DevOps and Cloud SaaS with various detours via "fragile" settlements along the path...
  • 3.
    About me ● R&DManager at Cisco ○ Cognitive Security / Advanced Threat / Security Business Group ○ https://cognitive.cisco.com/ ● before that: ○ 7 years R&D & Operations Director/VP at GoodData ○ 3 years Sr. Consultant at Ariba (now part of SAP) ○ 6 years SW Engineer at IBM T. J. Watson Research ○ (... and also Reuters, Mobil Server and LCS International before the turn of the century...) ● Education ○ MFF UK alumni (Distributed Systems)
  • 4.
  • 5.
  • 6.
  • 7.
    Agile Development Practices ●why agile? ● when agile? ● what agile? Let's look at the agile movement in a wider context...
  • 8.
    Traditional on-premise vs.Cloud / SaaS / mobile● hosted by customer ● HW & Infrastructure costs borne by customer ● annual or semi-annual release cycle ● multiple HW/SW vendors put together by SW integrators - Projects ● hosted by SaaS provider ● shared infrastructure and multi tenancy bringing economies of scale ● months or weeks release cycle ● integrated solutions delivered over the Internet - Products
  • 9.
    Projects vs. Products “Aproject is a temporary endeavor designed to produce a unique product, service or result with a defined beginning and end (usually time-constrained, and often constrained by funding or deliverables) undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value.” https://en.wikipedia.org/wiki/Project_management “Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience. It is the discipline and business process which governs a product from its inception to the market or customer delivery and service in order to maximize revenue.” https://en.wikipedia.org/wiki/Software_product_management
  • 10.
    Why & WhenAgile? ● Cloud / SaaS and mobile ecosystems as an enabler ○ increased pace of innovation (weeks / months instead of years) ○ need to reduce risks / uncover issues sooner ● Product rather than Project focussed ○ creative process - building something new ○ broader scope with many unknowns - discovery and validation
  • 11.
    What Agile? Scrum& Kanban in a Nutshell 1. Split your organization into small, cross-functional, self- organizing teams. 2. Split your work into a list of small, concrete deliverables. Sort the list by priority and estimate the relative effort of each item. 3. Split time into short fixed-length iterations, with potentially shippable code demonstrated after each iteration. 4. Optimize the release plan and update priorities in collaboration with the customer, based on insights gained by inspecting the release after each iteration. 5. Optimize the process by having a retrospective after each iteration. 1. Visualize the workflow ○ Split the work into pieces, write each item on a card and put on the wall. ○ Use named columns to illustrate where each item is in the workflow. 2. Limit Work In Progress (WIP) 3. Measure the lead time http://www.infoq.com/minibooks/kanban- scrum-minibook
  • 12.
    Key Agile Principles 1.cross-functional teams (skillset and engagement) 2. frequent customer engagement to ensure alignment 3. short iterations as a means of reducing the risk 4. continuous learning (retrospectives, lean principles)
  • 13.
  • 14.
  • 15.
    3 short iterations asa means of reducing the risk
  • 16.
  • 17.
    Key Agile Principles 1.cross-functional teams (skillset and engagement) 2. frequent customer engagement to ensure alignment 3. short iterations as a means of reducing the risk 4. continuous learning (retrospectives, lean principles)
  • 18.
    Bigger Picture -Building Products ● Agile always talks about iterations and incremental changes ○ But how to get new products off the ground? ● Story Mapping technique ○ Jeff Patton - http://jpattonassociates.com/the-new-backlog/ (2008) ● Key Concepts ○ 2D Backlog instead of linear Backlog ○ Levels of abstraction: Activities / User Tasks / User Stories ○ Walking Skeleton
  • 19.
  • 20.
  • 21.
    1. cross-functional teams(skillset and engagement) 2. frequent customer engagement to ensure alignment 3. short iterations as a means of reducing the risk 4. continuous learning (retrospectives, lean principles) and 5. know where you are going - roadmap / story map Key Agile Principles
  • 22.
  • 23.
    References ● http://agilemanifesto.org ● Kanbanand Scrum - making the most of both, By Henrik Kniberg, Mattias Skarin ● Jeff Patton - http://jpattonassociates.com/the-new-backlog/ ● Jaroslav Gergic - Software Engineering in the Age of SaaS and Cloud Computing - SERA 2013 - MFF UK - August 2013, https://www.slideshare.net/mobile/jgergic/sera-2013-keynote-mff-uk-august- 2013 ● Jaroslav Gergic: GoodData: The DevOps Story @ FIT CVUT, https://www.slideshare.net/mobile/jgergic/fit-cvut-october-16-2013