Drive has 700+ articles for digital transformation leaders written by StarCIO Digital Trailblazer, Isaac Sacolick. Learn more.

I still find teams that have adopted scrum and other agile practices but still strive for perfection when trying to conceive architectures and implementation plans. Some will also try to think through every edge case to ensure that designs are fully future-proofed.

This is an unrealistic proposition for most teams and people. There are too many unknowns and too much complexity, and businesses do not give technology times sufficient time to perform exhaustive planning. And as we know, the requirements evolve and new needs materialize.

We’re practicing agile to support evolving requirements, yet many want their architectures and technical planning to be prescriptive and comprehensive.

Planning “just enough” architecture

I believe and always subscribed that the art of architecture is not about overly planning. It’s the opposite in fact. It’s recognizing that you won’t achieve a perfect architecture so your planning must focus on the costs and complexities when you get something wrong.

Here are some questions worth answering about your architecture:

  • How easy is it to perform enhancements without re-engineering dependent systems?
  • Are the tools in place to make it easy to refactor?
  • How will you know that the architecture needs to scale, and what will be your scalability options?
  • How easy is it for new, less-skilled developers to work on the architecture?
  • Is it self-documenting, or do I have to document it separately?
  • What are my options for shifting to a different infrastructure if required?
  • Can multiple people work on the architecture collaboratively?
This is just a sample of questions, but as you can see, these are more questions about how teams are working and less about how the team develops architectures.

Architecture principles for nimble teams

When I think about these questions, it leads to several architectural principles
  • Much less proprietary code – Because more code is hard to refactor and get new developers to maintain. Don’t fall into the trap when a developer says that they can code something quickly because it often sacrifices maintainability.
  • Leverage low code, self-service, and visual programming tools – Especially when it meets 80%+ of primary requirements.
  • Use modern development practices when you do build – Develop with APIs, object oriented patterns, design principles, and common frameworks.
  • Invest in automated testing – Which makes it easier to refactor and extend
  • Have at least basic CI/CD and monitoring – So that the development process is efficient and repeatable
  • Leverage containers – So that applications are portable and scalable
  • Design primitive data models – Data lakes versus warehouses, databases with built-in data lineage capabilities. Virtualize if you can.
  • Target small and portable – If your team has the technical chops, consider micro-services and serverless architectures.
These are far from complete. What you can see here is a greater focus on picking standard architecture practices like APIs, CI/CD, containers etc. and less on engineering perfect designs. It’s a mindset.

Published on:

Leave a Reply


StarCIO

My company, StarCIO, provides leadership, learning, and advisory programs for companies looking to accelerate delivering business value from digital transformation. Contact me if you’d like to learn more about partnering opportunities.


Isaac Sacolick

Join us for a future session of Coffee with Digital Trailblazers, where we discuss topics for aspiring transformation leaders. If you enjoy my thought leadership, please sign up for the Driving Digital Newsletter and read all about my transformation stories in Digital Trailblazer.


Coffee with Digital Trailblazers hosted by Isaac Sacolick

Digital Trailblazers! Join us Fridays at 11am ET for a live audio discussion on digital transformation topics:  innovation, product management, agile, DevOps, data governance, and more!


Join the Community of StarCIO Digital Trailblazers

1 comment:

  1. Thannks for such an amazing guidance! Keep sharing more!

About Drive

Drive Agility, Innovation, Transformation

Drive is the blog for digital transformation leaders brought to you by StarCIO and Isaac Sacolick.

Agility, Innovation, and Transformation are the three primary digital transformation core competencies that every StarCIO Digital Trailblazer must champion in their organizations. Learn more About Drive.


About the StarCIO Digital Trailblazer Community

StarCIO Digital Trailblazer Community

Revolutionizing traditional learning, networking, and advising experiences.

Visit the community


About StarCIO

StarCIO

About Isaac Sacolick

Isaac Sacolick

Author, 1,000+ articles, keynote speaker, Chief StarCIO Digital Trailblazer. Full bio


Driving Digital Newsletter

Driving Digital Newsletter

StarCIO Guides

StarCIO Agile Planning Guides

Digital Trailblazer

Digital Trailblazer by Isaac Sacolick

Driving Digital

Driving Digital by Isaac Sacolick

Driving Digital Standup

Driving Digital Standup

Coffee with Digital Trailblazers

StarCIO Coffee With Digital Trailblazers

Recognition

InfoWorld 2025 Judge
InfoWorld Technology of the Year 2024 Judge
Thinkers360 Top 10 in IT Leadership
Thinkers360 Top Agile Thought Leader
Thinkers360 Top DevOps Leader
Thinkers360 Top in Digital Transfomation
Thinkers360 Top in Analytics
Thinkers360 Top in Product Management

Discover more from StarCIO Digital Trailblazer Community

Subscribe now to keep reading and get access to the full archive.

Continue reading