Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015

Mozaic Works
Mozaic WorksMozaic Works
Simon Brown
@simonbrown
Software Architecture
as Code
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Jersey
Jersey
Jersey
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
I help software teams understand
software architecture,
technical leadership and
the balance with agility
Software architecture
needs to be more
accessible
A developer-friendly guide to software architecture,
technical leadership and the balance with agility
I code too
⇧ ; - ⇧ 0
The intersection between
software
architecture
and
code
How do we
communicate
software architecture?
The tension between
software architecture
and code
It’s usually difficult to
show the entire design on
a single diagram
Different views of
the design can be used to
manage complexity and
highlight different
aspects of the solution
Software architecture deals with
abstraction, with decomposition and
composition, with style and esthetics.
To describe a software
architecture, we use a
model composed of multiple
views or perspectives.
Architectural Blueprints—The “4+1” View Model of Software Architecture
by Philippe Kruchten
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Do the names
of those views make sense?
Development vs Physical
Process vs Functional
Conceptual vs Logical
Development vs Implementation
Physical vs Implementation
Physical vs Deployment
Logical and
development
views are often
separated
Brain
freeze!
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
9 out of 10 people
don’t use UML
(in my experience)
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
In my experience,
software teams
aren’t able to
effectively
communicate
the software
architecture
of their systems
The Airline Route Map
Generically True
Homeless Old C# Object (HOCO)
Choose your own adventure
Would we
code
it that way?
Did we
code
it that way?
Abstraction
is about reducing detail
rather than creating a different representation
Abstractions help us
reason about
a big and/or complex
software system
Does your code reflect the
abstractions
that you think about?
We often think
in components
but write classes
(usually in layers)
Package by layer (horizontal slicing)
Presentation
layer
Business
layer
Data
layer
Controller BController A
Data Access
A
Data Access
B
Service BService A
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Package by layer (horizontal slicing)
Presentation
layer
Business
layer
Data
layer
Controller BController A
Data Access
A
Data Access
B
Service BService A
Controller C
Service C
Data Access
C
Hexagons
and onions
Should layers be
considered
harmful?
Are layers significant
structural
elements
or just an
implementation
detail?
Package by feature (vertical slicing)
Feature Set BFeature Set A
Controller BController A
Data Access
A
Data Access
B
Service BService A
Organisation
of code
vs
the architectural views
“the model-code gap”
Sketches get out of date,
so why not
auto-generate
the diagrams?
Diagramming tools see
packages
and classes
rather than components
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Describing
software
architecture
“Modules, components
and connectors”
Is this vocabulary
in common use?
“This is a component
of our system”
says one developer to another,
pointing to a box on a diagram
labelled “Web Application”
A common set of
abstractions
is more important than
a common notation
Agree on a simple set of abstractions
that the whole team can use to communicate
Class Class Class
Component Component Component
Container
(e.g. web application, application server, standalone application,
browser, database, file system, etc)
Cont
(e.g. web application
browser, databas
ainer
file system, etc)
Software System
The C4 model
Classes
Component or pattern implementation details
System Context
The system plus users and system dependencies
Containers
The overall shape of the architecture and technology choices
Components
Logical components and their interactions within a container
Context
•What are we
building?
•Who is using it?
(users, actors, roles,
personas, etc)
•How does it fit into
the existing IT
environment?
(systems, services, etc)
Containers
•What are the high-
level technology
decisions? (including
responsibilities)
•How do containers
communicate with one
another?
•As a developer, where
do I need to write
code?
Components
•What components/
services is the
container made up of?
•Are the technology
choices and
responsibilities clear?
A notationless notation
(whiteboard and sticky note friendly,
supplemented with colour coding)
My Web Application
[Container: Apache Tomcat 7.x]
Here is a list of the key
responsibilities for my
web application.
Classes
Component or pattern
implementation details
System Context
The system plus users
and system dependencies
Containers
The overall shape of the architecture
and technology choices
Components
Logical components and their
interactions within a container
Overview
first
Zoom and
filter
Details
on demand
Shneiderman’s mantra
Diagrams are maps
that help a team navigate a complex codebase
Think about the
target
audience
Non-technical Semi-technical Very technical
C4++Enterprise context
User interface mockups and wireframes
Domain model
Sequence and collaboration diagrams
Business process and workflow models
Infrastructure model
Deployment model
...
4+1 architectural view model
Philippe Kruchten
Software Systems Architecture
Working with Stakeholders Using
Viewpoints and Perspectives (2nd Edition)
Nick Rozanski and Eoin Woods
Static
Model
(at different levels
of abstraction)
Runtime/
Behavioural
Deployment
Infrastructure
Operation
& Support
Data
C4 is about the
static structure
of software, which is ultimately about
code
Software developers are
the most important
stakeholders
of software architecture
Components?
What is a
“component”?
Spring PetClinic
https://github.com/spring-projects/spring-petclinic/
3-profiles-
jdbc-
default-(JPA)-
Spring-Data-JPA-
Repository
Service
@Cacheable-
@TransacGonal-
Controller
Bean-ValidaGon-
Spring-@MVC-annotaGons-
Views
Bootstrap-(CSS)-
JSP-with--
custom-tags- Thymeleaf-
Dandelion-webjars-
| |
&&&&+
https://speakerdeck.com/michaelisvy/
spring-petclinic-sample-application
An auto-
generated
UML class
diagram
What are the
architecturally
significant
elements?
A UML class diagram showing
architecturally significant elements
A component
diagram,
based upon
the code
How do we do this?
Can we extract the software architecture model
from the code?
How do we create living documentation?
What is the relationship between architecture,
coding and testing?
Will I talk about microservices?
Why is this important?
The intersection of
software architecture
and code
Merge
the code
and the model?
Abstractions
on diagrams
should reflect the
code
“architecturally-evident
coding style”
(subclassing, naming conventions, module dependencies, package structure, …)
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
What’s a “component”?
Package by component
Component B
Feature Set BFeature Set A
Component A
Controller BController A
Data Access
A
Data Access
B
Service BService A
What’s a “component”?
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Architecturally-evident
coding styles include:
Annotations/attributes (@Component, [Component], etc)
Naming conventions (*Service)
Namespacing/packaging
(com.mycompany.system.components.*)
Maven modules, OSGi modules,
microservices, etc
Modularity
as a principle
Software
architecture
vs testing
(a quick aside)
“In the early days of computing when computers
were slow, unit tests gave the developer more
immediate feedback about whether a change
broke the code instead of waiting for system tests
to run. Today, with cheaper and more powerful
computers, that argument is less persuasive.”
“do not let your tests
drive your design”
What’s a “component”?
Instead of blindly unit testing
everything, what about
testing your significant
structural elements
as black boxes?
Do we need to rethink the testing pyramid?
UI and
functional
Integration
Unit
Architecturally-aligned testing
(and a reshaped testing pyramid)
Class Tests
Tests focused on individual classes and
methods, sometimes by mocking out
dependencies (typically referred to as
“unit” tests)
Component and Service Tests
Tests focused on components and services
through their public interface (often
referred to as “integration” tests)
System Tests
UI, API, functional and
acceptance tests
(“end-to-end” tests)
Software architecture
as code
The code is the
embodiment
of the architecture
Is the architecture
in the code?
In practice, architecture is
embodied and recoverable
from code, and many
languages provide architecture-
level views of the system.
A Survey of Architecture Description Languages
by Paul C. Clements
Context
Software
Systems
Integration points, APIs,
known libraries, credentials
for inbound consumers, etc.
Containers
IDE projects/modules, build
output (code and
infrastructure), etc.
People
Security groups/roles in
configuration files, etc.
Components
Extractable from the code if
an architecturally-evident
coding style has been
adopted.
Containers
Software
Systems
Integration points, APIs,
known libraries, credentials
for inbound consumers, etc.
Containers
IDE projects/modules, build
output (code and
infrastructure), etc.
People
Security groups/roles in
configuration files, etc.
Components
Extractable from the code if
an architecturally-evident
coding style has been
adopted.
Components
Software
Systems
Integration points, APIs,
known libraries, credentials
for inbound consumers, etc.
Containers
IDE projects/modules, build
output (code and
infrastructure), etc.
People
Security groups/roles in
configuration files, etc.
Components
Extractable from the code if
an architecturally-evident
coding style has been
adopted.
Extract as much of the software
architecture from the code as possible,
and supplement
where necessary
Create an architecture
description language
using code
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Structurizr
for Java
(open source on GitHub)
Structurizr
Simple, versionable,
up-to-date and scalable
software architecture
models from code
Spring PetClinic - System Context
Spring PetClinic - Containers
Spring PetClinic
- Web Application
- Components
A model as code provides opportunities…
…and build pipeline integration keeps
software architecture models up-to-date
Software
architecture
really is
for developers
:-)
The point of this?
Maintainability is
inversely proportional
to the number of
public classes
dependencies
microservices[ ]
A good
architecture
enables
agility
Monolithic
architecture
Service-based
architecture
(SOA, micro-services, etc)
Something in between
(components)
Agility
is a
quality attribute
If you can’t build a
structured
monolith,
what makes you think
microservices is the answer!?
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Well-defined, in-process components is a
stepping stone to out-of-process components
(i.e. microservices)
From components
to microservices
High cohesion
Low coupling
Focussed on a business capability
Bounded context or aggregate
Encapsulated data
Substitutable
Composable
<- All of that plus
Individually deployable
Individually upgradeable
Individually replaceable
Individually scalable
Heterogeneous technology stacks
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Choose
microservices for
the benefits,
not because your monolithic
codebase is a mess :-)
If your software system
is hard to work with,
change it!
Think about how to align the
software
architecture
and the
code
Be conscious of the software
architecture model … adopt an
architecturally-evident
coding style
Stop making every class
public
1 RON charity donation
every time you type
without thinking :-)
public class
simon.brown@codingthearchitecture.com
@simonbrown on Twitter
If the software architecture
model is in the code,
it can be extracted
from the code
1 of 129

