Becoming the CIO – The Convergence of I.T. Strategy and Business Value Propositions

The blog written by a future CIO – Chris Ragobeer

Archive for the ‘I.T. systems’ tag

Software Architecture: The road map to a successful customer experience

without comments

Software architecture is a concept in software development that conceptually defines the overall structure of a system.

The term software architecture can be more defined into 3 areas such as:

  1. Enterprise Architecture – The long term architecture and how it aligns with the business strategy.
  2. Data Architecture – Aligns how data is being produced and consumed and its interrelationships between other data objects etc.
  3. System Architecture – How the individual application is structured

You might be asking what the purpose of having a well thought out software architecture is, it’s pretty simple:

Software Architecture is the road map to a successful customer experience

Based on the number of systems an organization has and the number of services that these applications provide, it will determine the type of software architecture you need to implement. At the end of the day, what drives the architecture is the customer experience  of the product. You want to make sure you look at both sides of the coin: the technical side and the business side. A well designed architecture that provides sub-par value to the consumer has no benefit other than creating an  interdependent system that just sits there.

Here are some of the reasons why you want a durable software architecture:

1. Strategic Advantage - Having highly flexible and scalable systems allows a team to quickly adapt to competitive environments and market conditions. The more  modular the system, the more you can align it with business objectives.

2. Designing better systems - When designing new systems you want to pay close attention and be careful about the architecture of the system. If it’s not scalable, flexible and does not perform well in  high load business environments the product or service that you are selling to your customers will NOT be sufficient.

3.  Enables re-use – A good architecture is structured into components that are easily reusable. If there is a function that is used many times it should be isolated. This lowers the cost to create additional functionality as well as it makes things easier to debug when resolving issues because the core functionality related to that function/service is on its own.

4.  Controls complexity – Systems are complex, have different uses, interactions and integration points. To meet the demand of software systems today, this complexity needs to be properly managed and scoped out. If the system becomes too complex it will be prone to failure and upper management would be less inclined to touch the application and make changes to it at the risk of breaking existing functionality. Note: If you’re system is too complex, it is probably an indication that new design decisions need to be made to make it more robust and easily maintainable.

5. Enforces best practices – Developers and implementers have  a wide array of  options and strategies to develop one solution. There are industry standards that are well accepted and agreed upon by the general software community. Following best practices align with industry standards and objectives.  The number one reason why a system is poorly designed is because it doesn’t conform to best practices.

Conclusion

Software architecture has been here for a while. Many system solutions have different requirements and therefore implement different architectures. In the service based economy, many companies  today are converging towards a service oriented architecture approach  to easily align with the strategy of the business. The most important thing to understand is that requirements and architectures continually evolve. One thing that worked well this year may not be the best solution in 3-5 years from now. Your customer changes dramatically and the architecture and software must adapt to meet their needs.

Written by admin

July 24th, 2009 at 3:04 pm