SlideShare a Scribd company logo
Thoughts on building
Software Architecture
Jane Prusakova
@jprusakova
Why architecture?
• Eskimo have 50 words for snow
• Italians – only one
• No easy way to describe something that
doesn’t exist
Kruchten’s 4+1 View Model
• Architecture is a way to describe a future system
• Context & vocabulary to make decisions
• Communicate a vision of the system design at various levels for
• business stakeholders
• development team
• IT and devops
• end users
Building architecture
• Model the process
• Data flow
• Make decisions about blocks and interactions
• current knowledge
• expectations
From requirements to solution
• The data arrives from …
• Every … message triggers … action
• User can see data arranged in … way
• User can affect data in … way
• Processing results are forwarded to …
Architectural patterns
• Structural
• Layered
• Client-server
• Pipe & Filter
• Functional
• Broker
• Peer-to-peer
• Event bus
• MVC
• Platform
For all of the architectural patterns:
Pros
• Well-understood
• [Some] Can be delivered piece-
meal
• Offer good support for original
purpose
Cons
• Complex
• [Some] Big bang delivery style
• Suitable in distinct situations
• Hard to expand beyond original
goals
Thought patterns
Common & intuitive
• Data flow
• Step-by-step
Less intuitive
• Recursive approach
• State machine
Humans vs Computer programs
• Linear time
• Stakeholders handle the most
common case
• Often one or only a few options
• Step by step approach
• Humans handle special
circumstances well
• Computes are state machines
• Time is non-linear
• Every path must be pre-defined
Wizard vs Hub & spoke
Home
Pick a
product
Select
features
Retrieve
price
Select
quantity
Checkout
Home
Pick a
product
Select
features
Retrieve
price
Select
quantity
Checkout
Only one action is possible from every point. Any action is possible at any point.
W
I
Z
A
R
D
S
p
o
k
e
Hub
&
What’s the “right” wizard?
• Developers are notoriously bad at
inventing user flow
• Less defined flow makes for better
usability
• Leave every path open
Linear vs Hub & spoke
State
• Transition
• Context
Transition
• Action
• FromState
• ToState
State • Context
Transition • Action
Structured flow Open flow
• IDE
1. Pick a project option
2. Choose option 1
3. Choose option 2
4. Choose option 3
5. …
6. Find how to change previously
selected options through other
options
Ah… so what do I code first?
• Implement a valid state
• Implement another valid state
• Implement transition
Valid options
 Nothing selected
Product selected
Product & term selected
Product Subscription
Term
Future brings change
• Rewrite: every 3 years
• Survivors: Twitter
• Did not survive: Netscape
• Hurt: hundreds of businesses
• Conway’s law: software system takes a form congruous to the
organization that produced it
Next steps: Design
•Iterate on design
• Merge and split states
• Merge and split transitions
• Add states and transitions
•Refactor code
• To fit the design
State
State
State
State
State
State
State
Maintaining architecture
• Review system design every
development cycle
• Keep the diagrams out and in the focus of
the team
• Communicate architectural decisions
continuously
• made previously
• current
• being re-thought
• Continue asking stakeholders
• What else is there?
Inspired reading
• “The Mythical Man-Month”
by Fred Brooks (Addison-Wesley,
1975)
• “The Pragmatic Programmer”
series by Andrew Hunt and Dave
Thomas
Thoughts on building
Software Architecture
Jane Prusakova
@jprusakova

More Related Content

PPTX
Questions of Ethics in Software Development
PDF
TIAD 2016 : Ethics in software development
PPTX
Software Engineering Ethics
PPT
Ethical issues in software testing v4
PPTX
Ashley tuckera8
PPTX
The ethics of software engineering
PDF
Ethics and software engineering
PPTX
Software engineering-codes-of-ethics (1)
Questions of Ethics in Software Development
TIAD 2016 : Ethics in software development
Software Engineering Ethics
Ethical issues in software testing v4
Ashley tuckera8
The ethics of software engineering
Ethics and software engineering
Software engineering-codes-of-ethics (1)

What's hot (19)

