• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Software Architecture for Developers : Developer involvement in Architecture Design

 
Greenhorn
Posts: 6
Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Simon,

I do agree that the developer has to understand the Architecture on which his development is going to function on. But, at what stage of the Architecture Design do you think the developer or developers need to get involved? So that they have an understanding of the decisions that were taken.

Thanks,
S Bhaskar
 
sharp shooter, and author
Posts: 1913
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In an ideal world, all of the developers on a team would be involved in the initial architecture stages of a software system. In the real world though, this doesn't necessarily work for a number of reasons including levels of experience within the team, ego and various other motivating factors (e.g. some developers don't want to get involved, and we shouldn't force them). I talk about a "relay sport" style of architecture in my book (https://leanpub.com/software-architecture-for-developers/read#relay-sport) where solution architects create the architectural vision and then simply hand it over to the rest of the team, like a baton in a relay race. Often, these solution architects have very little subsequent interaction with the team, effectively leaving the poor team members to implement the vision on their own. This is bad. My recommendation is to avoid this wherever possible, and either get the architect coding (or at least being a part of the ongoing team) or getting one or more of the developers to assist with the architecture stuff. Many teams talk about pair programming, so why not pair architecting?

To pick up your other point about decisions, I truly believe that every developer should understand the architecture decisions being made, and this includes the rationale behind them. For example, if you're using a particular pattern or technology on your project, understanding *why* can help considerably, helping to create a much more collaborative environment.
 
Ranch Hand
Posts: 93
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nice points. It'd be really nice if all developers are involved to some extent.
 
Simon Brown
sharp shooter, and author
Posts: 1913
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Padmarag Lokhande wrote:Nice points. It'd be really nice if all developers are involved to some extent.



I agree. We always hear about how we should strive for "self-organising teams" of experienced developers, yet people rarely seem to highlight that an understanding of software architecture is essential to making this happen.
 
Without deviation from the norm, progress is not possible - Zappa. Tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic