The modern software architect

medium_107267802

Working in software development means working with a lot of different technically skilled people. Those ‘IT geeks’ are still ranked by the same roles that were applied 20 years ago. Going from junior to senior developers, functional analysts, project managers, system engineers and architects.

Let us look at the last category, the software architects. They carry the responsibility of the IT systems in the organization. Not on a hardware or operational level, but on a design level. Whatever the development teams build must be of the highest quality.

A traditional software architect uses his experience and knowledge to guard these requirements:

  • Performance
  • Security
  • Audit trail
  • Technical logging
  • Scalability
  • Technology stack
  • Technical documentation

In most cases this is done by imposing rules and reviewing work. Besides that, most software architects are often involved into the analysis part of a development project as well. They try to make sure as much business scenarios are covered in the analysis phase to make sure the system can handle anything imaginable.

I think you understand that an architect is one of the least popular people in the company. From a business perspective he/she is perceived to be a critical person who always blows up scope and adds extra costs for technical reasons nobody understands. From a developer perspective he/she is perceived to be a bottleneck, always asking for extra information, demanding code to be re-written, approving or rejecting work from his ivory tower.

Like in many other cases this behavior is caused by the system, being the company. When IT is merely a department working on it’s own and hardly interacting with the rest of the organization, their goal is to perfect their own work. Why wouldn’t they? The rest of the company doesn’t understand technology and is always disappointed when things take longer or features turn out to be harder than planned.

Luckily, there is a new breed of software architects rising, the modern software architect. In companies that have chosen the path to embrace technology and use it to their advantage, the traditional IT department is disappearing. Movements like Agile software development are bringing all the different roles in the organization together in their quest to create something valuable.

I’ve seen a software architect is those ecosystems behaving completely different. Instead of focusing on defending the IT department, they are thinking about what’s best for the company.

  • How can we deliver a valuable first version quickly so that we can start earning money or beat our competitors?
  • How can we know that our software is matching expectations? How do we measure that?
  • How can we make our systems scalable? If it is matching expectations, how can we grow it easily?
  • How can we release new versions quickly? Is our deployment pipeline up to the task?
  • How can we refactor our software easily? Because business is changing quickly, our software needs to be able to follow.
  • How can we guarantee quality in such a fast environment where new software is delivered in days?
  • How can we let our people work together and share knowledge?

The difference between a modern and traditional software architect is striking! You could say that a modern software architect has an entrepreneurial mindset. This is the logical consequence of integrating into the organization.

From what I’ve noticed, a modern software architect seems more to enjoy work. It’s no longer an endless battle between the organization and IT. It has become a fight for business success. A fight they’re in, all together.

photo credit: svenwerk via photopin cc

About Nick Oostvogels

Hi, I'm an independent management consultant. My biggest strengths are located in the fields of teamwork, motivation, leadership and continuous improvement. In the IT industry you find a lot of these values in the agile movement, in which I often act as a project leader, product owner or coach. My interests go a lot further, into other industries where we find these values in lean production. Besides that, I try to broaden my horizon as much as possible, always looking for better ways of doing business.

One comment

  1. I hadn’t think about it in those terms and it makes a lot of sense. Not very long ago I was working for a product company in which the architect would not take any advice or comment that would say “his baby” was not a top notch – state of the art solution and he would always come out of his office with the mandates of how everything should work regardless of how the company was suffering to get the new features and fix the defects before the release.

    Now that I am in a consulting company, all the architects are constantly concerned about how to build the highest quality product so the customers are able to do maintenance to the final product with ease.

    Very interesting ideas.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: