SlideShare a Scribd company logo
1 of 32
Lean or Agile,
Software Architecture
Is Fragile
Boyan Mihaylov
@bmihaylov
Agile Tour London 2015
Traditional approach
2@bmihaylov | Agile Tour London 2015
Requirements
analysis
Design
Development
Testing
Maintenance
Software
architecture
General assumptions
Requirements are
well-defined and stable
Development can fit into
a predictable schedule
Integration of the various
components is predictable
3@bmihaylov | Agile Tour London 2015
1.
2.
3.
Predictability
Stability
&
Trying to predict the future is like trying to
drive down a country road at night with no
lights while looking out the back window.
photo: www.dcrainmaker.com
Peter Drucker
“
”
Walking on water and developing
software from a specification are easy if
both are frozen.
photo: www.planetsolar.org
Edward V. Berard
“
”
The Agile promises
CHANGE
It is all about reacting to
Welcome changing requirements,
even late in development
Deliver working
software frequently
Reflect on how
to become more effective
photo: 7-themes.com
Iterations
Daily
Scrum
Sprint
Review
Sprint
Retrospe
ctive
Sprint
Planning
7@bmihaylov | Agile Tour London 2015
What is software architecture?
8@bmihaylov | Agile Tour London 2015
[...] the fundamental organization of a SYSTEM
embodied in its COMPONENTS, their
RELATIONSHIPS to each other, and to the
ENVIRONMENT, and the principles guiding its
design and evolution.
IEEE 1471
The architecture is the
skeleton of your system.
photo thegraphicsfairy.com
photo: Wikimedia.org
Agile software architecture
10@bmihaylov | Agile Tour London 2015
Does it mean I can make significant
architectural changes in the last moment?
photo: bgfons.com
Agile software architecture
11@bmihaylov | Agile Tour London 2015
Agile teams don't necessarily create
agile software architectures
A good architecture enables agility
but
Agility and the essence of software architecture, Simon Brown
photo: bgfons.com
Agile in practice
Clean architecture
Non-solo development
Clean code
Test-driven development
Simple design
Refactorying
12@bmihaylov | Agile Tour London 2015
rather
very rare
rather
rare
sometimes rather
often
source: http://agiledesign.org/2014/09/09/i-roadmap-to-an-agile-design/
The software architect
13@bmihaylov | Agile Tour London 2015
Big picture
thinking
Focuses on
compliance
Produces models
and blue prints
Not so much
hands-on
The Scrum team
14@bmihaylov | Agile Tour London 2015
The Product
Owner
The Scrum
Master
The
Development
Team
The Agile software architect
15@bmihaylov | Agile Tour London 2015
Balances big
picture and details
Focuses on
sustainability
Produces the
necessaryto
make informed
decisions
Hands-on
experience
When should I start?
16photo: athleticsmotivation.com
Sprint 0?
At the start
17@bmihaylov | Agile Tour London 2015
The architecture probably won’t be
finished when the team starts
working on the project
That’s fine
It might actually never get
finished…
That’s fine, too
Start as early as possible
Every meeting with a client should be attended of at least one
@bmihaylov | Agile Tour London 2015 18
Question everything
@bmihaylov | Agile Tour London 2015 19
Clients do NOT know what they do not know
Clients do NOT know what IT can do for them
Clients do NOT know how to improve their status quo
Clients do know what they do every day
photo: idealistcareers.org
The decision principle
20@bmihaylov | Agile Tour London 2015
Keep
It
Simple,
Stupid
You
Aren’t
Gonna
Need
It
Decide at the most responsible moment,
not at the last possible
photo: wikimedia.org
Documentation of the system
Some people leave, some people come
Future maintenance of the system
Be able to justify your past decisions
Write decisions down – every decision is important
photo: www.popsugar.com
How to do documentation
@bmihaylov | Agile Tour London 2015 23
UML?People tend to ignore it
How to do documentation
@bmihaylov | Agile Tour London 2015 24
NoUMLEverything can be used
to do documentation
25@bmihaylov | Agile Tour London 2015
Documentation of the system
Agile Tour London 2015 26
Documentation of the system
@bmihaylov | Agile Tour London 2015 27
Documentation of the system
Core functionalities are described very quickly
Visual representation of the future system
Clients can see it on-the-fly and add input
Can potentially include too many artifacts
Can become chaotic
Document content is hard to keep up-to-date
@bmihaylov | Agile Tour London 2015 28
Developers should learn how to do sketches
photo: thehippingpost.com
The Lean movement
29@bmihaylov | Agile Tour London 2015
maximize customer value
while minimizing waste
www.lean.org
“ ”
Lean software development
30@bmihaylov | Agile Tour London 2015
Eliminate waste
Decide as late as possible
Deliver fast
Deliver value
@bmihaylov | Agile Tour London 2015 31
32
Thank you, London!
@bmihaylov | Agile Tour London 2015
hey@boyan.in
@bmihaylov
After party

