SlideShare a Scribd company logo
AGILE SOFTWARE ARCHITECTURE 
BOYAN MIHAYLOV 
// bm@ebita.dk 
// linkedin.com/in/bmihaylov
/ Introduction 
/ Software architecture 
/ System requirement specifications 
/ Software architecture documentation 
/ Agile software architecture 
/ Case example 
/ Conclusion 
/ Q & A 
2 
AGENDA
/ M.Sc. in Computer Science @ The University of Copenhagen (2013) 
/ 6+ years professional experience 
/ 2.5 years in Ebita 
/ Conference speaker 
/ Interests 
/ Software architecture 
/ Design patterns & architecture tactics 
/ API development 
/ Web 
3 
BOYAN MIHAYLOV
4 
EBITA 
10 years old 
12 employees today 
IT consultancy & concept development 
Part of Nørgård Mikkelsen since 2013
5 
OUR CUSTOMERS
/ Involves a flow 
/ Users have to go through a series of steps 
/ Data manipulation 
/ E.g. buying tickets or insurance 
/ Lasts around 2-3 months 
/ Often there are add-ons afterwards 
/ Is web-based 
/ MVC-style 
/ JavaScript, C#, SQL 
/ Integration of 3rd-party systems 
6 
A TYPICAL PROJECT
/ Over 90 definitions 
http://www.sei.cmu.edu/architecture/start/glossary/community.cfm 
/ As defined by IEEE 1471 
/ Set of decisions, governed by a context 
/ An abstraction of a system 
7 
SOFTWARE ARCHITECTURE 
Architecture is 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.
/ Start as early as possible 
/ Get-to-know-the-system process 
/ Questions to ask: 
/ Who are the stakeholders? Is it B2B or B2C? 
/ How many users are going to use the system? 
/ Are there external systems to be involved? 
/ What information will be managed, stored, and presented? 
/ What is the most important function of the system? 
/ How many environments are necessary? (development, test, production, etc.) 
/ Where will the system be hosted? Any special requirements for access? VPN? 
8 
THE BEGINNING
/ Any kind of documentation that specifies what the system should do 
/ Word documents 
/ Wireframes/drawings that describe the desired functionalities 
/ Post-it notes 
/ White board notes 
/ Photo shots 
/ Details – depend on the project 
9 
SPECIFICATION OF THE SYSTEM
/ Advantages 
/ Core functionalities are described very quickly 
/ Visual representation (even a simple one) of the future system 
/ Customer can see it on-the-fly and add input 
/ Disadvantages 
/ Can potentially include too many and too different artifacts 
/ Can become chaotic 
/ Documents are often left with old content due to time/resource limitations 
10 
SPECIFICATION OF THE SYSTEM (2)
/ Motivation 
/ Write decisions down 
/ People leave projects, people join projects 
/ Future maintenance of the system 
/ Challenges 
/ How to document many views? 
/ How to keep documents up-to-date? 
/ UML? 
/ KISS principle (keep it simple, stupid) 
11 
DOCUMENTING THE ARCHITECTURE
12 
EXAMPLES
13 
EXAMPLES (2)
/ Requirements change constantly 
/ Priorities among tasks too 
/ Customers want to see how we progress 
/ Use iterations 
/ SCRUM-based approach 
/ Constant communication 
/ Find problems as early as possible 
/ Pair programming 
14 
AGILE SOFTWARE ARCHITECTURE
15 
WATERFALL VS. ITERATIONS 
http://www.ibm.com/developerworks/rational/library/4029. 
html
16 
CASE EXAMPLE
A big company wants to have a new web system to sell tickets for ferries. They already 
have an administrative system used internally for managing all the inventory. This system 
exposes a web service for external communication. The company wants a decoupled 
website so that the back-end can easily be rewritten in other programming language in 
the future. 
17 
REQUIREMENTS
/ Issues 
/ The provided inventory web service has some limitations related to the provided data 
/ It requires an access token to be obtained and refreshed on a regular basis 
18 
1ST ITERATION
/ Issues 
/ The provided inventory web service is very slow 
/ If it is stressed “too much”, it stops functioning 
19 
2ND ITERATION
/ Issues 
/ The customer complains about sold-out tickets offered to buyers 
20 
3RD ITERATION
21 
4TH ITERATION
/ Start simple, grow slowly 
/ Add complexity only when needed 
/ Try to postpone it as much as possible 
/ Do NOT predict the future, it changes a lot 
/ Write your code such that changes can happen ”painlessly” 
/ Document important decisions 
/ You will regret not doing this at a later point 
22 
TAKE-AWAY TIPS
23 
Q & A

