Agile Architectures, Agile Cultures

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Agile Architectures, Agile Cultures - Presentation Transcript

    1. Agile Architectures Agile Cultures Luke Hohmann Founder, Enthiosys LLC Copyright © 2001-2005 by Luke Hohmann
      • Consultant, manager, coach
      • Unique perspective, motivated and informed from
        • variety of solutions (single user  enterprise)
        • variety of roles (VP Prod Dev, VPE, VP biz dev)
        • variety of companies (public, private, VC-backed)
      • Books
        • “ Journey of the Software Professional”
        • “ Beyond Software Architecture”
      About Luke Hohmann
    2. Desired Outcomes
      • 1. Better understanding of architecture, teams, and culture
      • 2. Ability to identify and improve on the same
      • 3. Practical advice to help you succeed
      What did I forget?
    3. What is “Software Architecture”
      • “A system architecture defines the basic “structure” of the system (e.g., the high-level modules comprising the major functions of the system, the management and distribution of data, the kind and style of its user interface, what platform(s) will it run on, and so forth).”
      • [Hohmann: Journey of the Software Professional , 1996]
    4. Why Does “Software Architecture” Matter?
      • Longevity
        • System longevity: 12 – 30+ years
        • Developer longevity: 2 – 4 years
      • Degree/nature of change
      • Profitability
      • Social structure
      • Boundaries and dependencies
    5. Alternative Viewpoints
      • Organic vs. inorganic models
      • Features vs. Capabilities
        • Feature: What a product should do
        • Capability: The underlying architecture's ability to support a related set of features.
      • Dependency management
      • People management / “wholeness”
    6. Architectural Styles/Patterns Object Translation Transaction Management Domain Model Persistent Store Process 1 data Process 2 data 1 data 2 Distributed Proxy
    7. Try This...
      • “Draw the architecture” test
      • Can you enumerate the capabilities of your current architecture?
      • What’s the difference between local / non-local / architectural change?
    8. So, What’s an Agile Architecture?
      • Don’t know -- Haven’t thought about it much until challenged by some friends…
      • How about? The architecture has the right capabilities and “feels” right when asked to respond to change.
    9. The Generic Process
    10. Development Processes
    11. Building Through Spikes
    12. The Bigger Big Picture
    13. Tarchitecture vs. Marketecture Concepts include target audience and use, distribution channels, competition, licensing and selling models, value propositions, data sheets, competitive differentiation. “ Styles” are business models (more on this later!) Marketecture Product Mngt. General Manager Product Manager (“Marketect”) Concepts include subsystems & interfaces, distribution of processing responsibilities among different processing elements, etc. Styles include client/server, pipeline, embedded systems, and blackboards, etc. Tarchitecture Engineering Architect (“Tarchitect”)
    14. Marketecture (Actuate) Source: www.actuate.com
    15. Marketecture (Autonomy) Source: www.autonomy.com
    16. Try This...
      • What is your marketecture?
    17. So, What’s an Agile Architecture?
      • How about? The architecture has the right capabilities and “feels” right when asked to respond to change. It is or can be built using the desired process and supports the “big picture” needs of the business.
    18. Organizational Engineering
    19. Skills and Responsibilities
    20. Senior Architect
    21. So, What’s an Agile Architecture?
      • How about? The architecture has the right capabilities and “feels” right when asked to respond to change. It is or can be built using the desired process with the right people in the right roles. It supports the “big picture” needs of the business.
    22. Principles of Org. Eng.
      • Coupling & Cohesion
      • Complexity
      • Conway’s law
      • Form follows function
      • Growth curve
      • Conceptual Integrity
    23. Idealized Org. Structures
    24. Dealing With Time
      • Teams rarely start perfectly formed
      • Growth/Attrition occurs over time
      • Melding organizational structure with growth model is key
    25. Structuring Small (2-7) Teams
      • Minimal formal structure is needed… … but clearly defined roles still required!
      • “Core team” vs. “supporting cast”
      • Mix junior and senior
      • Cluster on architectural boundaries
      • Cluster leaders drawn from core team
      • Cluster size? 2-4
      • Keep managerial overhead low
      Clustering Medium (7-20) Teams Cluster
    26. Clustering Large (20-50) Teams
      • Same concept; bigger clusters
      • Add’l clusters: testing, infrastructure
      • Warning! Large clusters degenerate into pure hierarchies Use this technique carefully!
      Cluster
    27. “Matrix” Management in Large Teams Build the right thing… Domain of Product Management Build the right way… Technical Leadership
    28. Special “Teams”
      • Object to RDBMS Team
      • Legacy Systems team
      • Integration/API team
      • Reuse/Frameworks (careful!)
      • Others.... Remember: a “team” can be a single person with appropriate authority and responsibility!
    29. Growth Best Practices
      • Establish senior architect early
      • Create overall foundation fist
      • Fit new members into architecturally motivated roles and responsibilities
      • Reorganize as necessary - it is a natural part of growth
      • Use CRC cards to reorganize
    30. Growth Pitfalls
      • Starting with more than 10 (Coplien)
      • Failing to explicitly support the architecture
      • Failing to plan the hiring process
    31. Org. Engineering Pitfalls
      • Having the wrong number of architects
      • Not recognizing the politics of architecture
      • Constantly looking for “better ways”
      • Reorganizing only the team or only the architecture
      • Arbitrarily sized teams
      • Poorly defined roles
    32. So, What’s an Agile Architecture?
      • How about? The architecture has the right capabilities and “feels” right when asked to respond to technical or social change/growth. It is or can be built using the desired process with the right people in the right roles. It supports the “big picture” needs of the business.
    33. Culture - Informally
      • The realization of values through the interactions of its constituent members.
      • How we do things around here.
      • Things not spoken but done.
      • The “personality” of the team.
    34. Culture - Formally
      • The pattern of basic assumptions that a given group has invented, discovered, or developed in learning to cope with its problems of external adaptation and internal integration, and that have worked well enough to be considered valid, and, therefore, to be taught to new members as the correct way to perceive, think, and feel in relation to these problems. [Schein 1981]
    35. Benefits of Culture
      • Reflects and reinforces values.
      • Integrates the organization.
      • Diverse cultures… all successful!
        • EDS, ObjectSpace, Aurigin, Preview, Aladdin
        • IBM, Microsoft, Sun
        • yours?
    36. Components of Culture
      • Normative behaviors
      • Symbols
      • Stories
      • Rituals
      • Shared language
    37. Cultural Dig
      • Normative behaviors
      • Symbols
      • Stories
      • Rituals
      • Shared language
    38. Advice to Managers
      • Personal style will guide culture.
      • New members can help change culture.
      • Reinforce values through recognition.
      • Use symbols for more than just recognition.
    39. Advice to Developers
      • Resist dysfunctional norms.
      • Display your symbols.
      • Avoid criticizing the culture of another team.
    40. So, What’s an Agile Culture?
      • How about? An agile culture supports the realization of agile architectures.
    41. Reflection
      • What did you learn?
      • Can you apply this on the job?
      • What should be changed? Send email!
    42. Contact Information
      • I’d love to hear from you! Contact me at:
      Innovation Through Understanding Luke Hohmann President & Founder Enthiosys LLC 599 Dawn Drive Sunnyvale, CA 94087 cell: (408) 529-0319 www.enthiosys.com [email_address]
    SlideShare Zeitgeist 2009

    + Enthiosys IncEnthiosys Inc Nominate

    custom

    376 views, 2 favs, 0 embeds more stats

    Luke Hohmann talk on software architecture, agile, more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 376
      • 376 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories