Shortening the architectural feedback loop

Shortening the architectural feedback loop

One of the things architects can learn from the Agile mindset is the importance of short feedback loops. The quicker an architect receives feedback on their output, the faster they learn about its effect in their specific solution context – and better informed architects make better decisions. Architecture is a matter of reducing uncertainty by gathering knowledge and making decisions, and a shorter architecture feedback loop speeds up that uncertainty reduction, leading to better architectures. On top of this, shorter loops lead to shorter reaction times when things change, which increases agility. In this blog post, I will share some tips for shortening the architectural feedback loop.

Architectural decisions are your primary deliverable

What does your organization consider the primary architectural deliverable? Chances are it is a document with a name like Project (Start) Architecture or Software Architecture Description – let’s call it The Architecture Document. It takes weeks or even months to produce, after which time all architectural models and decisions are approved and distributed in one foul swoop – The Architecture Document version 1.0. If you are in this situation, the first step to shortening your feedback loop is to start viewing individual architectural decisions as your primary deliverable. The finer granularity of these decisions, compared to The Architecture Document, will make it much easier to speed up the feedback loop.

Continuously share concerns and decisions

Do not be afraid to share your unfinished architecture output. The sooner you share, the faster you learn. I like to let my stakeholders (both business and technical) know what I think are the most critical architectural concerns, and share decisions as soon as I am aware that they need to be taken. (One word of caution: always make sure the status of the decision-in-progress is absolutely clear to prevent people acting on them prematurely.) This gives stakeholders the opportunity to contribute to the architectural process from the start. Make this information as easy as possible to access: don’t put it in text documents, but find a low-threshold platform like a Wiki or issue tracking system.

Invite immediate feedback from stakeholders

We are often hesitant to ask for feedback on something that we ourselves do not consider to be perfect already. Architects, however, cannot afford to wait that long. Most architectures emerge from a dynamic process of frequently identifying new concerns, repeatedly finding out new facts and continuously adjusting partial decisions that interact with each other and our context. The perfect architecture is only known after the solution has been delivered (if then).

So tell your stakeholders to give you feedback when they have it, and not to wait for ‘official’ review moments like a ‘version 0.9’. Make it as easy as possible for them: enable the comments box on your Wiki, invite people to email you. If big print-outs of your architectural models adorn the team’s war-room, make sure to put a pencil on a string next to them. Make sure everyone knows you welcome feedback by asking for it at the water cooler, or on your team chat platform if you are not co-located.

Simplify your architecture documentation template

Template bloat is one of the causes of long architectural feedback loops. Organizations often lack a decent repository for architectural knowledge, and abuse their architecture documentation templates as a dumping place for all lessons learned. Diverse stakeholder concerns for all types of solutions end up getting their own sections in the template. On top of that, architects for whom The Architecture Document is the only place to store knowledge about a solution cause even more bloat. There are two things you can do to fight this document obesity:

  • Create a template with sections for only the most common concerns at only the start of a solution’s lifecycle. Get rid of all ‘placeholder’ sections. Add views for other concerns only as they become significant later in the lifecycle, and only insofar as they are relevant to your context – in short, create living, minimal architecture documentation.
  • Make sure you have another repository for knowledge that is not immediately relevant at the current point in the solution lifecycle. Create a wiki or library for the organization’s lessons learned and documentation plug-ins for views to be added later in the lifecycle, and find a place outside of The Architecture Document for solution-specific insights that you have gathered.

Get involved in delivery

The final tip for an effective, short feedback loop is to get involved in the delivery of your solution. If you are a software architect, coding key parts of the solution yourself is a great way to get involved. If you do not have that opportunity, get involved in integration, quality attribute testing or other architecturally significant delivery activities. You will not only become your own feedback channel, but also stimulate other delivery team members to tell you about their concerns and help improve your architecture.

In my work of coaching organizations to approach architecting in an agile way, shortening the architectural feedback loop has proven to be one of the most effective ways to improve architects’ effectivity and business value. Especially its positive effect on the scability of architecture work and the start-up time of smaller projects is quickly noticed and appreciated by business stakeholders. Let me know if the five tips in this post prove to be useful to you as well.

More ideas about architecture in the digital age on eltjopoort.nl?

要查看或添加评论,请登录

Eltjo Poort的更多文章

  • Improving architecture in SAFe with RCDA

    Improving architecture in SAFe with RCDA

    It’s been over a decade since we bundled our experiences with agile architecture in our Risk and Cost Driven…

  • A Technical Debt Fairy Tale

    A Technical Debt Fairy Tale

    Once upon a time, there was a lead developer called Annabel. She worked for vakation.

    18 条评论
  • AI Art?

    AI Art?

    If you follow me on Instagram or Facebook, you may be wondering why I’ve been posting series of strange images lately…

    2 条评论
  • Architectural design with autonomous teams

    Architectural design with autonomous teams

    According to the agile manifesto, the best architectures emerge from self-organizing teams. The word emerge here has…

    4 条评论
  • Architecture: the outside view

    Architecture: the outside view

    Last month, I was asked to give a second opinion on some key architectural decisions and the way they were working out…

    5 条评论
  • A Map to Waterfall Wasteland and the Agile Outback

    A Map to Waterfall Wasteland and the Agile Outback

    Over the past 18 months, we have been iteratively developing a way to assess maturity with respect to architecture in…

    11 条评论
  • Value-driven Architecture Documentation

    Value-driven Architecture Documentation

    “[We value] working software over comprehensive documentation” features proudly on the front page of the Agile…

    7 条评论
  • Move slow and fix things

    Move slow and fix things

    Four years ago, Facebook changed its famous motto “Move fast and break things” to “Move fast with stable infra” (not…

    5 条评论
  • Opportunity Cost in the Technical Debt business case

    Opportunity Cost in the Technical Debt business case

    A few years back, I discussed the business case for reducing technical debt, and the importance of accounting for the…

  • Architecture is Context

    Architecture is Context

    For architects designing complex solutions, a well-documented set of requirements can never be the sole basis of the…

    1 条评论

社区洞察

其他会员也浏览了