1 minute read

Knowing the business domain is crucial for being a great Software Architect!

We can even develop the best, most performant, most reliable application ever. But if it does not match the business goals, it becomes quite useless.

What can we do, then?

Understand your business

🏙 Study your organization’s model

  • How is your organization structured?
  • Which kind of products do they sell?
  • Who are their customers?

By knowing your company’s business, you can set the direction of your choices to point to their Vision.

👿 Study your competitors

  • Who are they?
  • What do they do differently?
  • What do they do similarly?
  • What are their strengths and weaknesses?
  • Why customers may choose their products instead of yours?

👼 Study your customers

  • Who are they?
  • What do they expect from your product?
  • What are their needs?
  • Why are they choosing your product instead of the ones from your competitors?

Now you know all about your business and your users. So what?

You must use that data to set the right goal for your product: you have to find the correct balance between the needs of your business, users, and system.

99% of the time, they will not overlap. So you have to find the right compromise between the different goals. And sacrifice some goals to achieve an acceptable result: remove functionalities, lower the code quality… everything needed to achieve a good result.

Seems reasonable, right?

But, again, the most important part is knowing about your business.

Try to grasp the basic concepts of

  • management
  • finance
  • marketing

and the other non-tech-related stuff that may impact the success of your company.

You don’t have to become an expert on those topics: you just need to know enough to foresee the impacts an architectural decision can have on those areas.

To wrap up

🎯 Applications exist for a purpose: make business and customers happy 🏙 You must know how your company works 👿 You should keep an eye on your competitors 🎅 You must know what customers want 📚 Basic knowledge of different areas helps to make the right decisions

Tags:

Categories:

Updated: