Migration strategy for your legacy applications?

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:

  1. What are the purpose of your applications?
  2. What business processes do your applications support?
  3. 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?
  4. Are your applications integrated with each other? If so, what are the integration points?
  5. 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?
  6. Are they all internal applications (i.e. internal corporate use only)?
  7. Are they external facing applications (i.e. external users/stakeholders involved)?
    • What are external users’ impact?
    • What are the risks involved?
  8. How authentication and authorization are handled?
  9. 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?
  10. 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.
  11. 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?
  12. 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?
  13. 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?
  14. 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.

Remember:

  • 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)

Database Application Migration

—-

Throughout my career, I’ve been involved in various 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 linkedin logo

 

Enterprise Architecture: Why Business Architecture?

What is an enterprise? An enterprise is a collection of organizations that work towards a common set of goals. It is an interrelated system that is made up of people, customers, suppliers, technologies and its governing boards.

In order for an enterprise to be successful and achieve its mandate, what do you think would be the fundamental things that everyone involved in the business needs to clearly understand?

  • WHO we are?
  • WHY we exist?
  • WHAT we do?

I remember reading it from somewhere that — its crucial for everyone involved in the business to have a clear understanding of the following in order for an enterprise to be successful.

  • Motivation: WHY does the business work the way it does?
  • Function: HOW does the business carry out its work to deliver the value?
  • People: WHO does what?
  • Network: WHERE is the work conducted?
  • Data: WHAT things are needed – resources and information?
  • Time: WHEN does work need to happen?

Common sense, right? However, I’ve seen companies that have not clearly defined or communicated these to all who are involved. “Business Architecture” artifacts (i.e. Company’s vision, mission, strategy, Enterprise Context Model, Organization chart, Business process charts) can provide answers to these questions.

Please remember when creating artifacts:

  • Use simple language and diagrams to convey the message. Your goal should be to create things that can easily be understood by everyone at every level of the organization.
  • Simplify Simplify Simplify! Identify existing complexity – focus on creating things that will help simplifying complexity, keeping your company moving efficiently and creating a foundation to be able to quickly move and adopt to ever changing environment.

Let’s keep things simplebe logical, use common sense and foster collaboration to channel the organization’s energy to take the enterprise to the next level one step at a time! 🙂

Techie Princesa at Signiel Seoul. View of Seoul, Korea from Signiel, Seoul Hotel

View from 92nd floor at Signiel Seoul, October 2018

Enterprise Architecture: Business Event, Use Cases, Use Case Diagram

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.

Continue reading

Enterprise Architecture: Enterprise Context Model (ECM) example

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? 😉

Enterprise Context Model (ECM)

Enterprise Architecture: Technology Architecture

What is Technology Architecture (TA)?

  • A domain of Enterprise Architecture
  • Concerned with the technology that supports the systems that are in use in the organization – both software and hardware technology
  • Describes the software and hardware capabilities that are required to support the deployment of business, data, and application services
  • Includes but not limited to IT infrastructure, networks, middleware, communications.

Continue reading

Enterprise Architecture is…

“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)

Continue reading

Enterprise Architecture: Enterprise Context Model (ECM)

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.

  • Mandate
  • Objectives
  • 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.

CityOfEdmonton-ECM

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.