More Related Content

What's hot

Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAzAgile
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service deliveryRakuten Group, Inc.
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingAnjali Rao
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data Nandana Mihindukulasooriya
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013Mahmoud Samara
 
Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Woogon Shim
 
Introduction to Jira - Bug Tracking tool
Introduction to Jira - Bug Tracking toolIntroduction to Jira - Bug Tracking tool
Introduction to Jira - Bug Tracking toolGlobal SQA
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
 
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...Francis Yan
 
Agile Software Development with JIRA and Confluence
Agile Software Development with JIRA and ConfluenceAgile Software Development with JIRA and Confluence
Agile Software Development with JIRA and ConfluenceAnand Kumar
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON KeynoteChristopher Grant
 
Jira as a Tool for Test Management
Jira as a Tool for Test ManagementJira as a Tool for Test Management
Jira as a Tool for Test ManagementMaija Laksa
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To JiraHua Soon Sim
 

What's hot (20)

Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
 
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
 
Jira Agile
Jira AgileJira Agile
Jira Agile
 
Why jira
Why jiraWhy jira
Why jira
 
Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)Agile Adoption Story in LGE (Aps2010)
Agile Adoption Story in LGE (Aps2010)
 
Jira 101
Jira 101Jira 101
Jira 101
 
Introduction to Jira - Bug Tracking tool
Introduction to Jira - Bug Tracking toolIntroduction to Jira - Bug Tracking tool
Introduction to Jira - Bug Tracking tool
 
Fifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynoteFifteen Years of DevOps -- LISA 2012 keynote
Fifteen Years of DevOps -- LISA 2012 keynote
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Jira Training
Jira TrainingJira Training
Jira Training
 
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...
PantaRei Design Limited - JIRA Software Introduction - Project - Workflow - D...
 
Agile Software Development with JIRA and Confluence
Agile Software Development with JIRA and ConfluenceAgile Software Development with JIRA and Confluence
Agile Software Development with JIRA and Confluence
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON Keynote
 
JIRA
JIRAJIRA
JIRA
 
Jira as a Tool for Test Management
Jira as a Tool for Test ManagementJira as a Tool for Test Management
Jira as a Tool for Test Management
 
Introduction To Jira
Introduction To JiraIntroduction To Jira
Introduction To Jira
 

Viewers also liked

My Cv 22-11-16 (1)
My Cv 22-11-16 (1)My Cv 22-11-16 (1)
My Cv 22-11-16 (1)Arshad Arif
 
[전원 속의 내집] 집은 아이의 미래를 바꾼다
[전원 속의 내집] 집은 아이의 미래를 바꾼다[전원 속의 내집] 집은 아이의 미래를 바꾼다
[전원 속의 내집] 집은 아이의 미래를 바꾼다풍경하임
 
Jaime Todd reference letter
Jaime Todd reference letterJaime Todd reference letter
Jaime Todd reference letterJaime Todd
 
Oogst masterclass conversie optimalisatie hoe optimaliseer je structureel j...
Oogst masterclass conversie optimalisatie   hoe optimaliseer je structureel j...Oogst masterclass conversie optimalisatie   hoe optimaliseer je structureel j...
Oogst masterclass conversie optimalisatie hoe optimaliseer je structureel j...Oogst
 
