• Save
Agile Architectures, Agile Cultures
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Agile Architectures, Agile Cultures

  • 1,937 views
Uploaded on

Luke Hohmann talk on software architecture, agile, patterns, teams and marketecture (marketing architecture). How does architecture fit into Agile?

Luke Hohmann talk on software architecture, agile, patterns, teams and marketecture (marketing architecture). How does architecture fit into Agile?

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,937
On Slideshare
1,919
From Embeds
18
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
9

Embeds 18

http://www.slideshare.net 18

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 Architectures Agile Cultures Luke Hohmann Founder, Enthiosys LLC Copyright © 2001-2005 by Luke Hohmann
  • 2.
    • 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
  • 3. 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?
  • 4. 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]
  • 5. 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
  • 6. 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”
  • 7. Architectural Styles/Patterns Object Translation Transaction Management Domain Model Persistent Store Process 1 data Process 2 data 1 data 2 Distributed Proxy
  • 8. 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?
  • 9. 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.
  • 10. The Generic Process
  • 11. Development Processes
  • 12. Building Through Spikes
  • 13. The Bigger Big Picture
  • 14. 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”)
  • 15. Marketecture (Actuate) Source: www.actuate.com
  • 16. Marketecture (Autonomy) Source: www.autonomy.com
  • 17. Try This...
    • What is your marketecture?
  • 18. 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.
  • 19. Organizational Engineering
  • 20. Skills and Responsibilities
  • 21. Senior Architect
  • 22. 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.
  • 23. Principles of Org. Eng.
    • Coupling & Cohesion
    • Complexity
    • Conway’s law
    • Form follows function
    • Growth curve
    • Conceptual Integrity
  • 24. Idealized Org. Structures
  • 25. Dealing With Time
    • Teams rarely start perfectly formed
    • Growth/Attrition occurs over time
    • Melding organizational structure with growth model is key
  • 26. 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
  • 27.
    • Cluster on architectural boundaries
    • Cluster leaders drawn from core team
    • Cluster size? 2-4
    • Keep managerial overhead low
    Clustering Medium (7-20) Teams Cluster
  • 28. 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
  • 29. “Matrix” Management in Large Teams Build the right thing… Domain of Product Management Build the right way… Technical Leadership
  • 30. 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!
  • 31. 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
  • 32. Growth Pitfalls
    • Starting with more than 10 (Coplien)
    • Failing to explicitly support the architecture
    • Failing to plan the hiring process
  • 33. 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
  • 34. 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.
  • 35. 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.
  • 36. 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]
  • 37. Benefits of Culture
    • Reflects and reinforces values.
    • Integrates the organization.
    • Diverse cultures… all successful!
      • EDS, ObjectSpace, Aurigin, Preview, Aladdin
      • IBM, Microsoft, Sun
      • yours?
  • 38. Components of Culture
    • Normative behaviors
    • Symbols
    • Stories
    • Rituals
    • Shared language
  • 39. Cultural Dig
    • Normative behaviors
    • Symbols
    • Stories
    • Rituals
    • Shared language
  • 40. 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.
  • 41. Advice to Developers
    • Resist dysfunctional norms.
    • Display your symbols.
    • Avoid criticizing the culture of another team.
  • 42. So, What’s an Agile Culture?
    • How about? An agile culture supports the realization of agile architectures.
  • 43. Reflection
    • What did you learn?
    • Can you apply this on the job?
    • What should be changed? Send email!
  • 44. 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]