A good software architecture enables agility

Author Topic: A good software architecture enables agility  (Read 2335 times)

Offline iftekhar.swe

  • Full Member
  • ***
  • Posts: 144
  • মানুষ তার স্বপ্নের সমান বড়
    • View Profile
    • DIU_SWE Faculty
A good software architecture enables agility
« on: September 05, 2018, 05:47:18 PM »
There still exists a common misconception that "architecture" and "agile" are competing forces, there being a conflict between them. This simply isn’t the case though. On the contrary, a good software architecture enables agility, helping you embrace and implement change; whether from changes in requirements, business processes, mergers, etc. What is considered a "good architecture" is still up for debate of course but, for me anyway, the core characteristics of a good architecture relate to good modularity reached through an appropriate decomposition strategy. If you've experienced the pain of making a major change to an existing big ball of mud, where seemingly unconnected parts of the codebase break, then you'll appreciate that having a well structured codebase (good modularity) is important.

A big problem I see with teams today is that they adopt, what George Fairbanks calls in his Just Enough Software Architecture book, "architecture indifferent design." In other words, they adopt an architectural style without necessarily considering the trade-offs. In today's world, this is commonly manifested in teams adopting a microservices architectural style simply as a reaction to their existing monolithic codebase being considered a mess. Jokes about these same teams subsequently creating a "distributed big ball of mud" to one side, it turns out that the process of software design and decomposition is hugely important, irrespective of whether you're building a monolithic or a microservices architecture. You don't get agility or a good architecture for free. Some conscious design effort is needed and trade-offs need to be considered. This, again, is why creating that starting point with some up front design is crucially important.
_________________________
MD. IFTEKHAR ALAM EFAT
Sr. Lecturer
Department of Software Engineering, FSIT
Daffodil International Univeristy

Offline s.arman

  • Sr. Member
  • ****
  • Posts: 260
  • Test
    • View Profile
Re: A good software architecture enables agility
« Reply #1 on: April 16, 2019, 07:53:37 PM »
Thanks for sharing

Offline khalid

  • Jr. Member
  • **
  • Posts: 84
  • Test
    • View Profile
Re: A good software architecture enables agility
« Reply #2 on: June 29, 2019, 11:24:32 AM »
Thanks for sharing

Offline lamisha

  • Full Member
  • ***
  • Posts: 100
    • View Profile
Re: A good software architecture enables agility
« Reply #3 on: July 10, 2019, 09:38:59 AM »
True

Offline SSH Shamma

  • Sr. Member
  • ****
  • Posts: 364
    • View Profile
Re: A good software architecture enables agility
« Reply #4 on: February 29, 2020, 07:43:34 PM »
Thanks for sharing
Syeda Sumbul Hossain
Lecturer, SWE
Daffodil International University
Contact No. 01918455555