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...
(University guest talk)
2. 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...
3. 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)
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
“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
10. 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
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)
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
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
23. 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