Recommended

ASAS 2014 - Simon Brown by
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownAvisi B.V.
1.2K views77 slides
The Art of Visualising Software - Simon Brown by
The Art of Visualising Software - Simon BrownThe Art of Visualising Software - Simon Brown
The Art of Visualising Software - Simon BrownValtech UK
2.5K views58 slides
Architecture: where do you start? by
 Architecture: where do you start? Architecture: where do you start?
Architecture: where do you start?Skills Matter
2.4K views72 slides
Software architecture for developers by Simon Brown by
Software architecture for developers by Simon BrownSoftware architecture for developers by Simon Brown
Software architecture for developers by Simon BrownCodemotion
5K views86 slides
Fundamentals Of Software Architecture by
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software ArchitectureMarkus Voelter
23.7K views64 slides
Software Architecture vs design by
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
17K views50 slides

More Related Content

What's hot

Software Architecture Course - Part III Taxonomies - Definitions by
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsJose Emilio Labra Gayo
3.6K views39 slides
What a Good Software Architect Does by
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect DoesEberhard Wolff
3.6K views40 slides
Refactoring for Software Architecture Smells by
Refactoring for Software Architecture SmellsRefactoring for Software Architecture Smells
Refactoring for Software Architecture SmellsGanesh Samarthyam
2.9K views55 slides
The Modern Software Architect by
The Modern Software ArchitectThe Modern Software Architect
The Modern Software ArchitectNiels Bech Nielsen
6.1K views45 slides
Software Architecture Taxonomies - Behaviour: Components & Connectors by
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & ConnectorsJose Emilio Labra Gayo
2.6K views171 slides
Architecture vs Design by
Architecture vs DesignArchitecture vs Design
Architecture vs DesignLuc Trudeau
4K views39 slides

