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

 

What “Agile” means to me

I was introduced to the terminology back in 2009. The team I was part of adopted agile practices and followed Scrum process for delivering quality web applications. Process made sense and we delivered great results (new production ready functionalities) every month. Since then I had countless conversation around “Agile” with many people in various positions and here is my two cents on what “Agile” means to me in a simplest form.

agile

It’s about finding ways to reduce the distance between the point (A) & (B). Along the way we build great relationship by working closely together towards common goals, and as a result we deliver values to our clients.

Continuous learning and collaboration to find ways to quickly adopt to ever changing environment, and deliver quality results in the shortest time possible to satisfy client’s needs.

Make sense? 🙂 What does “Agile” means to you? I would love to hear from you, please leave me your thoughts in comments box below.

If you would like to check out my full presentation on Agile Principles and Scrum, please check out my previous posting on Agile Principles & Scrum Framework (version 5.0).

mural tiger exhibition at Toronto Zoo

Amur tiger exhibit is open at The Toronto Zoo. If you are in Toronto area, go check out these magnificent tigers!

Me, Myself and I as a Leader

Think Why first then How
I clarify and analyze the cause behind the problems before I start thinking about the solutions. I believe that clearly understanding the problem is the first and most important step in finding the right solution.

Analyze before Act
I don’t react to issues. I gather facts, analyze and develop most sensible and appropriate action plan based on analysis, knowledge and experience.

Value Quality than Quantity
I value the quality of work more than the volume of work. I want to feel proud in what I do and put my name on, not just get the work done as much as possible. 

Own Mistakes and Learn
I take responsibilities for my mistakes and learn from it. I don’t just sit back and not bother trying because of fear of making mistakes. Nobody is perfect and everyone makes mistakes. I believe that making mistakes is just part of learning. We will fall in our journey but will get up together much stronger each time.

Think, Plan and Do!
I am a thinker and planner but more importantly I am a doer who is ready to get hands dirty and work together with the team to get the job done. I enjoy walking with the dreamers, the believers, the courageous, the cheerful, the doers and the problem solvers who are honest, open minded and believe in “We are in it together, let’s work together to make it happen!”. 

Believe in Simplicity
I believe in beauty of simplicity. Breaking down the complexity, making things clear and simple allows us to identify what is necessary and important, and focus our energy on those important things to get the job done.

Build the Trust and Respect
I believe that there is no ‘team’ without trust and respect. I work on building trust and respect by being honest, doing my best and listening to others. I believe that collaboration happens naturally when the team build the trust and respect for each other.

Connect with me on LinkedIn linkedin logo

Techie Princesa at the ROM, Spider Exhibition
Photo taken at the ROM in Toronto (Spider exhibition)

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

SAML (Security Assertion Markup Language)

It’s been a while since I’ve posted something with my techie hat on, so I decided to share couple diagrams I’ve made while back to explain how SAML works.

SAML, Single Sign On

I am not going to do a whole lecture on what SAML is on this post but here is a brief explanation for those who may not know what it is and are wondering. 🙂

What is SAML (Security Assertion Markup Language)?

  • It’s an XML-based, open-standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider.
  • Wikipedia: SAML

Continue reading

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)