From first contact to final project
Every customer journey is unique, of course, but there are many aspects that apply to most projects. In this post, we would like to give you a brief overview of what to expect when you get in touch with us to discuss your modernization project.
I. First contact
When you first reach out to us, you will typically be in touch with one of our Account Executives (AEs). They are experts on our services and collaboration models and act as your constant point of contact on everything Vaadin-related. Our Account Executives also work hand in hand with our Solution Architects (SAs), who aim to add deep technical expertise and understanding of software development projects to any conversations we have with our customers.
Image by Volodomyr Hryschenko via Unsplash.com
Our initial conversations with you will usually focus on two aspects:
Getting oriented on your plans.What type of modernization project are you trying to carry out? An upgrade to a new Vaadin version? Modernization of eroding technologies like Swing or Oracle Forms? Do you have previous experience with web application development – an established team maybe? Or is your expertise in desktop applications and you’re new to the web? What stage are you at? Comparing and choosing technologies and frameworks? If so, what are your choices and priorities? Have you settled on a technology and are trying to get started? Or have you already started and are trying to improve the architecture, or just seeking additional tools or manpower to accelerate the process? Do you need to prove the validity of the concept first, to get buy-in from decision makers and stakeholders? In short, we try to understand the full context of your situation as best we can, so that as the conversation continues, we can provide guidance and support that are tailored exactly to your needs.
We are here to make sure that you fully understand what it is that we can offer.
We provide background and answer your questions, ranging from the free framework to commercial tools and components and full project deliveries. Our AEs will be happy to explain in detail how our commercial offer is structured, and to answer any questions on our licensing model, pricing, availability and logistics. In turn, depending on your background, our Solution Architects are happy to discuss the workings of our framework and tools and how these can be applied in your project. They are also able to provide short demos on aspects that are relevant to you, such as the use of specific components, or tools such as Vaadin Testbench. If there are doubts about interaction and compatibility with other technologies that you may have in mind, SAs can also investigate and give you early feedback.
That said, there is only so much that we can do in initial discussions. When it comes to large enterprise applications that have been built over years, often decades, and have grown to hundreds of thousands or many millions of lines of code, the next step will almost certainly be a thorough, complete technical assessment of your application.
II. Migration / Upgrade Assessment
Modernizing an existing large-scale application is never an easy undertaking. In the beginning, there tend to be a myriad of questions that need to be answered and, more importantly, have a decisive influence on the success of the project, as well as a significant impact on its cost. To give just a few examples of some of the frequent burning questions at this stage:
- Should we migrate the application and reuse as much code as possible or just rebuild it from scratch? (See this post for an in-depth discussion of this question.)
- What is the best way to migrate the application? Where should we get started?
- Is there a way to automate the migration, speed things up and reduce the cost?
- Can we also modernize parts of the UI as we migrate?
- How can we replace the special UI components (maps, floor/ship/plane layouts, timelines, calendars, …) that we use for our business case when moving to Vaadin?
- How can we integrate with hardware like printers, barcode scanners, etc. when moving from desktop to web?
- Can responsiveness (support for tablets and mobile phones) be improved during the migration process?
- Can we integrate with particular old or new systems, such as AS400 mainframe, our Active Directory, external providers like Keycloak or Okta, …?
- Should we do a “big bang” or a phased migration?
And last but not least…
- How long will it take and how much will it cost?
Image by Beatriz Perez Moya via Unsplash.com
Our modernization assessments are a paid, timeboxed service that aims to provide both you and us with a thorough understanding of your application, give answers to these questions to the best degree possible and provide a solid foundation for any further planning. This type of assessment is usually comprised of four steps:
1. In-depth interview of business and technical stakeholders
Before we even get to the code, we aim to further understand the background and context of your modernization project. Here, we are interested in both business and technical aspects. On the business side, we would like to further understand the reason for modernizing, budget requirements, deadlines, stakeholders in the project, update and release schedules, level of support required and more.
On a technical level, we care about browser requirements, dependent systems, runtime environment, testing practices, architectural and non-functional requirements, such as security, performance and availability, plans for code reuse, and much more.
Answers to both categories of questions will then guide the following parts of the assessment and which options are considered or favored for different aspects of the modernization.
2. Semi-automated, tool-based analysis of your code base
A set of custom, purpose-built tools allow us to quickly and efficiently analyze the entire code base of your application, whether it is 100,000 or 4 million LOC. These tools provide a vast amount of data as to which components are being used and in what ways. This is invaluable in understanding which aspects of the application are the most critical, and which parts provide the biggest potential for automation or, on the other hand, pose a significant challenge or risk. In addition, this data provides crucial pointers for the following, manual part as to what to focus on
3. Expert-led manual analysis of key aspects
While the previous step provides invaluable insights, automated analysis can only go so far. Most of the time spent on the assessment goes toward manual analysis of your project and requirements. Our experts, experienced in modernization projects as well as our framework, will outline transformation strategies for many, if not all, of the components in use in your application. Where no direct solutions are available, our experts will investigate the alternatives and their suitability. They will also look into any additional challenges flagged up by either the initial interview or the automated analysis, such as hardware or system integrations, version incompatibility of components in the system, and any other aspects related to the modernization effort.
Our experts will show migration strategies, outline the impact of critical aspects of the system on the migration, and highlight ways to reduce effort / cost and risks. Based on all of this, two independent estimates on the expected effort are made, which will allow you to gauge the time, complexity and cost of the project.
4. Comprehensive report and presentation of findings
Throughout the entire process, results are continuously documented in a comprehensive report that will be handed over to you at the end of the assessment. This report will serve as a basis to further plan – either fully autonomously or with the help of external experts – the modernization project. The report also contains several mapping cheat sheets that your application developers can use as a technical guideline for the migration.
This earlier post provides a concrete example from a past assessment for one of our customers.
In addition to the mostly technical assessment, it is also possible to do an extended analysis called Vaadin Green Light, which includes an additional 2-3 weeks entirely focused on planning the modernization project and provides a full project plan. This covers critical aspects of timeline, schedule, resourcing, testing and risk mitigation with the goal of getting you to the point where you can, as the name suggests, give the green light to go ahead and start the project.
III. Tailored Collaboration Options
Image by John Schnobrich via Unsplash.com
As hinted previously, the outcome of the above assessment is in no way bound to our services or any collaboration with us. The assessment report can serve as a guideline for your own developers just as much as for your preferred vendor with whom you may have been working for many years. Nevertheless, with most of our customers, there were ways – big or small – by which they succeeded in increasing the speed, reducing cost or risk, or improving quality by working together with Vaadin.
An entry-level way of supporting your modernization project is quite often our Vaadin Prime subscription, which provides access to migration-related tools such as Multi-Platform Runtime (for a phased migration) or Classic Components (for reduced migration effort / complexity). However, more importantly, it also offers access to ask unlimited questions via our Expert Chat whenever your developers run into a roadblock. It can even optionally include Expert-on-Demand hours that you can use to book our experts when you need more specific help during the project. This is one of two support options, and is well suited for when you plan to execute the project mostly on your own.
If you would like your developers to have more in-depth and continuous guidance through the project, we can provide a Vaadin Mentor, an experienced senior developer who will be assigned to you a set number of days per week for an entire year. The mentor will learn your ways of working, environment and business and become practically part of your team. They can also cover a variety of needs during the reserved days, from training your own developers, reviewing code and investigating challenging tasks to also participating hands-on in the development of the project. Tap into collective Vaadin knowledge.
Another option frequently used by our customers is the option to book one or more of our experts full-time for specific parts of the project. Very common examples of this would be:
- In the initial phase of the project: Our expert would (help) build the foundation of the new application, set up critical aspects like fundamental architecture, main layout and navigation, authentication and authorization, or a clean template for frequently used view types. This is a good way to avoid common mistakes in the beginning that would be costly to fix later in cases where your developers may not yet have the necessary experience with the Web or Vaadin.
- During various phases of the project for specific tasks: A typical case would be our UX experts helping out with migrating the theme, fixing layouting issues, or improving the look and feel. Other examples are testing experts helping to set up automated UI testing or scalability testing, or our modernization experts running our proprietary automated transformation tool on your code base to automate part of the modernization effort and reduce time and cost. Yet another example might be our client-side experts developing custom components or integrating third-party client-side components to cover specific use cases that Vaadin doesn’t support out of the box.
A third and last way that we support our customers in their modernization efforts is by providing one or multiple developers throughout the entire project, or during extended sections of it. Often, this is simply meant to augment our customers’ own teams, either to leave capacity for other ongoing projects or simply to speed up the project with experienced, ready-to-go developers. In some cases, we take care of the entire modernization project.
Are you looking to upgrade your Vaadin app?
To summarize, from first advice and guidance during initial contact through in-depth technical assessments and project planning to on-demand support, mentoring and full project deliveries, there is a range of aspects that we support our customers with.
If you are considering upgrading your end-of-life Vaadin 7 or 8 application to a more recent version or if you’re looking into bringing your Swing or Oracle Forms application to the web, we’d be happy to hear from you.
Book an appointment to discuss your modernization project.