PPT
AT for Supported Employment - Day 2
PPT
Introduction to Assistive Technology
PDF
Simone Borsci - Deceptive design, user experience and trust
PPT
Why Directors Don’t Get IT: The Changing Definition of Information Technology
PPTX
April 3 Springfield Cleared Job Fair, Security Clearance Briefings, Resume Re...
PDF
Creating products that lawyers love (sic!) – design in legal technology
PPT
Professional ethics in_computing
PPTX
Software requirement specification handouts
PPTX
UXPA2019 Comparing formative and summative approaches in the usability testin...
PDF
Career Opportunities in ICT
PPT
20070921 Uni Softwareengineering
PDF
Innovation lecture for shanghai final
PPT
The Software Engineering Code and the ACM Code
PPTX
What Is Usability?
PDF
2007 09 26 ELN Working Routine
PPSX
IoT Developments in Cebu, Philippines (2017)
PPTX
No Silver Bullet - Essence and Accidents of Software Engineering
PDF
Answer lab best practices in research and design for voice user interfaces
PPTX
Trusted Software Alliance
AT for Supported Employment - Day 2
Introduction to Assistive Technology
Simone Borsci - Deceptive design, user experience and trust
Why Directors Don’t Get IT: The Changing Definition of Information Technology
April 3 Springfield Cleared Job Fair, Security Clearance Briefings, Resume Re...
Creating products that lawyers love (sic!) – design in legal technology
Professional ethics in_computing
Software requirement specification handouts
UXPA2019 Comparing formative and summative approaches in the usability testin...
Career Opportunities in ICT
20070921 Uni Softwareengineering
Innovation lecture for shanghai final
The Software Engineering Code and the ACM Code
What Is Usability?
2007 09 26 ELN Working Routine
IoT Developments in Cebu, Philippines (2017)
No Silver Bullet - Essence and Accidents of Software Engineering
Answer lab best practices in research and design for voice user interfaces
Trusted Software Alliance
Ad

Similar to Software architecture houstontechfest2020 (20)

PPTX
Thoughts on building software architecture
PPTX
Just startcoding
PPTX
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
PDF
Multi View Constructed Right
PPTX
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
PDF
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
PDF
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
PDF
05 DIGI CREATIVE people&process
PPTX
A Roadmap to Enterprise Quality
PDF
Software Architecture and Architectors: useless VS valuable
PDF
Architectural Decisions: Smoothly and Consistently
PDF
Architectural Decisions: Smoothly and Consistently
PDF
SharePoint Custom Development
PDF
A Proven Software Development Process for the Non Technical Founder
PPTX
Reactive Development: Commands, Actors and Events. Oh My!!
DOCX
1017191EE 200 Electrical Engineering Design Project.docx
PPTX
How a Top Retailer Brought Together UX Design and Agile Development (and got ...
PPTX
Generic Software Process Models
PPTX
Lean-Agile Development with SharePoint - Bill Ayers
PPTX
The Agile Mindset
Thoughts on building software architecture
Just startcoding
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
Multi View Constructed Right
Enabling Design Reviews with JIRA and Confluence - Atlassian Summit 2012
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
05 DIGI CREATIVE people&process
A Roadmap to Enterprise Quality
Software Architecture and Architectors: useless VS valuable
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
SharePoint Custom Development
A Proven Software Development Process for the Non Technical Founder
Reactive Development: Commands, Actors and Events. Oh My!!
1017191EE 200 Electrical Engineering Design Project.docx
How a Top Retailer Brought Together UX Design and Agile Development (and got ...
Generic Software Process Models
Lean-Agile Development with SharePoint - Bill Ayers
The Agile Mindset
Ad

More from Jane Prusakova (20)

PPTX
Estimating software development
PPTX
Better remote teams
PPTX
Improving IT Performance
PPTX
Agile Software Development
PPTX
Just start coding
PPTX
Good code
PPTX
Managing remote teams.
PPTX
Gender-neutral Recruiting
PPTX
Privacy In The Digital Age
PPTX
Interview: a Learning Conversation
PPTX
Effective Code Review
PPTX
Effective Code Review
PPTX
Lets talk about good code
PPTX
Motivating Knowledge Workers
PPTX
What is good code?
PPTX
Pragmatic Agile: distributed teams
PPTX
A case for remote teams
PPTX
Lets talk About Good Code (Dallas TechFest 2014)
PPTX
Women in Technology. Things that hold women back.
PPTX
Building great teams: the power of a nudge.
Estimating software development
Better remote teams
Improving IT Performance
Agile Software Development
Just start coding
Good code
Managing remote teams.
Gender-neutral Recruiting
Privacy In The Digital Age
Interview: a Learning Conversation
Effective Code Review
Effective Code Review
Lets talk about good code
Motivating Knowledge Workers
What is good code?
Pragmatic Agile: distributed teams
A case for remote teams
Lets talk About Good Code (Dallas TechFest 2014)
Women in Technology. Things that hold women back.
Building great teams: the power of a nudge.

Recently uploaded (20)

PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
System and Network Administraation Chapter 3
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Introduction to Artificial Intelligence
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
medical staffing services at VALiNTRY
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Transform Your Business with a Software ERP System
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Designing Intelligence for the Shop Floor.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
System and Network Administraation Chapter 3
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Introduction to Artificial Intelligence
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Reimagine Home Health with the Power of Agentic AI​
medical staffing services at VALiNTRY
Operating system designcfffgfgggggggvggggggggg
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How to Migrate SBCGlobal Email to Yahoo Easily
PTS Company Brochure 2025 (1).pdf.......
Transform Your Business with a Software ERP System
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf

Software architecture houstontechfest2020

  • 1. Thoughts on building Software Architecture Jane Prusakova @jprusakova
  • 2. Why architecture? • Eskimo have 50 words for snow • Italians – only one • No easy way to describe something that doesn’t exist
  • 3. Kruchten’s 4+1 View Model • Architecture is a way to describe a future system • Context & vocabulary to make decisions • Communicate a vision of the system design at various levels for • business stakeholders • development team • IT and devops • end users
  • 4. Building architecture • Model the process • Data flow • Make decisions about blocks and interactions • current knowledge • expectations
  • 5. From requirements to solution • The data arrives from … • Every … message triggers … action • User can see data arranged in … way • User can affect data in … way • Processing results are forwarded to …
  • 6. Architectural patterns • Structural • Layered • Client-server • Pipe & Filter • Functional • Broker • Peer-to-peer • Event bus • MVC • Platform
  • 7. For all of the architectural patterns: Pros • Well-understood • [Some] Can be delivered piece- meal • Offer good support for original purpose Cons • Complex • [Some] Big bang delivery style • Suitable in distinct situations • Hard to expand beyond original goals
  • 8. Thought patterns Common & intuitive • Data flow • Step-by-step Less intuitive • Recursive approach • State machine
  • 9. Humans vs Computer programs • Linear time • Stakeholders handle the most common case • Often one or only a few options • Step by step approach • Humans handle special circumstances well • Computes are state machines • Time is non-linear • Every path must be pre-defined
  • 10. Wizard vs Hub & spoke Home Pick a product Select features Retrieve price Select quantity Checkout Home Pick a product Select features Retrieve price Select quantity Checkout Only one action is possible from every point. Any action is possible at any point.
  • 13. What’s the “right” wizard? • Developers are notoriously bad at inventing user flow • Less defined flow makes for better usability • Leave every path open
  • 14. Linear vs Hub & spoke State • Transition • Context Transition • Action • FromState • ToState State • Context Transition • Action
  • 15. Structured flow Open flow • IDE 1. Pick a project option 2. Choose option 1 3. Choose option 2 4. Choose option 3 5. … 6. Find how to change previously selected options through other options
  • 16. Ah… so what do I code first? • Implement a valid state • Implement another valid state • Implement transition Valid options  Nothing selected Product selected Product & term selected Product Subscription Term
  • 17. Future brings change • Rewrite: every 3 years • Survivors: Twitter • Did not survive: Netscape • Hurt: hundreds of businesses • Conway’s law: software system takes a form congruous to the organization that produced it
  • 18. Next steps: Design •Iterate on design • Merge and split states • Merge and split transitions • Add states and transitions •Refactor code • To fit the design State State State State State State State
  • 19. Maintaining architecture • Review system design every development cycle • Keep the diagrams out and in the focus of the team • Communicate architectural decisions continuously • made previously • current • being re-thought • Continue asking stakeholders • What else is there?
  • 20. Inspired reading • “The Mythical Man-Month” by Fred Brooks (Addison-Wesley, 1975) • “The Pragmatic Programmer” series by Andrew Hunt and Dave Thomas
  • 21. Thoughts on building Software Architecture Jane Prusakova @jprusakova