Content and UX stratergy presentation for me to we
Content and UX stratergy presentation for me to we Content and UX stratergy presentation for me to we
Content and UX stratergy presentation for me to we Salima Vastani
 
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...Innovation Network
 
Техника и технология полимерных материалов
Техника и технология полимерных материаловТехника и технология полимерных материалов
Техника и технология полимерных материаловАлександр Владыка
 
ХимБиоТех - Факультет химической технологии и биотехнологии
ХимБиоТех - Факультет химической технологии и биотехнологииХимБиоТех - Факультет химической технологии и биотехнологии
ХимБиоТех - Факультет химической технологии и биотехнологииАлександр Владыка
 
Что делать и когда, чтобы поступить в Политех 2017
Что делать и когда, чтобы поступить в Политех 2017Что делать и когда, чтобы поступить в Политех 2017
Что делать и когда, чтобы поступить в Политех 2017Александр Владыка
 

Viewers also liked (12)

My Cv 22-11-16 (1)
My Cv 22-11-16 (1)My Cv 22-11-16 (1)
My Cv 22-11-16 (1)
 
یادگارمرثیے
یادگارمرثیےیادگارمرثیے
یادگارمرثیے
 
[전원 속의 내집] 집은 아이의 미래를 바꾼다
[전원 속의 내집] 집은 아이의 미래를 바꾼다[전원 속의 내집] 집은 아이의 미래를 바꾼다
[전원 속의 내집] 집은 아이의 미래를 바꾼다
 
Ravish-e-Inqilab - II
Ravish-e-Inqilab - IIRavish-e-Inqilab - II
Ravish-e-Inqilab - II
 
Jaime Todd reference letter
Jaime Todd reference letterJaime Todd reference letter
Jaime Todd reference letter
 
Oogst masterclass conversie optimalisatie hoe optimaliseer je structureel j...
Oogst masterclass conversie optimalisatie   hoe optimaliseer je structureel j...Oogst masterclass conversie optimalisatie   hoe optimaliseer je structureel j...
Oogst masterclass conversie optimalisatie hoe optimaliseer je structureel j...
 
Wireless charging
Wireless chargingWireless charging
Wireless charging
 
Content and UX stratergy presentation for me to we
Content and UX stratergy presentation for me to we Content and UX stratergy presentation for me to we
Content and UX stratergy presentation for me to we
 
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...
#JAGUnity2014: DataViz for Philanthropists! Tips, Tools, and How-Tos for Comm...
 
Техника и технология полимерных материалов
Техника и технология полимерных материаловТехника и технология полимерных материалов
Техника и технология полимерных материалов
 
ХимБиоТех - Факультет химической технологии и биотехнологии
ХимБиоТех - Факультет химической технологии и биотехнологииХимБиоТех - Факультет химической технологии и биотехнологии
ХимБиоТех - Факультет химической технологии и биотехнологии
 
Что делать и когда, чтобы поступить в Политех 2017
Что делать и когда, чтобы поступить в Политех 2017Что делать и когда, чтобы поступить в Политех 2017
Что делать и когда, чтобы поступить в Политех 2017
 

Similar to Lean or agile, software architecture is fragile

Addressing performance issues with API monitoring
Addressing performance issues with API monitoringAddressing performance issues with API monitoring
Addressing performance issues with API monitoringJimmy Attia
 
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...Lviv Startup Club
 
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxPMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxChristoph Wolf
 
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...Association for Project Management
 
Salesforce Architecture framework, Martin Kona
Salesforce Architecture framework, Martin KonaSalesforce Architecture framework, Martin Kona
Salesforce Architecture framework, Martin KonaCzechDreamin
 
Prince 2 - Project Management principles
Prince 2  - Project Management principlesPrince 2  - Project Management principles
Prince 2 - Project Management principlesscharique01
 
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"ان
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"انالمحاضرة 150 بعنو"Introduction to BIM and BIM Management"ان
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"انEgyptian Engineers Association
 
Real-time Product Management
Real-time Product ManagementReal-time Product Management
Real-time Product ManagementTrong Tan Ho
 
Digital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile ScrumDigital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile Scrumtoamitkumar
 
The Final Activity in Project Management
The Final Activity in Project ManagementThe Final Activity in Project Management
The Final Activity in Project ManagementCIToolkit
 