What's hot(20)

Software Architecture Course - Part III Taxonomies - Definitions by Jose Emilio Labra Gayo
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
What a Good Software Architect Does by Eberhard Wolff
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect Does
Eberhard Wolff3.6K views
Refactoring for Software Architecture Smells by Ganesh Samarthyam
Refactoring for Software Architecture SmellsRefactoring for Software Architecture Smells
Refactoring for Software Architecture Smells
Ganesh Samarthyam2.9K views
Software Architecture Taxonomies - Behaviour: Components & Connectors by Jose Emilio Labra Gayo
Software Architecture Taxonomies - Behaviour: Components & ConnectorsSoftware Architecture Taxonomies - Behaviour: Components & Connectors
Software Architecture Taxonomies - Behaviour: Components & Connectors
Architecture vs Design by Luc Trudeau
Architecture vs DesignArchitecture vs Design
Architecture vs Design
Luc Trudeau4K views
Introduction to SOFTWARE ARCHITECTURE by Ivano Malavolta
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta5.5K views
Basics of Software Architecture for .NET Developers by Dan Douglas
Basics of Software Architecture for .NET DevelopersBasics of Software Architecture for .NET Developers
Basics of Software Architecture for .NET Developers
Dan Douglas5.4K views
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile by Dan Mohl
Modern Software Architectures: Building Solutions for Web, Cloud, and MobileModern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Modern Software Architectures: Building Solutions for Web, Cloud, and Mobile
Dan Mohl9.9K views
A summary of software architecture guide by Triet Ho
A summary of software architecture guideA summary of software architecture guide
A summary of software architecture guide
Triet Ho9.3K views
The Role of the Software Architect by Hayim Makabee
The Role of the Software ArchitectThe Role of the Software Architect
The Role of the Software Architect
Hayim Makabee15.4K views
Composable Software Architecture with Spring by Sam Brannen
Composable Software Architecture with SpringComposable Software Architecture with Spring
Composable Software Architecture with Spring
Sam Brannen2.2K views
Transforming Software Architecture for the 21st Century (September 2009) by Dion Hinchcliffe
Transforming Software Architecture for the 21st Century (September 2009)Transforming Software Architecture for the 21st Century (September 2009)
Transforming Software Architecture for the 21st Century (September 2009)
Dion Hinchcliffe9.6K views
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter) by siouxhotornot
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
siouxhotornot1.7K views
Software Architecture: Introduction by Henry Muccini
Software Architecture: IntroductionSoftware Architecture: Introduction
Software Architecture: Introduction
Henry Muccini7.4K views
Software Architecture Patterns by Assaf Gannon
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
Assaf Gannon12K views
[2015/2016] Introduction to software architecture by Ivano Malavolta
[2015/2016] Introduction to software architecture[2015/2016] Introduction to software architecture
[2015/2016] Introduction to software architecture
Ivano Malavolta908 views
Principles of software architecture design by Len Bass
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
Len Bass15.4K views
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen) by siouxhotornot
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
siouxhotornot1.4K views

Viewers also liked

Sig A&D - Documentation And Communication by
Sig A&D - Documentation And CommunicationSig A&D - Documentation And Communication
Sig A&D - Documentation And CommunicationDavid Meijers
464 views25 slides
4+1 by
4+14+1
4+1Suresh Kumar
223 views11 slides
PhD defense: David Ameller by
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
2.6K views40 slides
ASAS 2013 - Agility and the essence of software architecture by
ASAS 2013 - Agility and the essence of software architectureASAS 2013 - Agility and the essence of software architecture
ASAS 2013 - Agility and the essence of software architectureAvisi B.V.
1.2K views63 slides
4+1 View Model of Software Architecture by
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecturebashcode
21.8K views55 slides
Software Architecture - Principles Patterns and Practices - OSI Days Workshop... by
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...CodeOps Technologies LLP
1.3K views143 slides

Viewers also liked(12)

Sig A&D - Documentation And Communication by David Meijers
Sig A&D - Documentation And CommunicationSig A&D - Documentation And Communication
Sig A&D - Documentation And Communication
David Meijers464 views
PhD defense: David Ameller by David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
David Ameller2.6K views
ASAS 2013 - Agility and the essence of software architecture by Avisi B.V.
ASAS 2013 - Agility and the essence of software architectureASAS 2013 - Agility and the essence of software architecture
ASAS 2013 - Agility and the essence of software architecture
Avisi B.V.1.2K views
4+1 View Model of Software Architecture by bashcode
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
bashcode21.8K views
Software Architecture - Principles Patterns and Practices - OSI Days Workshop... by CodeOps Technologies LLP
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architecture - Principles Patterns and Practices - OSI Days Workshop...
Software Architectural And Detailed Design Description Template by Arash Sharif
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description Template
Arash Sharif15.7K views
Software Architecture Document Final by Ali Ahmed
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
Ali Ahmed38.4K views
Technical Architecture by scmiyer
Technical ArchitectureTechnical Architecture
Technical Architecture
scmiyer17.6K views
Structured Approach to Solution Architecture by Alan McSweeney
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
Alan McSweeney143.9K views

