SlideShare a Scribd company logo
BRILLIANT SOFTWARE
ARCHITECTURE
OR HOW TO BUILD GOOD
SOFTWARE
ME
Matthias Gronwald, Technical Director
matthias.gronwald@turbinekreuzberg.com
15+ years web developer
10+ years eCommerce
(Developement, Technical PM, Technical PO,
Solution Architecture, DevOps, Administration,
Requirements Engineering, ...)
Projekttitel             30. Juni 2017
WHAT MAKES GOOD
SOFTWARE?
Projekttitel             30. Juni 2017 Kapitel
Well crafted
• Needs architecture
• Flexible
• Robust
• Easy to maintain
Does exactly what it should do
• Application behaviour
• Fulfils clients needs
What makes good software?
Projekttitel             30. Juni 2017
REQUIREMENTS
Projekttitel             30. Juni 2017 Kapitel
• Less assumptions more asking
• Question complexity
• Use cases are fun
• Happy path first
• Requirements will change — always
Requirements
Projekttitel             30. Juni 2017
BE AGILE
Projekttitel             30. Juni 2017 Kapitel
• Setup agile process
• Define release cycles
• Scope releases
• Involve client early
• Also possible for classical projects
with fixed deadline and budget
Be agile
Projekttitel             30. Juni 2017
DESIGN FOR CHANGE?
Projekttitel             30. Juni 2017 Kapitel
Don‘t
• Premature optimization based on
assumptions
Do
• Split up and modularize
Design for change?
Projekttitel             30. Juni 2017
BE MODULAR
Projekttitel             30. Juni 2017 Kapitel
On application level
• Identify subject areas and functional
components that could be replaceable
• No monolith — implement identified
components independent from each
other (nearly)
• Think Microservices and DDD
On code level
• Loose coupling
• Interfaces
• Think SOLID design principles
Be modular
Projekttitel             30. Juni 2017 Kapitel
What about dependencies?
• Build contracts
• JSON Schema
• XML Schema
• Interfaces
• DTOs / Transfer objects
Projekttitel             30. Juni 2017
BE INCREMENTAL
Projekttitel             30. Juni 2017 Kapitel
• Do not head for the best solution that
would fit all possible future problems
you are going to expect
• Head for the best solution you can
come up for your current problem
• Adapt and extend only when needed
• Evolving order principle / less is more
• Do Spikes if you are unsure about
some implementation approach
Be incremental
Projekttitel             30. Juni 2017
TEST ALL THE THINGS
Projekttitel             30. Juni 2017 Kapitel
• Tests are the key to flexible and robust
Software
• Increase the maturity in your Software
• Enables possibility to change things
• Add layer of security
• Also for legacy code
• Try to practice Test Driven
Development
Test all the things
Projekttitel             30. Juni 2017
BUILD PIPELINE
Projekttitel             30. Juni 2017 Kapitel
• Enables regular automated testing
• Provides metrics on code quality
• Continuous integration
• Increases software quality
Build Pipeline
Projekttitel             30. Juni 2017
GREAT POSSIBILITIES
Projekttitel             30. Juni 2017 Kapitel
• Experience of more than 5 decades of
software development available in
books, papers, talks etc.
• Exciting technologies and tools (VMs,
Containers, Frameworks) only recently
• Now starts the time to write good
software
Great possibilities
Projekttitel             30. Juni 2017
SUMMARY
Projekttitel             30. Juni 2017 Kapitel
• Requirements change constantly
• It needs an agile process to deal with
that
• We need to follow a modular approach
to software
• Tests enable change
• No tests without a pipeline
• So many possibilities — No excuses
anymore
Summary
Projekttitel             30. Juni 2017
MUITO OBRIGADO
Turbine Kreuzberg GmbH
Ohlauer Straße 43
10999 Berlin
MUITO OBRIGADO
Contact
matthias.gronwald@turbinekreuzberg.com
Book recommendations
• Clean Code by Robert „Uncle Bob“ C. Martin
• Code Complete: A Practical Handbook of
Software Construction by Steve McDonnell
• The Pragmatic Programmer by Andrew Hunt,
David Thomas and Ward Cunningham

More Related Content

PDF
Lean wisdom - How to develop an insurance webshop in 6 months
PDF
Mini LeSS Huge
PDF
Building Lean and Agile in the Real World
PDF
"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)
PDF
Tricks to get the most out of your DevOps
PDF
PPTX
Metrics To Support An Agile Transformation
PPTX
Let's Talk DevOps
Lean wisdom - How to develop an insurance webshop in 6 months
Mini LeSS Huge
Building Lean and Agile in the Real World
"How we make Agile and CI/CD works" by Rendra Toro (OLX Indonesia)
Tricks to get the most out of your DevOps
Metrics To Support An Agile Transformation
Let's Talk DevOps

What's hot (20)