Project Charter Components: The Power of the One-Page Document
Project Charter Components: The Power of the One-Page DocumentProject Charter Components: The Power of the One-Page Document
Project Charter Components: The Power of the One-Page DocumentCIToolkit
 
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)UK Government - Building A New World | NBS Breakfast Seminar (January 2017)
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)The NBS
 
Agile IT Project Management
Agile IT Project ManagementAgile IT Project Management
Agile IT Project ManagementSupreeth Rajan
 
Software architecture also needs agile
Software architecture also needs agileSoftware architecture also needs agile
Software architecture also needs agileBoyan Mihaylov
 
MA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make thingsMA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make thingsAmbassador Labs
 
ICEBERG: a different look at Software Project Management
ICEBERG: a different look at Software Project ManagementICEBERG: a different look at Software Project Management
ICEBERG: a different look at Software Project ManagementLuigi Buglione
 

Similar to Lean or agile, software architecture is fragile (20)

Addressing performance issues with API monitoring
Addressing performance issues with API monitoringAddressing performance issues with API monitoring
Addressing performance issues with API monitoring
 
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...
Panel Discussion: "Agile in new reality". Participants: Yuliia Pieskova, Olek...
 
Agile BIM Standards (Episode 6)
Agile BIM Standards (Episode 6)Agile BIM Standards (Episode 6)
Agile BIM Standards (Episode 6)
 
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptxPMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
PMI CH AMM2023 - Bye Bye Project Manager - SwissQ.pptx
 
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...
The Real Reason That Projects Fail and How to Fix it - An Introduction to Cri...
 
03_AgilePM.pptx
03_AgilePM.pptx03_AgilePM.pptx
03_AgilePM.pptx
 
Salesforce Architecture framework, Martin Kona
Salesforce Architecture framework, Martin KonaSalesforce Architecture framework, Martin Kona
Salesforce Architecture framework, Martin Kona
 
Prince 2 - Project Management principles
Prince 2  - Project Management principlesPrince 2  - Project Management principles
Prince 2 - Project Management principles
 
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"ان
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"انالمحاضرة 150 بعنو"Introduction to BIM and BIM Management"ان
المحاضرة 150 بعنو"Introduction to BIM and BIM Management"ان
 
Real-time Product Management
Real-time Product ManagementReal-time Product Management
Real-time Product Management
 
Six Sigma - The Journey of Quality and Management
Six Sigma - The Journey of Quality and Management Six Sigma - The Journey of Quality and Management
Six Sigma - The Journey of Quality and Management
 
Digital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile ScrumDigital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile Scrum
 
The Final Activity in Project Management
The Final Activity in Project ManagementThe Final Activity in Project Management
The Final Activity in Project Management
 
Project Charter Components: The Power of the One-Page Document
Project Charter Components: The Power of the One-Page DocumentProject Charter Components: The Power of the One-Page Document
Project Charter Components: The Power of the One-Page Document
 
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)UK Government - Building A New World | NBS Breakfast Seminar (January 2017)
UK Government - Building A New World | NBS Breakfast Seminar (January 2017)
 
Agile IT Project Management
Agile IT Project ManagementAgile IT Project Management
Agile IT Project Management
 
SDLC - Part 1
SDLC - Part 1SDLC - Part 1
SDLC - Part 1
 
Software architecture also needs agile
Software architecture also needs agileSoftware architecture also needs agile
Software architecture also needs agile
 
MA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make thingsMA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make things
 
ICEBERG: a different look at Software Project Management
ICEBERG: a different look at Software Project ManagementICEBERG: a different look at Software Project Management
ICEBERG: a different look at Software Project Management
 

More from Boyan Mihaylov

How WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularHow WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularBoyan Mihaylov
 
Crafting a robust deployment pipeline in finance
Crafting a robust deployment pipeline in financeCrafting a robust deployment pipeline in finance
Crafting a robust deployment pipeline in financeBoyan Mihaylov
 
Using improv techniques for better agile teams
Using improv techniques for better agile teamsUsing improv techniques for better agile teams
Using improv techniques for better agile teamsBoyan Mihaylov
 
