In order for an organization to be successful and achieve its mandate, what do you think are the fundamental things that everyone involved in an organization needs to clearly understand? Three questions initially came to my mind:
- WHO we are?
- WHY we exist?
- WHAT we do?
There are few variations and opinions you will encounter when reading through articles on this topic. However, the following are the common themes in a simplified form and we needs a bird’s eye view of an organization to be able to answer these questions.
- Motivation: WHY does the organization work the way it does?
- Function: HOW does the organization carry out its work to deliver the value?
- People: WHO does what?
- Network: WHERE is the work conducted?
- Data: WHAT things are needed – i.e., resources and information?
- Time: WHEN does work need to happen?
The discipline of holistically looking at an organization and conducting it’s analysis, design, planning and development is called “Enterprise Architecture“. Refer to Zachman Framework and The Open Group Architecture Framework (TOGAF) if you are interested in learning more about widely used Enterprise Architecture frameworks.
Well defined Business Architecture Artifacts such as below can help providing answers and bringing clarity to those questions.
Please remember when creating artifacts:
- Use simple language and diagrams as appropriate to convey the message.
- Your goal should be to create things that can easily be understood by everyone at every level of the organization. If it’s complicated and hard to understand, no one will reference and use them.
- Simplify Simplify Simplify… and Simplify!
- Break down existing complexity – prioritize and focus on creating things that will help simplifying complexity, and support establishing a foundation to keep your organization moving efficiently, enable to respond quickly and adopt to ever changing environment.
Let’s keep things simple! Be logical, prioritize and focus on things that are important, communicate clearly using plain language to get everyone on the same page, foster collaboration to channel energy of your organization… and take your organization to the next level one step at a time!
View of Han River from 92nd floor at Signiel Seoul, October 2018
Are you looking to retire your legacy applications or invest in new technology platforms to serve the need of your business better?
It’s important to remember that Technology is a Business Enabler.
- Buying a new technology will not fix your broken and/or inefficient business processes.
- Do not choose and invest in new technologies unless you clearly understand the business problems you are trying to solve.
- Technology will drive process improvements and transform the way business function if and only if it’s carefully chosen based on the business needs and used to support optimized business processes.
Here are some questions that will help you when formulating the migration strategy for your legacy applications:
- What are the purpose of your applications?
- What business processes do your applications support?
- If you have multiple applications in scope for the migration, are there any commonalities between them?
- Important! Do you see an opportunity to consolidate them into a comprehensive, integrated enterprise system to reduce technology footprints and improve business processes?
- Are your applications integrated with each other? If so, what are the integration points?
- How large, complex your applications are?
- # of forms, screens, menus, # of reports, complexity of reports…etc
- # of databases and database tables, and its association to applications/forms/screen
- Any plugins?
- Are they all internal applications (i.e. internal corporate use only)?
- Are they external facing applications (i.e. external users/stakeholders involved)
- What are external users’ impact?
- What are the risks involved?
- How authentication and authorization are handled?
- Is database migration also in scope along with the applications?
- Is there a central database that your applications are currently interacting with?
- If so, what are the integration points?
- Can each of the application be broken into individual modules (or group of functionalities) to migrate them in groups/phases?
- You can use this as an indicator for determining how you can run the project in agile way.
- How well your applications are documented (i.e. business rules)?
- Is there any tools that you can use to scan existing code to extract business rules?
- Are all functionalities exists currently being used and that they all need to be migrated over to new platform?
- Any unused functionalities that you can retire?
- Can you determine the migration priorities?
- If you have a limited resource capacity, priority must be determined.
- Which application will provide the most business value when migrated over?
- Which application will be most simple to migrate over?
- Which business groups are most open for changes and new technology adoptions?
- Any enhancements that must be considered?
- Are there any pain points raised by the stakeholders that you would like to address right away as part of the migration?
Once you define the strategy, a key to succeed in any migration project is planning, with an understanding that each migration project is different.
- Set a clear migration vision, goals, expectations
- Not one approach fit all, spend adequate time on planning really goes a long way.
- Use agile approach as appropriate for executing development work (see a diagram below for one of the potential agile approach you can take when migrating legacy application)
Throughout my career, I’ve been involved in various digital transformation and migration projects as Applications Architect, Developer, Quality Assurance, Technical Team Lead, Business Systems Analyst, Business Analyst, Project Manager and Scrum Master. To name a few:
- Website platform migration
- Oracle WebCenter Interaction > Oracle WebCenter Portal
- Oracle WebCenter Portal > WordPress
- Enterprise search platform migration
- Oracle Secure Enterprise Search > ElasticSearch
- Enterprise Identity Management platform migration
- Oracle Identity Management > EmpowerID
- Online collaboration spaces, Intranet & Records Management platform migration
- Oracle WebCenter Spaces > Igloo Collaboration platform
- Oracle Universal Content Management > Igloo Collaboration platform
- Database Application migration
- PostgreSQL/Java Application to > MariaDB/Custom PHP Application
- Enterprise E-learning platform migration
- WebCT/Blackboard > Moodle
- Enterprise In-house Legacy Applications (analysis only)
- Custom Visual Basic applications > Java application
Let’s connect on LinkedIn.
Business Scenario given
Sarah, Sammi, Doori are students at University of Toronto. They have received permission from the Administration to run a consultancy Tutorial Service for the students of Systems Analysis Design course. They called themselves the “A” Team. They offer a wide range of services including in-class group tutorials, 1-1 coaching as well as Project Assistance work.They help students to manage and complete their project given in class. In compensation for their work, they can ask for a flat fee of $ 2.00 for each half an hour of consultation and a flat fee of $5.00 for attending the group tutorial. The “A” Team accepts cash payment only. A receipt is printed when payment is made. Any student who has a disability can access the services for free. The School Administration coordinator has also assigned a faculty member to assist the “A” Team should they require subject matter expert advice.
See my first posting for a brief explanation on what ECM is.
Here is an ECM of a fictional company called Techie Princesa Bakery Corporation.
Consider that this corporation has “Always Eat Healthy” Program and they are developing a new gluten-free menu. Perhaps Tim Hortons should come up with some gluten-free muffins and donuts. Sounds like a good idea to me, no? 😉
“a coherent whole of principles, methods, and models that are used in the design and realization of an enterprise’s organizational structure, business processes, information systems, and infrastructure”. (The ArchiMate Foundation)
When trying to define a business, it is critical to understand the context of the business such as the following to ensure that those who are involved have a clear understanding of the business, their roles and responsibilities.
- Key stakeholders (organizations and/or individuals) and the relationships
- Accountability relationships with stakeholders
Enterprise Context Model (ECM) is a Business Architecture artifact that provides a single view of the key stakeholders involved in the business. It also establishes a framework to further breakdown and understand the business.
Here is my attempt to come up with an ECM for City of Edmonton’s Graffiti Management Program.
Refer to “Architecture for the Business – By the Business” presentation by I&IT (Office of the Corporate Chief Technology Office) if you are interested in learning more about Business Architecture and ECM.
Here is a Conceptual Data Model that I produced for an Enterprise Architecture Certification course I took at University of Toronto. My attempt was to create a Conceptual Data model: Entity Relationship Diagram for City of Edmonton’s Graffiti Management Program, based on the information I found on their program website.