Your SlideShare is downloading. ×

Agile Architecture

402
views

Published on

Agile/Lean architecture presentation. Starts going through important concepts and pros/cons of upfront work vs

Agile/Lean architecture presentation. Starts going through important concepts and pros/cons of upfront work vs

Published in: Technology, News & Politics

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
402
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Agile architectureThe next silver bullet to solve all your problemsMagnus Mickelsson, Citerus ABmagnus.mickelsson@citerus.se 1
  • 2. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Upfront 2
  • 3. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Upfront 3
  • 4. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Agile methods • Deliver working software • Individuals/communication > processes and tools • Close to the business As a .. <role> • User stories I want .. <function> So that .. <purpose> • Engineering practices 4
  • 5. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Engineering Practices DONE 5
  • 6. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Cowboy-architecture • Hack something that works, then ”refactoring” • Structures and patterns emerge.. • .... sometimes. 6
  • 7. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Cowboy-architecture • Hack something that works, then ”refactoring” • Structures and patterns emerge.. • .... sometimes. 7
  • 8. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Where do we place ourselves on the scale? 8
  • 9. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Lean-principles • Go out and see • Optimize value flow • Eliminate waste • 5xWhy? • Pull, not push 9
  • 10. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Lean-principles • Defects • Go out and see • Waiting • Optimize value flow • Over-production • Eliminate waste • Transport • 5xWhy? • Complexity • Pull, not push • Unused creativity 10
  • 11. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Systems thinking • How do things really work? • How do our users work? • What are the consequences of the current way? • Improve the process (without IT) • Pull IT into the improvement work http://vimeo.com/19122939 11
  • 12. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Lean/Agile architecture work • Working software • Working with people > specifications • Increase knowledge in the organisation • Eliminate waste • Systems thinking - optimise the whole • Be ready to get ”pulled” in 12
  • 13. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 ”Lean Architecture” - Coplien/Björnvig • ”All together, from early on” • Reduce need for things that slow down • Think Lean, be Agile • Some upfront-work => what the system is • Use-cases good for what the system does 13
  • 14. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DDD - Domain-driven Design • Cooperation with domain experts yields invaluable knowledge • Let the domain control the solution design, not technology • Design that makes maintenance and developer testing easier 14
  • 15. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DDD is not just application design • Big Balls of Mud + Entropy -> Core Domain • Context mapping 15
  • 16. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Whirlpool model exploration method 16
  • 17. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Example #1 - simple/isolated webapp • Now, target, expectations • How do things really work? • What can be done without IT? • Gather user stories (detail a few) • Ubiqutous language (DDD) • Explore architecture/design - sprint 0 • 1-2 spikes 17
  • 18. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Explore, think, test, measure, improve... 18
  • 19. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 ... and maybe, just maybe ... 19
  • 20. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Example #2 - average to large system • Systems thinking • Use-cases or user stories? • Context mapping • Architecture (form) - what is the system? • Map subsystems to teams • Explore what the system does • Focus on Lean, to be Agile 20
  • 21. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Model-View-Controller Model View Customer Service Controller Account 21
  • 22. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DCI - Data, Context, Interaction Model/Data View Customer Controller Context Account Role Role Interaction 22
  • 23. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DCI - Data, Context, Interaction Model/Data View Customer Controller Account Account transfer Source Target account account Interaction 23
  • 24. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DCI - Data, Context, Interaction Model/Data View Customer Controller Account Account transfer Source Target account account Account Account Interaction 24
  • 25. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 DCI - Data, Context, Interaction Model/Data View Customer Controller Account Account transfer € Source Target account account Account Account Interaction 25
  • 26. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 What’s worth taking home? • What can be done without IT? Systems thinking • Use-cases or user stories? • How much ”form” upfront depends • Lean principles help us stay Agile • DDD, Context mapping, DCI 26
  • 27. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Questions? magnus.mickelsson@citerus.se magnus.mickelsson@gmail.com Twitter: magnusmickel 27
  • 28. Citerus - Magnus Mickelsson, 2011 - magnus.mickelsson@citerus.se - 0708-444183 Reading tips • Lean architecture (Coplien/Björnvig) • The Pragmatic Programmer (Hunt/Thomas) • Domain Driven Design (Evans) • Working effectively with legacy code (Feathers) • Refactoring to patterns (Kerievsky) • Lean Software Development (2*Poppendieck) • Freedom from Command & Control ... (Seddon) • Evolutionary architecture & Emergent Design (Ford) 28

×