Belitsoft>Discovery Phase in Software Development: How Do We Do It?
Discovery Phase in Software Development: How Do We Do It?
Updated Sep 04, 2023
, Published Aug 27, 2023
As a Business Development Director with nearly two decades of experience, I collaborate with clients to narrow the gap in cost estimation, even for the most complex projects, using the discovery phase. Let me share how I achieve this for our clients looking to modernize their core business app.
Contents
CLIENT
Who are our typical clients?
Our typical clients predominantly hail from the US, UK, Israel, and Canada. They're companies with a workforce ranging from a handful to several hundred employees.
They possess proprietary core business application, custom-developed to automate their key business operations.
This software often has a history spanning 10-20 years. While it remains functional, the challenges it presents are growing. Typically, it starts to run slowly, experiences downtimes, reveals an absence of mobile and remote access, and is incompatible with newer features.
Compounding these problems, the original developers who built the software are often no longer accessible. Consequently, successive developers have only made patchwork solutions, ensuring temporary functionality. As these patchwork fixes keep snowballing, they inevitably create more and more constraints. Rebuilding such temporary solutions has no sense. In certain scenarios, the original software simply can't support the essential features. In others, introducing any enhancement becomes prohibitively expensive. These limitations become the company's new normal until they hit a critical impasse.
What are the typical breaking points?
1. A fresh look of a top manager as the legacy software impedes the business growth.
A newly appointed executive, business successor, or current manager may recognize the need for automation and cost-cutting. Why?
The top manager recognizes that the current software no longer offers the business a competitive edge. Questions arise: Why is the staff count so high? Why are we still using outdated tools like Access? Why can't tasks be done on mobile devices?
Upon closer examination, it becomes clear that the legacy software impedes efficient operations. Few employees grasp the intricacies of the business software ecosystem, reducing the company's competitiveness.
Realizing this, the top manager begins the search for a partner to modernize their software, ensuring it aligns with contemporary market demands.
2. The initiative of the head of department to lift barriers for their employees' daily operations.
As the client base expands, ideas for enhancements accumulate. Eventually, it becomes clear that the current software lacks compatibility with newer features, such as mobile access.
The need for experienced developers arises, prompting executives to assign them the task.
CHALLENGE
Addressing the cost estimation gap due to missing legacy software documentation and clear functionality understanding
The client has the software they want to modernize and their primary query is how much this will cost. To answer this, we first identify the best approach for modernization.
There are several modernization approaches to consider:
rewrite everything from scratch
integrate specific modules that tap into existing databases
develop new modules that complement the current system
OR even sometimes just simply support the current system
The manager starts searching for terms like "system modernization", "ERP modernization", "CRM modernization", or other queries (depending on the type of the business app). Through their search, they often discover experts like Belitsoft.
Upon reaching out to us, they typically share a brief overview of their challenges and objectives. In response, we probe with a series of questions to grasp the project's specifics.
To provide an approximate estimate of the app modernization cost, we ask a series of questions to find out the specifics of the project.
However, what happens if the client can't provide answers? They might possess outdated technical documentation, but such resources might not be reliable, especially if they depict functions no longer in use.
Without the details, any cost estimate is a shot in the dark. Clients who've sought estimates without the requisite documentation often encounter significant variances between vendors' quotes. One firm might quote $1 million, while another suggests $100,000, leaving the client bewildered by the vast difference.
We try to provide approximate figures based purely on our experience in the field. Still, there's a potential variance that could range from 1,000 to 5,000 hours.
To minimize this cost estimation gap, most vendors request technical documentation, which, unfortunately, is often absent.
So, how do we navigate such scenarios?
SOLUTION
Bridging the gaps with the discovery phase
Whatever modernization method the client prefers, the discovery phase is a must.
What do we do for you during a discovery phase?
We sign the necessary documents (NDA, security, contract) to kick off the discovery phase with all the details cleared and secured in advance.
Through meetings, we aim to comprehend the existing application. For this, we delve into the application, analyzing its functionality from both user and backend perspectives.
Then, we analyze what the client wants in the new app and what the development team can do for the project. For that, we talk to the company stakeholder groups who work with this software. We gather feedback from users on which existing functions to retain and which to modify.
We draw up all the required functionalities for modernization in a comprehensive document - Vision & Scope, detailing every aspect of the app modernization. We distill business ideas into technical language, ensuring clarity for developers. This foundational document will then serve as the basis for an accurate cost estimate.
Based on the Vision & Scope document, we furnish detailed Optimistic and Pessimistic cost estimates.
Should the client choose to proceed with Belitsoft for app modernization, we promptly provide a comprehensive project plan right after the cost estimation. This outlines the scope, goals, tasks, timelines, resources, and other pivotal project facets.
During my years of work, we've pitched in multiple modernization projects. So before the discovery, we can showcase sample documents and estimates to clients, if required, also provide references.
PROCESS
Breaking up the Discovery phase into transparent agile process
We explain our process to the client, shedding light on the rationale behind each step.
Structured Timeline. We segment the project into releases, further dividing these releases into sprints, which typically last 1-3 weeks.
Regular Demonstrations. At the conclusion of every sprint, we present a demo to our clients, gathering invaluable feedback.
Monitoring and Time Management. Throughout the project, we rigorously track both planned and actual hours spent. Time tracking is meticulous for both sprints and the project timeline. A detailed hour estimation accompanies the project plan.
Transparency through Reporting. After each sprint, the client gets a report on the hours spent and the explanation. This enables clients to assess if we are adhering to the initial timeline. The client decides the next steps based on actual data.
RESULT
Achieving an accurate cost estimate and minimizing risks
The Discovery phase significantly reduces the potential risk of underestimating or overestimating app modernization costs. While the cost estimation gap could be as wide as 100%, after the Discovery, can confidently narrow that down, providing you an accurate cost estimation with a possible 20% gap only.
To illustrate, consider a scenario where the initial fixed-price estimate is $50,000, but the actual cost escalates to $100,000. Such a situation presents a high risk of breaching the contract mid-project, especially if costs rise unexpectedly. Imagine the difficulty for both top managers and department heads in explaining to their superiors how a team was paid a $30,000 deposit but abandoned the project halfway.
The discovery phase eliminated this risk.
Clients benefit from the perspective of external professional consultants who bring a fresh pair of eyes. This external viewpoint is invaluable, especially when internal personnel might be resistant to change or suggest that adjustments are challenging or even impossible.
What comes next?
Typically, post-Discovery, our team is intimately familiar with the application. Having provided a competent estimate, we're primed and ready to kick off the app modernization, evidenced by these cases:
Contact us to get professional FREE consultation and give a fresh look to your business application.
Real-Life Client's Case: Belitsoft Approach in Action
When a client comes to us, we follow all the described best practices and our time-tested approach to analyze the project, providing an accurate cost estimation and defining priorities for the development phase.
Client Background
A US-based company has been in the manufacturing market for a long time. Its owners are aware of software development processes in outsourcing, so they know quite well how to work with a remote team and set up transparent, effective communication.
Client's problem
For over 15 years, the client relied on their in-house custom CRM/ERP for order processing and production tracking, built on MSAccess + MySQL and Visual Basic.
Despite numerous updates over the years, the system, though functional, began showing signs of wear and glitches.
However, the client faced two critical risks that underscored the urgent need for application modernization.
The imminent Windows update to version 11 might render the CRM/ERP non-functional.
The system's legacy architecture hindered the incorporation of advanced modern features.
Proposed solution
The business owners envisioned a modern system, with web-based and mobile versions, tailored to their daily operational requirements.
Regarding technologies, the client was open to suggestions. From my experience with similar projects, there's a possibility to convert the current VB code to C# and retain essential business functions. This approach might save time and budget, but it depends on the clarity of the code. So the final decision should be taken during the Discovery phase together with the client.
Budget Considerations
I provided an initial budget range based on past engagements with similar systems. A more precise figure would be achievable post the MVP 1.0 phase priority setting. This involves mapping out essential functionalities for the new system and any potential additions for MVP 1.0.
The best way to get an accurate budget estimation is to start with a Discovery phase. To initiate this phase, I make a Discovery Proposal to the client. This is a structured guide detailing a project's background, objectives, scope, deliverables, timelines, and constraints. It outlines how the project will be implemented, using a Time & Materials (T&M) approach. This strategy emphasizes consistent budget tracking, expenditure reports, and periodic updates.
This transparency ensures the client is always informed, understands the progress, and can make decisions on any additional requirements or changes that arise. Ultimately, the Discovery phase minimizes potential budgeting discrepancies.
Key deliverables
During the Discovery, we deliver Visual & Scope (V&S) and Work Breakdown Structure (WBS) in about 60 hours.
After the Discovery, we provide a detailed cost estimation, accompanied by Statement of Work (SOW) for Discovery.
The next steps
Post-Discovery, equipped with a comprehensive understanding of the application, our team provides a precise cost estimate. With the client's approval, we then proceed with app modernization or custom development, as demonstrated in our past CRM/ERP projects:
To expedite the discovery phase without sacrificing quality, we employ the following strategies:
Thorough Preparation. Before diving into the discovery session, we immerse ourselves in research. We gather extensive information about the project, delve into the client's industry, analyze competitors, and define user personas.
Time-tested process. Our discovery phase is guided by proven methodologies. Relying on our time-tested scenarios ensures we're always asking pertinent questions, ironing out crucial details, and thoroughly covering all project aspects. This approach ensures a comprehensive understanding without starting from scratch each time.
Client Collaboration. We strive to establish clear and swift communication with the client's stakeholders groups. This is especially true for individuals interacting with the current system and those who'll be engaged with the new one. Their insights streamline the discovery process and guide the system's enhancement.
Focused Prioritization. Not every detail needs to be fleshed out in the discovery phase. Instead, we concentrate on the project's most vital components, reserving more nuanced details for subsequent phases.
Gap reduction in cost estimation. The discovery phase aids in narrowing the gap in cost estimation for complex projects due to a clear understanding of the software's functionality.
Risk minimization. The discovery phase significantly reduces the risk of underestimating or overestimating the app modernization cost, ensuring that projects are not halted midway due to unforeseen expenses.
Gaining external insights. The discovery phase brings in external professional consultants who offer a fresh perspective, especially when internal personnel are resistant to change or find it challenging to adapt to new processes.
Proof of concept for validating the Idea of Cloud-Based Virtual Fuel Cards for a Logistics Startup
We made Proof of Concept and Business Analysis to help the logistics startup validate the business idea of cloud-based virtual fuel cards before starting the full-scale development process.
Migration from .NET Framework to .NET Core and AngularJS to Angular for HealthTech Company
Belitsoft migrated EHR software to .NET for the US-based Healthcare Technology Company with 150+ employees.
Azure Cloud Migration for a Global Creative Technology Company
Belitsoft migrated to Azure the IT infrastructure around one of the core business applications of the global creative technology company.
Our Clients' Feedback
Any software development, programming, or design needs we have had, Belitsoft company has always been able to handle this for us
We have been working for over 10 years and they have become our long-term technology partner. Any software development, programming, or design needs we have had, Belitsoft company has always been able to handle this for us.
Belitsoft has been the driving force behind several of our software development projects within the last few years. This company demonstrates high professionalism in their work approach. They have continuously proved to be ready to go the extra mile. We are very happy with Belitsoft, and in a position to strongly recommend them for software development and support as a most reliable and fully transparent partner focused on long term business relationships.
We can recommend Belitsoft and are looking forward to start a follow-up project
It was a great pleasure working with Belitsoft. Software Development Company. New requirements and adjustments were implemented fast and precisely. We can recommend Belitsoft and are looking forward to start a follow-up project.
We are definitely looking at Belitsoft as a long-term partner
They use their knowledge and skills to program the product, and then completed a series of quality assurance tests. We were working in an agile way with them. Belitsoft performed very well throughout our project. We are definitely looking at Belitsoft as a long-term partner.
I highly recommend Belitsoft for website design and development
I highly recommend Belitsoft for website design and development. We were up against a tight deadline to launch the project. The work was delivered on time and within budget! I will continue working with Belitsoft as a valued partner for our web development!
We would recommend them to anyone who is in need of custom programming work
We have worked with Belitsoft team over the past few years on projects involving much customized programming work. They are knowledgeable and are able to complete tasks on schedule, meeting our technical requirements. We would recommend them to anyone who is in need of custom programming work.
Belitsoft seems to know what they're doing, which I appreciate
Belitsoft company is able to make changes instantly. One of our internal engineers has commented about how clean their code is. Belitsoft seems to know what they're doing, which I appreciate.
We continue today to augment our existing staff with great developers from Belitsoft
Belitsoft company has been able to provide senior developers with the skills to support back end, native mobile and web applications. We continue today to augment our existing staff with great developers from Belitsoft.
We highly recommend that you use this company if you want the same benefits
Belitsoft company delivered dedicated development team for our products and technical specialists for our clients time to time custom development needs. We highly recommend that you use this company if you want the same benefits.
They were able to convert it into a multi-platform software solution
We approached BelITsoft with a concept, and they were able to convert it into a multi-platform software solution. Their team members are skilled, agile and attached to their work, all of which paid dividends as our software grew in complexity.
Belitsoft guarantees first-class service through efficient management, great expertise, and a systematic approach to business
Having worked with Belitsoft as a service provider, I must say that I'm very pleased with the company's policy. Belitsoft guarantees first-class service through efficient management, great expertise, and a systematic approach to business. I would strongly recommend Belitsoft's services to anyone wanting to get the right IT products in the right place at the right time.
If you are looking for a true partnership Belitsoft company might be the best choice for you
If you are looking for a true partnership Belitsoft company might be the best choice for you. They have proven to be most reliable, polite and professional. The team managed to adapt to changing requirements and to provide me with best solutions. I strongly recommend Belisoft.
I expected and demanded a lot of you at Belitsoft company, but you exceeded my expectations
I expected and demanded a lot of you at Belitsoft company, but you exceeded my expectations. You acted pro-actively, challenged me at the right moments. Thanks!
Do you have a software development project to implement? We have people to work on it. We will be glad to answer all your questions as well as estimate any project of yours. Use the form below to describe the project and we will get in touch with you within 1 business day.
Contact form
Contact us
USA +1 (917) 410-57-57 700 N Fairfax St Ste 614, Alexandria, VA, 22314 - 2040, United States