Your SlideShare is downloading. ×
0
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Agile Architectures, Agile Cultures
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Agile Architectures, Agile Cultures

947

Published 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?

Published in: Business, Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
947
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
10
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 Architectures Agile Cultures Luke Hohmann Founder, Enthiosys LLC Copyright © 2001-2005 by Luke Hohmann
    • 2. <ul><li>Consultant, manager, coach </li></ul><ul><li>Unique perspective, motivated and informed from </li></ul><ul><ul><li>variety of solutions (single user  enterprise) </li></ul></ul><ul><ul><li>variety of roles (VP Prod Dev, VPE, VP biz dev) </li></ul></ul><ul><ul><li>variety of companies (public, private, VC-backed) </li></ul></ul><ul><li>Books </li></ul><ul><ul><li>“ Journey of the Software Professional” </li></ul></ul><ul><ul><li>“ Beyond Software Architecture” </li></ul></ul>About Luke Hohmann
    • 3. Desired Outcomes <ul><li>1. Better understanding of architecture, teams, and culture </li></ul><ul><li>2. Ability to identify and improve on the same </li></ul><ul><li>3. Practical advice to help you succeed </li></ul>What did I forget?
    • 4. What is “Software Architecture” <ul><li>“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).” </li></ul><ul><li>[Hohmann: Journey of the Software Professional , 1996] </li></ul>
    • 5. Why Does “Software Architecture” Matter? <ul><li>Longevity </li></ul><ul><ul><li>System longevity: 12 – 30+ years </li></ul></ul><ul><ul><li>Developer longevity: 2 – 4 years </li></ul></ul><ul><li>Degree/nature of change </li></ul><ul><li>Profitability </li></ul><ul><li>Social structure </li></ul><ul><li>Boundaries and dependencies </li></ul>
    • 6. Alternative Viewpoints <ul><li>Organic vs. inorganic models </li></ul><ul><li>Features vs. Capabilities </li></ul><ul><ul><li>Feature: What a product should do </li></ul></ul><ul><ul><li>Capability: The underlying architecture&apos;s ability to support a related set of features. </li></ul></ul><ul><li>Dependency management </li></ul><ul><li>People management / “wholeness” </li></ul>
    • 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... <ul><li>“Draw the architecture” test </li></ul><ul><li>Can you enumerate the capabilities of your current architecture? </li></ul><ul><li>What’s the difference between local / non-local / architectural change? </li></ul>
    • 9. So, What’s an Agile Architecture? <ul><li>Don’t know -- Haven’t thought about it much until challenged by some friends… </li></ul><ul><li>How about? The architecture has the right capabilities and “feels” right when asked to respond to change. </li></ul>
    • 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 &amp; 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... <ul><li>What is your marketecture? </li></ul>
    • 18. So, What’s an Agile Architecture? <ul><li>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. </li></ul>
    • 19. Organizational Engineering
    • 20. Skills and Responsibilities
    • 21. Senior Architect
    • 22. So, What’s an Agile Architecture? <ul><li>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. </li></ul>
    • 23. Principles of Org. Eng. <ul><li>Coupling &amp; Cohesion </li></ul><ul><li>Complexity </li></ul><ul><li>Conway’s law </li></ul><ul><li>Form follows function </li></ul><ul><li>Growth curve </li></ul><ul><li>Conceptual Integrity </li></ul>
    • 24. Idealized Org. Structures
    • 25. Dealing With Time <ul><li>Teams rarely start perfectly formed </li></ul><ul><li>Growth/Attrition occurs over time </li></ul><ul><li>Melding organizational structure with growth model is key </li></ul>
    • 26. Structuring Small (2-7) Teams <ul><li>Minimal formal structure is needed… … but clearly defined roles still required! </li></ul><ul><li>“Core team” vs. “supporting cast” </li></ul><ul><li>Mix junior and senior </li></ul>
    • 27. <ul><li>Cluster on architectural boundaries </li></ul><ul><li>Cluster leaders drawn from core team </li></ul><ul><li>Cluster size? 2-4 </li></ul><ul><li>Keep managerial overhead low </li></ul>Clustering Medium (7-20) Teams Cluster
    • 28. Clustering Large (20-50) Teams <ul><li>Same concept; bigger clusters </li></ul><ul><li>Add’l clusters: testing, infrastructure </li></ul><ul><li>Warning! Large clusters degenerate into pure hierarchies Use this technique carefully! </li></ul>Cluster
    • 29. “Matrix” Management in Large Teams Build the right thing… Domain of Product Management Build the right way… Technical Leadership
    • 30. Special “Teams” <ul><li>Object to RDBMS Team </li></ul><ul><li>Legacy Systems team </li></ul><ul><li>Integration/API team </li></ul><ul><li>Reuse/Frameworks (careful!) </li></ul><ul><li>Others.... Remember: a “team” can be a single person with appropriate authority and responsibility! </li></ul>
    • 31. Growth Best Practices <ul><li>Establish senior architect early </li></ul><ul><li>Create overall foundation fist </li></ul><ul><li>Fit new members into architecturally motivated roles and responsibilities </li></ul><ul><li>Reorganize as necessary - it is a natural part of growth </li></ul><ul><li>Use CRC cards to reorganize </li></ul>
    • 32. Growth Pitfalls <ul><li>Starting with more than 10 (Coplien) </li></ul><ul><li>Failing to explicitly support the architecture </li></ul><ul><li>Failing to plan the hiring process </li></ul>
    • 33. Org. Engineering Pitfalls <ul><li>Having the wrong number of architects </li></ul><ul><li>Not recognizing the politics of architecture </li></ul><ul><li>Constantly looking for “better ways” </li></ul><ul><li>Reorganizing only the team or only the architecture </li></ul><ul><li>Arbitrarily sized teams </li></ul><ul><li>Poorly defined roles </li></ul>
    • 34. So, What’s an Agile Architecture? <ul><li>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. </li></ul>
    • 35. Culture - Informally <ul><li>The realization of values through the interactions of its constituent members. </li></ul><ul><li>How we do things around here. </li></ul><ul><li>Things not spoken but done. </li></ul><ul><li>The “personality” of the team. </li></ul>
    • 36. Culture - Formally <ul><li>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] </li></ul>
    • 37. Benefits of Culture <ul><li>Reflects and reinforces values. </li></ul><ul><li>Integrates the organization. </li></ul><ul><li>Diverse cultures… all successful! </li></ul><ul><ul><li>EDS, ObjectSpace, Aurigin, Preview, Aladdin </li></ul></ul><ul><ul><li>IBM, Microsoft, Sun </li></ul></ul><ul><ul><li>yours? </li></ul></ul>
    • 38. Components of Culture <ul><li>Normative behaviors </li></ul><ul><li>Symbols </li></ul><ul><li>Stories </li></ul><ul><li>Rituals </li></ul><ul><li>Shared language </li></ul>
    • 39. Cultural Dig <ul><li>Normative behaviors </li></ul><ul><li>Symbols </li></ul><ul><li>Stories </li></ul><ul><li>Rituals </li></ul><ul><li>Shared language </li></ul>
    • 40. Advice to Managers <ul><li>Personal style will guide culture. </li></ul><ul><li>New members can help change culture. </li></ul><ul><li>Reinforce values through recognition. </li></ul><ul><li>Use symbols for more than just recognition. </li></ul>
    • 41. Advice to Developers <ul><li>Resist dysfunctional norms. </li></ul><ul><li>Display your symbols. </li></ul><ul><li>Avoid criticizing the culture of another team. </li></ul>
    • 42. So, What’s an Agile Culture? <ul><li>How about? An agile culture supports the realization of agile architectures. </li></ul>
    • 43. Reflection <ul><li>What did you learn? </li></ul><ul><li>Can you apply this on the job? </li></ul><ul><li>What should be changed? Send email! </li></ul>
    • 44. Contact Information <ul><li>I’d love to hear from you! Contact me at: </li></ul>Innovation Through Understanding Luke Hohmann President &amp; Founder Enthiosys LLC 599 Dawn Drive Sunnyvale, CA 94087 cell: (408) 529-0319 www.enthiosys.com [email_address]

    ×