Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Architecture - LeadDev Berlin - 2023-1...

Managing Architecture - LeadDev Berlin - 2023-12-05

In the sociotechnical system that is software development, software architecture plays a crucial role.
We strive to design our systems in a way that allows us to scale, both technically and organizationally. In a way that allows a fast flow of change. Succeeding in doing so will be a significant competitive advantage. But how do we ensure we follow the right architecture principles across the organization, in times of empowered teams and extreme ownership? Lutz will talk about the importance of a strategic approach to software architecture, that prevents teams from becoming architecture firefighters, who spent an excessive amount of energy applying short-term fixes to architectural problems. He'll explore the options to implement architecture strategy in a modern software development organization that is built on value stream aligned teams. Developers in such organizations will flat-out reject any "ivory tower architects", or needing approval of architectural decisions by some governance body - and rightfully so. Having experience as a software architect, as a manager of an "enabling team" of architects, and as an engineering manager in setups with no designated architects at all, he will share his learnings and provide some heuristics on which approach to choose when.

Lutz Hühnken

December 05, 2023
Tweet

More Decks by Lutz Hühnken

Other Decks in Programming

Transcript

  1. "id": "83d83ec2-d2ca-49ff-bbea-b92b5c3be202", "created_at": "2021-07-21T14:10:00.000Z", "updated_at": "2021-07-21T14:10:00.000Z", "first_name": "Karl", "last_name": "Schmidt",

    "email": "[email protected]", "salutation": "SALUTATION_MALE", "title": "DR", "birth_date": "1972-09-30T00:00:00.000Z", "birth_city": "Berlin", "birth_country": "DE", "maiden_name": "Schmidt", "primary_nationality": "DE", "additional_nationalities": [ "AU" ], "phone_number": "4930901820", "postal_address": { "address_line1": "Rosenweg 221", "address_line2": "apt. 33", "postcode": "45678", "city": "Berlin", "state": "BE", "country": "DE" }, Managing Architecture LeadDev Berlin 2023
  2. Architecture determines these traits: Architecture is Key to Success Scalability

    (technical) 01 Scalability (organizational) 02 Fast Flow (of Change) 03
  3. “with all apologies to my many wonderful, highly skilled Architect

    friends, I tend to think it's a bullshit role. I believe that only the people building software systems get to have opinions on how those systems get built. Charity Majors - https://twitter.com/mipsytipsy/status/1628295050215182336
  4. Example 1 Architecture “Guild” Young company - Strong architectural vision

    from technical founders - Make sure the vision is not lost -
  5. Guild Goals Improve understanding and documentation of shared architecture 02

    Provide a forum to discuss and challenge architecture decisions 03 Establish and promote core architecture principles 04 Give everyone interested a chance to learn and to contribute 01 05 Explore and evaluate new technologies
  6. Guild Organization Main forum is guild meetings 02 Staff+ engineers

    organize and drive 03 Decisions are consensual 04 Some previously agreed principles exist 01
  7. Example 2 Enabling Team Established company - A lot of

    legacy - Transform outdated architecture into contemporary -
  8. Enabling Team Goals Identify capability gaps in teams 02 Provide

    assistance in building missing capabilities 03 Establish and promote core architecture principles 04 Provide some risk mitigation by guiding decision making 01 05 Explore and evaluate new technologies
  9. Enabling Team Organization Regular checkpoints with teams 02 Creator and

    maintainer of documentation portal 03 Might intervene on architectural decisions 04 Organizer of architecture CoP, events 01 05 Maintainer of Tech Radar
  10. If you know what works for you, do that. If

    you’re unsure, go with the Enabling Team.