Similar to Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015

SA_UNIT_1.pptx by
SA_UNIT_1.pptxSA_UNIT_1.pptx
SA_UNIT_1.pptxShwetaGajbhiye12
17 views29 slides
Software Patterns by
Software PatternsSoftware Patterns
Software PatternsSudarsun Santhiappan
3.3K views124 slides
Unit_4_Software_Design.pptx by
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptxtaxegap762
7 views59 slides
What is Software Architecture? by
What is Software Architecture?What is Software Architecture?
What is Software Architecture?University of Pretoria
333 views31 slides
Vsts intro by
Vsts introVsts intro
Vsts introPMS Realtors
755 views66 slides
Design engineering by
Design engineeringDesign engineering
Design engineeringVikram Dahiya
590 views64 slides

Similar to Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015(20)

Unit_4_Software_Design.pptx by taxegap762
Unit_4_Software_Design.pptxUnit_4_Software_Design.pptx
Unit_4_Software_Design.pptx
taxegap7627 views
Design engineering by Vikram Dahiya
Design engineeringDesign engineering
Design engineering
Vikram Dahiya11.6K views
Aspect Oriented Software Development by Jignesh Patel
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Jignesh Patel13.3K views
Cs 1023 lec 3 architecture (week 1) by stanbridge
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge248 views
Cs 1023 lec 3 architecture (week 1) by stanbridge
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge365 views
CASE tools and their effects on software quality by Utkarsh Agarwal
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
Utkarsh Agarwal3.9K views
C4_Architecture_Diagrams_CE_Karunagappally.pptx by Dileep Kumar K
C4_Architecture_Diagrams_CE_Karunagappally.pptxC4_Architecture_Diagrams_CE_Karunagappally.pptx
C4_Architecture_Diagrams_CE_Karunagappally.pptx
Dileep Kumar K5 views
Object oriented sad-5 part i by Bisrat Girma
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
Bisrat Girma353 views
Reference Architecture by Johan Eltes
Reference ArchitectureReference Architecture
Reference Architecture
Johan Eltes8.5K views
Chapter 7 Design Architecture and Methodology1.docx by mccormicknadine86
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docx
02 architectures in_context by Majong DevJfu
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu1K views
[2015/2016] Software systems engineering PRINCIPLES by Ivano Malavolta
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta1.3K views
Architecting and Designing Enterprise Applications by Gem WeBlog
Architecting and Designing Enterprise ApplicationsArchitecting and Designing Enterprise Applications
Architecting and Designing Enterprise Applications
Gem WeBlog71 views