PPTX
Barabara Sanders SpringOne Platform keynote
PPTX
WEBINAR: How you can implement continuous delivery and deliver software faster
PDF
Introducing Agile to Product Teams
PDF
Boosting your SW development with Devops
PDF
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
PPTX
What can we do to create more Efficient Model Based Collaboration
PDF
Five ways continuous delivery can be a product managers superpower empower b...
PPTX
Accept innovation jam pcamp 2011
PPTX
Agile Development Methodology: 10 Important Principles
 
PPTX
Agile Management with ITPP
PPTX
Agile Metrics Meetup: What to Measure and How?
PPTX
Building Agility Brick by Brick : A report on how Agile imbibed successfully ...
PDF
How to sell SilverStripe in the enterprise and public sector markets - Stripe...
PPTX
UX in a Dual Track Agile World
PPT
Fishbowl Opc.Com Presentation
PDF
"The Agile Journey in Jenius" by Wijayawati Yip (Jenius)
DOCX
VPLinit
PPTX
How we use Silverstripe CMS to deliver bilingual and accessible websites
PPTX
From dysfunction to cross function in 8,593 easy steps- team building at the cbc
PDF
Usa prácticas de integración continua y sobrevive para luchar otro día.
Barabara Sanders SpringOne Platform keynote
WEBINAR: How you can implement continuous delivery and deliver software faster
Introducing Agile to Product Teams
Boosting your SW development with Devops
Dicoding Developer Coaching #38: Android | 5 Library Android yang Patut Kamu ...
What can we do to create more Efficient Model Based Collaboration
Five ways continuous delivery can be a product managers superpower empower b...
Accept innovation jam pcamp 2011
Agile Development Methodology: 10 Important Principles
 
Agile Management with ITPP
Agile Metrics Meetup: What to Measure and How?
Building Agility Brick by Brick : A report on how Agile imbibed successfully ...
How to sell SilverStripe in the enterprise and public sector markets - Stripe...
UX in a Dual Track Agile World
Fishbowl Opc.Com Presentation
"The Agile Journey in Jenius" by Wijayawati Yip (Jenius)
VPLinit
How we use Silverstripe CMS to deliver bilingual and accessible websites
From dysfunction to cross function in 8,593 easy steps- team building at the cbc
Usa prácticas de integración continua y sobrevive para luchar otro día.
Ad

Similar to Brilliant Software Architecture or How to Build Good Software (20)

PPT
Software Development in 21st Century
PDF
_ The Ultimate Guide to Software Development_ Steps, Services, and Top Techno...
PPTX
Architecture In An Agile World
PPTX
Originate - Think In Hours Not Sprints
PDF
Software Architecture Development Proposal PowerPoint Presentation Slides
PDF
How Custom Software Development is Transforming the Traditional Business Prac...
PDF
Random thoughts and dev practices / advices to build a great product
PPTX
Kylin Engineering Principles
PPTX
Agile architecture upload
PDF
Evolving Software Patterns
PPTX
Software Engineering Primer
PPTX
Agile product development
PDF
Term paper Software Development and Innovation UMB School Of Business And Eco...
PDF
infox technologies
PPT
Quality Software Development
PDF
Software development process
PDF
How to become a better developer?
PDF
Deep Dive into the Idea of Software Architecture
PPTX
Lect3 conventional vs modern spm
PPTX
App Arch Guide (Dons)
Software Development in 21st Century
_ The Ultimate Guide to Software Development_ Steps, Services, and Top Techno...
Architecture In An Agile World
Originate - Think In Hours Not Sprints
Software Architecture Development Proposal PowerPoint Presentation Slides
How Custom Software Development is Transforming the Traditional Business Prac...
Random thoughts and dev practices / advices to build a great product
Kylin Engineering Principles
Agile architecture upload
Evolving Software Patterns
Software Engineering Primer
Agile product development
Term paper Software Development and Innovation UMB School Of Business And Eco...
infox technologies
Quality Software Development
Software development process
How to become a better developer?
Deep Dive into the Idea of Software Architecture
Lect3 conventional vs modern spm
App Arch Guide (Dons)
Ad

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
L1 - Introduction to python Backend.pptx
PDF
medical staffing services at VALiNTRY
PDF
Digital Systems & Binary Numbers (comprehensive )
PPT
Introduction Database Management System for Course Database
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administraation Chapter 3
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
VVF-Customer-Presentation2025-Ver1.9.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Wondershare Filmora 15 Crack With Activation Key [2025
Softaken Excel to vCard Converter Software.pdf
Design an Analysis of Algorithms I-SECS-1021-03
L1 - Introduction to python Backend.pptx
medical staffing services at VALiNTRY
Digital Systems & Binary Numbers (comprehensive )
Introduction Database Management System for Course Database
Understanding Forklifts - TECH EHS Solution
Adobe Illustrator 28.6 Crack My Vision of Vector Design
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Computer Software and OS of computer science of grade 11.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administraation Chapter 3
Operating system designcfffgfgggggggvggggggggg
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free

Brilliant Software Architecture or How to Build Good Software