It’s popular these days to say “software architects aren’t needed anymore!”. But architecture still is. You often don’t know how bad until it’s too late…
Software architecture is the up-front selection of tools, patterns, and technologies that will be used to develop software on a project.
Rather than make all decisions about tools, patterns, and technologies mid-project – software architecture leverages the skill of experienced members of the team to make some decisions before starting. This doesn’t mean these can’t change, and they often do, it simply helps a team get started with some solid guidance from the get go.
Products of significant complexity that involve multiple components, or use microservices, are especially in need of software architecture decisions as in lieu of this the complexity of a solution can quickly fall into technical debt that must be paid back at the expense of adding value.
Any team that has a designated person who is the Software Architect should try and select someone who is willing to solicit ideas from anyone on the team. This person should be an advocate for others’ contributions to software architecture and balance their experience with leveraging the ideas of their team members.
All Content about Software Architecture
June 26, 2022 | 13:37
The syntax and patterns you use on software projects don’t matter nearly as much as the standards you hold yourself to for professionalism.
April 20, 2018 | 15:30
It’s tempting to jump into refactoring code that’s hard for you to understand. But make sure you’re doing it for the right reasons!
February 6, 2018 | 21:48
Technology addiction hurts your software development career if materialism makes you get caught in “new framework disease” and chase shiny objects.
January 29, 2018 | 29:33
Only democratic teams that have an inclusive technical culture bring out the best in people by giving them shared ownership over software architecture.
August 24, 2017 | 45:49
Whether they realize it or not, many people in software development companies select processes based on their tolerance for uncertainty.
July 19, 2017 | 22:28
Evolving software architecture to adapt to product growth helps you deliver faster and refactor easier as the project progresses.