Web assembly brings the web to a new era
Web assembly brings the web to a new eraWeb assembly brings the web to a new era
Web assembly brings the web to a new eraBoyan Mihaylov
 
Showdown CI/CD - TeamCity
Showdown CI/CD - TeamCityShowdown CI/CD - TeamCity
Showdown CI/CD - TeamCityBoyan Mihaylov
 
Stop the internet, i want to go offline
Stop the internet, i want to go offlineStop the internet, i want to go offline
Stop the internet, i want to go offlineBoyan Mihaylov
 
Is WebAssembly the killer of JavaScript?
Is WebAssembly the killer of JavaScript?Is WebAssembly the killer of JavaScript?
Is WebAssembly the killer of JavaScript?Boyan Mihaylov
 
Component-driven development with AngularJS
Component-driven development with AngularJSComponent-driven development with AngularJS
Component-driven development with AngularJSBoyan Mihaylov
 
Bringing the light to the client with KnockoutJS
Bringing the light to the client with KnockoutJSBringing the light to the client with KnockoutJS
Bringing the light to the client with KnockoutJSBoyan Mihaylov
 
Identifying methods for measuring emotions
Identifying methods for measuring emotionsIdentifying methods for measuring emotions
Identifying methods for measuring emotionsBoyan Mihaylov
 

More from Boyan Mihaylov (15)

How WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for AngularHow WebAssembly is changing the Web and what it means for Angular
How WebAssembly is changing the Web and what it means for Angular
 
Crafting a robust deployment pipeline in finance
Crafting a robust deployment pipeline in financeCrafting a robust deployment pipeline in finance
Crafting a robust deployment pipeline in finance
 
Using improv techniques for better agile teams
Using improv techniques for better agile teamsUsing improv techniques for better agile teams
Using improv techniques for better agile teams
 
Web assembly brings the web to a new era
Web assembly brings the web to a new eraWeb assembly brings the web to a new era
Web assembly brings the web to a new era
 
Showdown CI/CD - TeamCity
Showdown CI/CD - TeamCityShowdown CI/CD - TeamCity
Showdown CI/CD - TeamCity
 
Stop the internet, i want to go offline
Stop the internet, i want to go offlineStop the internet, i want to go offline
Stop the internet, i want to go offline
 
Shifting to agile
Shifting to agileShifting to agile
Shifting to agile
 
Is WebAssembly the killer of JavaScript?
Is WebAssembly the killer of JavaScript?Is WebAssembly the killer of JavaScript?
Is WebAssembly the killer of JavaScript?
 
Flux architecture
Flux architectureFlux architecture
Flux architecture
 
AngularJS 2.0
AngularJS 2.0AngularJS 2.0
AngularJS 2.0
 
To SPA or not to SPA
To SPA or not to SPATo SPA or not to SPA
To SPA or not to SPA
 
The AngularJS way
The AngularJS wayThe AngularJS way
The AngularJS way
 
Component-driven development with AngularJS
Component-driven development with AngularJSComponent-driven development with AngularJS
Component-driven development with AngularJS
 
Bringing the light to the client with KnockoutJS
Bringing the light to the client with KnockoutJSBringing the light to the client with KnockoutJS
Bringing the light to the client with KnockoutJS
 
Identifying methods for measuring emotions
Identifying methods for measuring emotionsIdentifying methods for measuring emotions
Identifying methods for measuring emotions
 

Recently uploaded

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 

Recently uploaded (20)

ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 

Lean or agile, software architecture is fragile

  • 1. Lean or Agile, Software Architecture Is Fragile Boyan Mihaylov @bmihaylov Agile Tour London 2015
  • 2. Traditional approach 2@bmihaylov | Agile Tour London 2015 Requirements analysis Design Development Testing Maintenance Software architecture
  • 3. General assumptions Requirements are well-defined and stable Development can fit into a predictable schedule Integration of the various components is predictable 3@bmihaylov | Agile Tour London 2015 1. 2. 3. Predictability Stability &
  • 4. Trying to predict the future is like trying to drive down a country road at night with no lights while looking out the back window. photo: www.dcrainmaker.com Peter Drucker “ ”
  • 5. Walking on water and developing software from a specification are easy if both are frozen. photo: www.planetsolar.org Edward V. Berard “ ”
  • 6. The Agile promises CHANGE It is all about reacting to Welcome changing requirements, even late in development Deliver working software frequently Reflect on how to become more effective photo: 7-themes.com
  • 8. What is software architecture? 8@bmihaylov | Agile Tour London 2015 [...] the fundamental organization of a SYSTEM embodied in its COMPONENTS, their RELATIONSHIPS to each other, and to the ENVIRONMENT, and the principles guiding its design and evolution. IEEE 1471
  • 9. The architecture is the skeleton of your system. photo thegraphicsfairy.com photo: Wikimedia.org
  • 10. Agile software architecture 10@bmihaylov | Agile Tour London 2015 Does it mean I can make significant architectural changes in the last moment? photo: bgfons.com
  • 11. Agile software architecture 11@bmihaylov | Agile Tour London 2015 Agile teams don't necessarily create agile software architectures A good architecture enables agility but Agility and the essence of software architecture, Simon Brown photo: bgfons.com
  • 12. Agile in practice Clean architecture Non-solo development Clean code Test-driven development Simple design Refactorying 12@bmihaylov | Agile Tour London 2015 rather very rare rather rare sometimes rather often source: http://agiledesign.org/2014/09/09/i-roadmap-to-an-agile-design/
  • 13. The software architect 13@bmihaylov | Agile Tour London 2015 Big picture thinking Focuses on compliance Produces models and blue prints Not so much hands-on
  • 14. The Scrum team 14@bmihaylov | Agile Tour London 2015 The Product Owner The Scrum Master The Development Team
  • 15. The Agile software architect 15@bmihaylov | Agile Tour London 2015 Balances big picture and details Focuses on sustainability Produces the necessaryto make informed decisions Hands-on experience
  • 16. When should I start? 16photo: athleticsmotivation.com Sprint 0?
  • 17. At the start 17@bmihaylov | Agile Tour London 2015 The architecture probably won’t be finished when the team starts working on the project That’s fine It might actually never get finished… That’s fine, too
  • 18. Start as early as possible Every meeting with a client should be attended of at least one @bmihaylov | Agile Tour London 2015 18
  • 19. Question everything @bmihaylov | Agile Tour London 2015 19 Clients do NOT know what they do not know Clients do NOT know what IT can do for them Clients do NOT know how to improve their status quo Clients do know what they do every day photo: idealistcareers.org
  • 20. The decision principle 20@bmihaylov | Agile Tour London 2015 Keep It Simple, Stupid You Aren’t Gonna Need It
  • 21. Decide at the most responsible moment, not at the last possible photo: wikimedia.org
  • 22. Documentation of the system Some people leave, some people come Future maintenance of the system Be able to justify your past decisions Write decisions down – every decision is important photo: www.popsugar.com
  • 23. How to do documentation @bmihaylov | Agile Tour London 2015 23 UML?People tend to ignore it
  • 24. How to do documentation @bmihaylov | Agile Tour London 2015 24 NoUMLEverything can be used to do documentation
  • 25. 25@bmihaylov | Agile Tour London 2015 Documentation of the system
  • 26. Agile Tour London 2015 26 Documentation of the system
  • 27. @bmihaylov | Agile Tour London 2015 27 Documentation of the system Core functionalities are described very quickly Visual representation of the future system Clients can see it on-the-fly and add input Can potentially include too many artifacts Can become chaotic Document content is hard to keep up-to-date
  • 28. @bmihaylov | Agile Tour London 2015 28 Developers should learn how to do sketches photo: thehippingpost.com
  • 29. The Lean movement 29@bmihaylov | Agile Tour London 2015 maximize customer value while minimizing waste www.lean.org “ ”
  • 30. Lean software development 30@bmihaylov | Agile Tour London 2015 Eliminate waste Decide as late as possible Deliver fast Deliver value
  • 31. @bmihaylov | Agile Tour London 2015 31
  • 32. 32 Thank you, London! @bmihaylov | Agile Tour London 2015 hey@boyan.in @bmihaylov After party