More Related Content

PDF
Lean or agile, software architecture is fragile
PDF
Architecting for Hyper Growth and Great Engineering Culture
PPTX
Scrum Project Management with Jira as showcase
PPTX
JCNC13 Application Lifecycle Management
PPTX
Managing Security in Agile Culture
PPTX
Autdoesk PLM 360 to PDM Integration with Jitterbit
PPTX
ALM iStack - Application Lifecycle Management using Linked Data
PPTX
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery
Lean or agile, software architecture is fragile
Architecting for Hyper Growth and Great Engineering Culture
Scrum Project Management with Jira as showcase
JCNC13 Application Lifecycle Management
Managing Security in Agile Culture
Autdoesk PLM 360 to PDM Integration with Jitterbit
ALM iStack - Application Lifecycle Management using Linked Data
[Rakuten TechConf2014] [Fukuoka] Technologies that underlie service delivery

What's hot (20)

PPTX
Use of Jira Confluence as Project Management Tool
PPTX
Application Lifecycle Management with Visual Studio 2013
PDF
An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...
PPT
Using JIRA Software for Issue Tracking
PPTX
Managing CATIA V5 in PDM... Simply for COE Ask The Expert
PDF
Agile Requirements - Dag voor de Requirements Engineer - DiVetro
PDF
Implement OpenSAMM on blibli.com
PPTX
Connecting SolidWorks EPDM and ENOVIA V6
PDF
Is Being Agile a Good Thing?
PPTX
Building environment of #UserDevOps and not only DevOps
PPTX
Open Source PLM
PPTX
Agile methodology in cloud computing
PPTX
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
PPTX
Inflectra Partner Program 2022
PPTX
Jira Training
PDF
Re-Platforming Legacy .Net Applications to PCF Using Modernized Techniques
PPTX
Application Lifecycle Management with Team Foundation Server
PPTX
Spira Admin 1: Introduction
PDF
Agile Development – Why requirements matter by Fariz Saracevic
PDF
Three Uses Of JIRA Beyond Bug Tracking
Use of Jira Confluence as Project Management Tool
Application Lifecycle Management with Visual Studio 2013
An Introduction to Enterprise Architecture Visual Modeling with The ArchiMate...
Using JIRA Software for Issue Tracking
Managing CATIA V5 in PDM... Simply for COE Ask The Expert
Agile Requirements - Dag voor de Requirements Engineer - DiVetro
Implement OpenSAMM on blibli.com
Connecting SolidWorks EPDM and ENOVIA V6
Is Being Agile a Good Thing?
Building environment of #UserDevOps and not only DevOps
Open Source PLM
Agile methodology in cloud computing
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
Inflectra Partner Program 2022
Jira Training
Re-Platforming Legacy .Net Applications to PCF Using Modernized Techniques
Application Lifecycle Management with Team Foundation Server
Spira Admin 1: Introduction
Agile Development – Why requirements matter by Fariz Saracevic
Three Uses Of JIRA Beyond Bug Tracking
Ad

Viewers also liked (20)

PPTX
Basics of Software Architecture for .NET Developers
PDF
Jumping Into WordPress Plugin Programming
PPTX
Eclipse Overview
KEY
Writing your Third Plugin
PDF
Best Practices in Plugin Development (WordCamp Seattle)
PDF
Building GPE: What We Learned
PDF
A Simple Plugin Architecture for Wicket
KEY
jQuery Plugin Creation
PPTX
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
PPTX
Software Architecture Reconstruction: Why What and How
PPTX
Software Architecture Patterns
PPTX
Configuration as Code: The Job DSL Plugin
PDF
So, you want to be a plugin developer?
PDF
Building an Eclipse plugin to recommend changes to developers
PDF
An easy guide to Plugin Development
PDF
Software Architecture: Design Decisions
PDF
Principles of software architecture design
PPTX
Software Architecture vs design
PPTX
Software Architecture and Design - An Overview
PPTX
A Software Architect's View On Diagramming
Basics of Software Architecture for .NET Developers
Jumping Into WordPress Plugin Programming
Eclipse Overview
Writing your Third Plugin
Best Practices in Plugin Development (WordCamp Seattle)
Building GPE: What We Learned
A Simple Plugin Architecture for Wicket
jQuery Plugin Creation
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
Software Architecture Reconstruction: Why What and How
Software Architecture Patterns
Configuration as Code: The Job DSL Plugin
So, you want to be a plugin developer?
Building an Eclipse plugin to recommend changes to developers
An easy guide to Plugin Development
Software Architecture: Design Decisions
Principles of software architecture design
Software Architecture vs design
Software Architecture and Design - An Overview
A Software Architect's View On Diagramming
Ad

Similar to Agile software architecture (20)

PPTX
Agile architecture upload
KEY
Agile Architecture (MAE slides)
PDF
Picking the right architecture and sticking to it
PPT
Evolutionary Architecture And Design
PDF
10 Hinweise für Architekten
PDF
Clarisoft Software Development Process (Lunch & Learn Presentation)
PDF
Ten Advices for Architects
PPTX
Software Engineering Architectural Design
PPTX
Modern software architect post the agile wave
PDF
Software Architecture - All you need to know
PPT
Software Architecture
PDF
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
PPTX
NISI Agile Software Architecture Slide Deck
PPTX
Introduction to Modern Software Architecture
PPTX
PDF
01 Introduction to SDA 2.pdf software architecture
PPT
SW Architecture Monolithic to SOA
PPT
Final wireframes from screen concept to user interaction v0.4
PPTX
L02 Architecture
ODP
Software Patterns
Agile architecture upload
Agile Architecture (MAE slides)
Picking the right architecture and sticking to it
Evolutionary Architecture And Design
10 Hinweise für Architekten
Clarisoft Software Development Process (Lunch & Learn Presentation)
Ten Advices for Architects
Software Engineering Architectural Design
Modern software architect post the agile wave
Software Architecture - All you need to know
Software Architecture
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
NISI Agile Software Architecture Slide Deck
Introduction to Modern Software Architecture
01 Introduction to SDA 2.pdf software architecture
SW Architecture Monolithic to SOA
Final wireframes from screen concept to user interaction v0.4
L02 Architecture
Software Patterns

More from Boyan Mihaylov (16)

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

Recently uploaded (20)

PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
AI in Product Development-omnex systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Understanding Forklifts - TECH EHS Solution
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
ai tools demonstartion for schools and inter college
PDF
Nekopoi APK 2025 free lastest update
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
L1 - Introduction to python Backend.pptx
PDF
Digital Strategies for Manufacturing Companies
2025 Textile ERP Trends: SAP, Odoo & Oracle
Wondershare Filmora 15 Crack With Activation Key [2025
AI in Product Development-omnex systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Understanding Forklifts - TECH EHS Solution
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
ai tools demonstartion for schools and inter college
Nekopoi APK 2025 free lastest update
Upgrade and Innovation Strategies for SAP ERP Customers
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PTS Company Brochure 2025 (1).pdf.......
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
L1 - Introduction to python Backend.pptx
Digital Strategies for Manufacturing Companies

Agile software architecture

  • 1. AGILE SOFTWARE ARCHITECTURE BOYAN MIHAYLOV // bm@ebita.dk // linkedin.com/in/bmihaylov
  • 2. / Introduction / Software architecture / System requirement specifications / Software architecture documentation / Agile software architecture / Case example / Conclusion / Q & A 2 AGENDA
  • 3. / M.Sc. in Computer Science @ The University of Copenhagen (2013) / 6+ years professional experience / 2.5 years in Ebita / Conference speaker / Interests / Software architecture / Design patterns & architecture tactics / API development / Web 3 BOYAN MIHAYLOV
  • 4. 4 EBITA 10 years old 12 employees today IT consultancy & concept development Part of Nørgård Mikkelsen since 2013
  • 6. / Involves a flow / Users have to go through a series of steps / Data manipulation / E.g. buying tickets or insurance / Lasts around 2-3 months / Often there are add-ons afterwards / Is web-based / MVC-style / JavaScript, C#, SQL / Integration of 3rd-party systems 6 A TYPICAL PROJECT
  • 7. / Over 90 definitions http://www.sei.cmu.edu/architecture/start/glossary/community.cfm / As defined by IEEE 1471 / Set of decisions, governed by a context / An abstraction of a system 7 SOFTWARE ARCHITECTURE Architecture is 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.
  • 8. / Start as early as possible / Get-to-know-the-system process / Questions to ask: / Who are the stakeholders? Is it B2B or B2C? / How many users are going to use the system? / Are there external systems to be involved? / What information will be managed, stored, and presented? / What is the most important function of the system? / How many environments are necessary? (development, test, production, etc.) / Where will the system be hosted? Any special requirements for access? VPN? 8 THE BEGINNING
  • 9. / Any kind of documentation that specifies what the system should do / Word documents / Wireframes/drawings that describe the desired functionalities / Post-it notes / White board notes / Photo shots / Details – depend on the project 9 SPECIFICATION OF THE SYSTEM
  • 10. / Advantages / Core functionalities are described very quickly / Visual representation (even a simple one) of the future system / Customer can see it on-the-fly and add input / Disadvantages / Can potentially include too many and too different artifacts / Can become chaotic / Documents are often left with old content due to time/resource limitations 10 SPECIFICATION OF THE SYSTEM (2)
  • 11. / Motivation / Write decisions down / People leave projects, people join projects / Future maintenance of the system / Challenges / How to document many views? / How to keep documents up-to-date? / UML? / KISS principle (keep it simple, stupid) 11 DOCUMENTING THE ARCHITECTURE
  • 14. / Requirements change constantly / Priorities among tasks too / Customers want to see how we progress / Use iterations / SCRUM-based approach / Constant communication / Find problems as early as possible / Pair programming 14 AGILE SOFTWARE ARCHITECTURE
  • 15. 15 WATERFALL VS. ITERATIONS http://www.ibm.com/developerworks/rational/library/4029. html
  • 17. A big company wants to have a new web system to sell tickets for ferries. They already have an administrative system used internally for managing all the inventory. This system exposes a web service for external communication. The company wants a decoupled website so that the back-end can easily be rewritten in other programming language in the future. 17 REQUIREMENTS
  • 18. / Issues / The provided inventory web service has some limitations related to the provided data / It requires an access token to be obtained and refreshed on a regular basis 18 1ST ITERATION
  • 19. / Issues / The provided inventory web service is very slow / If it is stressed “too much”, it stops functioning 19 2ND ITERATION
  • 20. / Issues / The customer complains about sold-out tickets offered to buyers 20 3RD ITERATION
  • 22. / Start simple, grow slowly / Add complexity only when needed / Try to postpone it as much as possible / Do NOT predict the future, it changes a lot / Write your code such that changes can happen ”painlessly” / Document important decisions / You will regret not doing this at a later point 22 TAKE-AWAY TIPS
  • 23. 23 Q & A

Editor's Notes

  • #9: - The first meetings with the customer also include one UX and developer