More from Mozaic Works

Agile Retrospectives by
Agile RetrospectivesAgile Retrospectives
Agile RetrospectivesMozaic Works
596 views34 slides
Developer Experience to Testing by
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to TestingMozaic Works
468 views42 slides
Story mapping: build better products with a happier team by
Story mapping: build better products with a happier teamStory mapping: build better products with a happier team
Story mapping: build better products with a happier teamMozaic Works
527 views44 slides
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015 by
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Mozaic Works
773 views99 slides
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015 by
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015Mozaic Works
1K views85 slides
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ... by
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...Mozaic Works
1.4K views132 slides

More from Mozaic Works(20)

Agile Retrospectives by Mozaic Works
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
Mozaic Works596 views
Developer Experience to Testing by Mozaic Works
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to Testing
Mozaic Works468 views
Story mapping: build better products with a happier team by Mozaic Works
Story mapping: build better products with a happier teamStory mapping: build better products with a happier team
Story mapping: build better products with a happier team
Mozaic Works527 views
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015 by Mozaic Works
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Andrea Mocci: Beautiful Design, Beautiful Coding at I T.A.K.E. Unconference 2015
Mozaic Works773 views
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015 by Mozaic Works
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Ionuț G. Stan - Let’s write a type checker at I T.A.K.E. Unconference 2015
Mozaic Works1K views
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ... by Mozaic Works
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Cyrille Martraire: Living Documentation Jumpstart at I T.A.K.E. Unconference ...
Mozaic Works1.4K views
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015 by Mozaic Works
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Mozaic Works986 views
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ... by Mozaic Works
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Andrei Petcu: Rocket vs Docker: Battle for the Linux Container at I T.A.K.E. ...
Mozaic Works941 views
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc... by Mozaic Works
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Mozaic Works677 views
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T.... by Mozaic Works
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Patroklos Papapetrou: Holding Down Your Technical Debt With SonarQube at I T....
Mozaic Works831 views
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A... by Mozaic Works
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...
Mozaic Works386 views
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf... by Mozaic Works
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
James Lewis: Microservices - Systems That Are #neverdone at I T.A.K.E. Unconf...
Mozaic Works2K views
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference by Mozaic Works
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceFlavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Mozaic Works371 views
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco... by Mozaic Works
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Adi Bolboacă: Architecture For Disaster Resistant Systems at I T.A.K.E. Unco...
Mozaic Works543 views
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ... by Mozaic Works
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Alex Bolboacă: Why You Should Start Using Docker at I T.A.K.E. Unconference ...
Mozaic Works493 views
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015 by Mozaic Works
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Mozaic Works466 views
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015 by Mozaic Works
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Svetlana Mukhina: Metrics That Bring Value at I T.A.K.E. Unconference 2015
Mozaic Works725 views
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015 by Mozaic Works
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Aki Salmi: Object Oriented Views at I T.A.K.E. Unconference 2015
Mozaic Works507 views
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un... by Mozaic Works
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Stefan Kanev: Clojure, ClojureScript and Why They're Awesome at I T.A.K.E. Un...
Mozaic Works643 views
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015 by Mozaic Works
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Igor Popov: Mutation Testing at I T.A.K.E. Unconference 2015
Mozaic Works1K views

Recently uploaded

Software evolution understanding: Automatic extraction of software identifier... by
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 views33 slides
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionMárton Kodok
5 views55 slides
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
5 views49 slides
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
10 views29 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
37 views25 slides
MariaDB stored procedures and why they should be improved by
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improvedFederico Razzoli
8 views32 slides

Recently uploaded(20)

Software evolution understanding: Automatic extraction of software identifier... by Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349237 views
MariaDB stored procedures and why they should be improved by Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy13 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views

Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015