Showing posts with label Enterprise Architecture. Show all posts
Showing posts with label Enterprise Architecture. Show all posts

Thursday, April 16, 2020

Using Enterprise Architecture Framework (TOGAF) in an Agile Way

Ensuring your organization follows best practices, frameworks, tools & deliverables recommended by an Enterprise Architecture framework like TOGAF is a daunting task. Often, we start with high-energy and commitment but the journey to get it in practice in your organization is not an easy path.

A pragmatic & progressive way towards building an enterprise architecture capability is similar to Agile methodology where we build the product incrementally. Considering a similar mindset, we can incrementally build enterprise capability and every cycle of TOGAF ADM helps towards achieving the same.

Key idea is to identify the top 3 deliverables or artifacts relevant to your organization and also use TOGAF framework in conjunction with the Agile framework in practice. 

Here is an example of going through various phases of TOGAF and brainstorm on identifying Top 3 Deliverables as an output of the first cycle across various phases.  




In conclusion, starting small and build on top of it is key to the success of getting enterprise architecture practice gets established in your organization.

Reference:  
https://pubs.opengroup.org/architecture/togaf9-doc/arch/

Wednesday, March 4, 2020

3 Key Metrics for Measuring Software Quality

As a software architect, software quality is always on top of the priority and we are measured by the quality we deliver. While we have many tools to measure & control software quality, but before the how part, the first step is to figure out what to measure for quality?

In my experience and expertise, there are three dimensions of quality as part of delivering product/software:
  1. Build Quality: Code quality meeting functional & non-functional requirements
  2. Delivery Quality: Delivering Code does not always help; business/executive team likes to measure success in terms of cost, time & quality
  3. Functional Quality: To ensure code propagated to production meets all testing nuances
For each of the dimensions, having a defined "Quality Index" based on metrics applicable for your organization or product helps to build and deliver a better quality product.




Once the metrics have been defined, automating capturing/measuring these metrics, monitoring regularly and acting based on the information to improve iteratively helps to improve progressively.

Based on above, Software Quality Index needs to be defined, measured and baselined for each product:
To conclude, strategy to define software quality is usually tailored for each organization & does not need to be an afterthought.

Friday, July 2, 2010

Enterprise Architecture | Why is it important?

Enterprise Architecture practice has been there for decades but in last few years it is regaining popularity as it is one of the key initiatives driven by CxOs.

So, why is it important for an Enterprise?
Here are some of the key rationale behind the same:

1. Holistic Approach
Individual divisions across the enterprise only address business problems in their vicinity; but EA team will have holistic point-of-view and work towards in addressing the problems across the enterprise.
For example, having a Credit Card Loan Processing System for London division is addressing locale specific business demands but EA team can align this solution at enterprise level & might provide inputs to make it generic for making it reusable across the enterprise.

2. Consistency in Delivering Solutions to Business Problem
Once we have EA in place, a business solution can be delivered in more structured & consistent way. Established Reference Models for Business Demands
For example, if there is need to develop a Credit Check System, then enterprise reference model (if not available, then Industry Reference Model) will help in establishing consistent architecture for this solution.

3. Building Enterprise-wide Repository
Repository created in the process of establishing EA in an organization like Tools Repository, Architectural Artifacts Repository will encourage reuse & standardization across the enterprise.

4. IT Governance
EA goes hand-in-hand with IT Governance & collaboratively helps in establishing governance across the enterprise, which helps in building controlled & directed corporation. It acts like a framework for leadership, organizational structure, business processes, standards, practices, etc.

5. Defined Business/Technical/Information System Architecture:
Last but not least, as part of EA establishment in the organization, a clearly defined business, technical and information system architecture gets developed during the process. This also creates opportunity to business & IT people to come together & re-validate them.

Some of the popular EA frameworks are TOGAF, Zachman, FEA, Gartner, DoDAF & I have seen most of time there is a custom EA architecture extracting best of the practices/standards/tools from all of them.

Feel free to discuss it further in more detail.


Disclaimer:
All data and information provided on this site is for informational purposes only. This site makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.This is a personal weblog. The opinions expressed here represent my own and not those of my employer or any other organization.