the frustrated architect
play

THE FRUSTRATED ARCHITECT Simon Brown @simonbrown Perceptions Big - PowerPoint PPT Presentation

THE FRUSTRATED ARCHITECT Simon Brown @simonbrown Perceptions Big up front design Waterfall and analysis paralysis UML Im a software architect Ivory Tower PowerPoint Architect Architecture Astronaut PowerPoint Architecture Buzzword


  1. THE FRUSTRATED ARCHITECT Simon Brown @simonbrown

  2. Perceptions

  3. Big up front design Waterfall and analysis paralysis UML I’m a software architect Ivory Tower PowerPoint Architect Architecture Astronaut

  4. PowerPoint Architecture Buzzword Bingo S i n g l e S i g n - O n Corporate Data Model E n t e r p r i s e S e r v i c e B u s yes, I know ... but I’m not using PowerPoint :-P

  5. Relay Sport Architecture e r a w t f S o e u r t c e t h i c r A t e n m u c o D This is a big bunch of S a a A

  6. I’m another member of the team (and I like writing code)

  7. “Architecture” Time Coding

  8. The UML phase

  9. The Management Consulting phase

  10. The “corporate ladder” Non-technical Our tech lead and mentor has been “promoted” ... Technical help!

  11. Your management thinks coding is a commodity ? Tell them to offshore it all

  12. http://www.codingthearchitecture.com

  13. “Software Architect” is not an organisational rank It’s a role that you evolve into

  14. We aspire to be agile and self-organising And that’s cool, but aren’t you forgetting something?

  15. Agile

  16. Test-driven Moving fast, Structure development embracing Self-organising change team Security Availability Continuous Non-functional requirements delivery Agile Automated Technical guidance acceptance Emergent Vision testing design Kanban Performance Technical quality Retrospectives Scalability Lean

  17. Agile _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ I don’t position most of my content as agile, but...

  18. What is an agile architect anyway?

  19. Defer until the Evolutionary Architecture last responsible and Emergent Design YAGNI moment I’m an agile architect! System Metaphor Refactoring Spikes, stripes and tracers

  20. Agile architecture?

  21. Agile (e.g. Scrum) Skills Sprint 1 Sprint 2 Sprint 3 Business Modelling Requirements Analysis & Design Implementation Test Deployment Configuration Management Project Management Environment

  22. Evolutionary architecture Foolishly hoping for the best?

  23. We don’t need software architecture; we do TDD Agile software team

  24. TDD is about code ... architecture isn’t (well, it is, but it’s also about more than just the code)

  25. Last responsible moment y l h u g r o w o n k e l p o p e t s o M n g i l d u i b e ’ r y h e t t h a w s n o s i c i ! e d e m o s e k m a t s u j o s

  26. Flat, self-organising teams are great but... ...they don’t always work

  27. Let’s invent e r something shiny and new...

  28. Retrospective

  29. Have we forgotten more than we’ve learnt?

  30. UML

  31. Class s Class s a l C Collaborators s r o t a r o Collaborators b a l l o C Responsibilities s e Responsibilities i t i l i b i s n o p s e R Class-Responsibility-Collaboration

  32. Component-based development Component A Component B Component C g n i p l u o c w o l , o n s i e h o c h g H i , t c a t r n o c y b g n i s e d e p l i c n r i p n o t i u t i s t b u s v o k s i L

  33. Pattern-Oriented Software Architecture

  34. Rational Unified Process (RUP) Skills Inception Elaboration Construction Transition Business Modelling Requirements Analysis & Design Implementation Test Deployment Configuration Management Project Management Environment

  35. Be pragmatic with this stuff (if you know it exists, of course)

  36. Who is teaching the classics of the pre- agile era? Test-Driven Development Systems Thinking Extreme Programming y r e v Kanban i l e Pattern-Oriented Software Architecture D s s e Agile c o s r P u d UML e o fi i n u U n l a i n t o i n t a o R C Component-Based Development

  37. So you think you're an architect

  38. m e u s R e / e t a i V m u u l c i r r u C Err, no; you’re a t c e t i h c r A e s software architect i r p r e t n E ) e t a d - 6 0 0 2 ( y n a who just happens p m o C i g B A n g i s e d e h t r o f e to work in a l b i s n o p s e r n e e b e v a h I e s r i p r e t n e n a f o n o t i a t n e m e l large organisation p m L i M d n U a e m o s w e r d I . n o i t u l o s r e m o t s . u e d c o c a v a J e m o s e t o r w I d n a s m a g r a i d a y e l d e o r c a b e r r e o ’ u m o y g n , i c t t r i f a w n i b ( o j a e k i l d l ) u r o e h w t e i I ” t c e t h i c r a e r a w f t o s “ - ) : e . s a e p l

  39. Software development is not a relay sport e r a w t f S o e u r t c e t h i c r A t e n m u c o D

  40. Successful software delivery is not an implementation detail !

  41. The irresponsible architect Cross-site scripting attacks possible; weak passwords allowed; HTTP sessions didn’t timeout; ... Basic functionality errors; No non-functional testing little or no quality (e.g. penetration testing or assurance; rework required load testing); ... late in the project because of assumptions; ...

  42. Foolishly hoping for the best?

  43. The irresponsible architect Cross-site scripting attacks possible; weak passwords allowed; HTTP sessions didn’t timeout; ... Basic functionality errors; No non-functional testing little or no quality (e.g. penetration testing or assurance; rework required load testing); ... late in the project because of assumptions; ... No documentation; ... Oh, did I mention this was supposed to be a “strategic platform”?

  44. Non-functional View Process View Context Functional View Are there any significant non- Does the system implement What is this all about? What does the system do? functional requirements influencing business processes? the architecture? Architectural Architectural Logical View Interface View Constraints Principles What does the big picture look like Are there internal or external Are there any constraints Are there any principles influencing and how is the system structured? system interfaces? influencing the architecture? the architecture? Deployment View Design View Infrastructure View Operational View How will the system components be Is it clear how system components What does the target deployment How will people operate and deployed onto the target should be implemented? environment look like? support the system? infrastructure? Architecture Security View Data View Technology Selection Justification How is security handled across all How is data managed, archived, What led to the selection of the Does the chosen architecture tiers? backed-up, etc? technologies in use? “work”?

  45. Author or architect ?

  46. #win g n i g a n a M t c e j o r P #fail

  47. Technical Project Managers tend to focus more on project management than technology (This is Matt; he’s approximately my height)

  48. Serenity

  49. Wide angle (context) S t a n d a r d ( c Macro (classes) o n t a i n e r s ) s ) t e n o n m p o ( c o o t p h l e T e Abstract Specific As developers, the code is usually our main focus

  50. Wide angle (context) S t a n d a r d ( c Macro (classes) o n t a i n e r s ) s ) t e n o n m p o ( c o o t p h l e T e Abstract Specific Sometimes you need to step back from your IDE

Recommend


More recommend