In today’s business world, digital transformation and automation have become indispensable for all organisations. Many businesses are thinking of creating web applications to keep up with this trend. However, creating an application is a big challenge. It’s not always possible to have an in-house development team due to the costs, technical expertise, and effort required. Managing the tech team and the development process is vital for the success of any technical project.
To make sure you understand the process of creating a web application, we’ll provide transparency about the steps your requirements will go through before becoming a web application. This will assist you in setting realistic expectations regarding the deliverables and timeline, enabling you to effectively plan your business operations and allocate your budget.
With a track record of successfully managing and implementing more than 100 technology projects, we at Mallow have developed a proven approach that accommodates both continuous development projects and those requiring ongoing support and maintenance. After reading this article, you’ll learn about the overall process involved in creating a web application.
What are the different stages before starting the development work with Mallow?
1. Discovery call (Duration – 1 day)
Upon reaching out to us, the first thing we do is conduct an assessment to determine the suitability. Our objective is to ensure compatibility between both parties, ensuring that we meet each other’s criteria. This article, which outlines the criteria for determining the best fit project for Mallow, will assist you in validating whether our capabilities align with your project.
2. Analysing your requirements (Duration – 1 to 2 weeks)
If you already have an existing application, our team will work with you to understand the application. You will be required to provide us with any necessary details or access, such as source code, hosting services, or third-party service usage. Additionally, if there are any specific security/compliance requirements related to your business or the type of data you manage, you will have to let us know at this point. We will sign a Non Disclosure Agreement with you before getting access to the code base.
The development team requires approximately a week (for a moderately complex application) to examine the application and understand the architecture, database design, and logics. Having comprehensive documentation for an application significantly reduces the time required for analysis. In the Agile approach commonly adopted today, it has become common for applications to have minimal documentation. While this is acceptable, our team is well-equipped to handle such situations.
If you’ve got an application idea and are planning to commence development, there’s no need to worry. Our team will sit down with you and discuss your requirements. We will have brainstorming sessions to organise your idea and refine the specifics. We are open to sign a Non Disclosure agreement before discussing your idea.
3. Defining the project management model (Duration – 1 day)
Once the requirements are discussed, there may be several features in your roadmap that we need to review in order to understand your objectives and plan for the next few months. From there, we will define the first set of features to be worked on by our development team.
To execute these features in an efficient way, we will need to determine a project management method to be used. There are many different models available, but two popular options are waterfall and agile. We typically prefer the scrum framework within the agile methodology. With this method, we will set a defined period of time called a “sprint.”
For example, if a sprint is two weeks long, we will plan tasks for the development team for two weeks at a time by coordinating with your business team. At the end of each sprint, we will review the output together and receive feedback. We will use feedback from previous sprints and further work to plan for the next two weeks, and the cycle will continue.
While we prefer the scrum methodology, we will work with you to understand your preferences and choose a suitable project management model that works best for your business.
To oversee sprints, tasks, and relevant communication, we employ project management tools like Jira.
4. Recommend the ideal team structure (Duration – 1 to 2 Days)
After choosing the project management model, we will be working to recommend the ideal structure of the team you will be hiring from us. We’ll do this by discussing your goals and how fast you want to complete the development work.
The primary role required within the team would be developers and in addition, based on the level of support you prefer, we will include the support teams. This could include work on the architecture, which may require a DevOps engineer, or a redesign of the UI/UX which may require a designer. We may also need Quality Analysts depending on your preference to do the Quality check in-house or as part of our team.
5. Signing contracts (Duration – 1 day)
Once we’ve agreed on the team structure, we will sign the contracts, which will cover important information such as ownership of the source code, team structure, cost, etc. We understand the immense effort and dedication required to build a digital product, which is why we ensure you own the source code
6. Project kick off (Duration – 1 to 2 weeks)
After signing the contract, we will require a couple of weeks to identify and gather the necessary resources to commence the project.
To work on an existing application
After finalising all the necessary arrangements and onboarding the resources, the entire team will allocate a few days to thoroughly analyse the application, facilitate knowledge transfer, get required access and commence the project. Our tech team will review the application’s architecture in detail during this phase to assess how it stacks up to industry best practices, and if it is suitable for your business requirements in terms of security, scalability, speed, and reliability. Here is the article that explains to you the process involved in validating the architecture and in validating the code quality of the application
To work on a new application
On onboarding the resources, the team will analyse the requirement, prepare the architecture and database designs during this phase and commence the project.
What does a typical sprint with Mallow look like?
To provide you with a more detailed understanding, let’s dissect each aspect of the development process, assuming the adoption of the Scrum framework. In the following example, we will consider a 2-week sprint duration.
- The product owner works with the business team to decide which tasks should be prioritised.
- When planning tasks for a sprint, the product owner will have a detailed understanding of the requirements and will prepare user stories. These stories will outline the existing functionality, the changes that need to be made, and the acceptance criteria.
- The product owner will address all business use cases that need to be taken into account when implementing these changes.
- Once the scrum team knows the tasks they have at hand, they discuss and agree on the tasks that can be completed within their capacity in the sprint period (2 weeks).
- The developer will analyse and define the technical approach, which will be validated by a mentor. During development, the mentor will guide the team in any technical decisions or complexities that arise.
- Once development is completed, the code will be reviewed by the mentor to ensure it follows industry best practices and standards. Any feedback provided by the reviewer will be addressed, re-reviewed, deployed in a testing environment, and sent to the quality analyst for testing.
- This phase also involves works done by other teams such as design and DevOps, depending on the needs of the project.
- When a design is created by the designer, it will be reviewed internally and confirmed with you to ensure it meets your business and branding requirements.
- Any architecture-level plans or changes made by the DevOps engineer will be reviewed by a senior engineer on the team.
c. Quality Assurance
- We offer a flexible approach to testing based on your preferences and needs. Whether you prefer manual testing, automated testing, or a combination of both, we tailor our testing strategies to align with your requirements.
- Speaking about manual testing, the Quality Analyst will work alongside the development team, preparing test cases for each user story as the development work progresses.
- When the development is complete and sent for testing, the Quality Analyst will conduct different types of testing like Functional Testing, Regression Testing, Performance Testing, Security Testing, Compatibility Testing, based on the complexity and impact of the change to ensure bug-free delivery.
- Speaking about automated testing, the Quality Analyst will configure the feature in the appropriate tool to reduce the amount of manual effort needed for the current and repeated testing cycles.
- The Product Owner will carry out User Acceptance testing. Following which, the product Owner demos the feature to you or gives provision for you to test it hands-on in a dedicated testing environment.
- Your feedback on the feature can then be reviewed and taken into account. Once you are satisfied with the feature, it will be released into the production environment.
e. Release plan
- When a change or additional feature is released in an existing application,
- We will plan the release of the feature very carefully, taking into account how important and impactful it is.
- We will have a reliable plan for rolling it out, but we will also include a plan for rolling it back if necessary.
- This will help us to respond effectively if anything goes wrong, and it will minimise the impact on the system’s existing functions and data.
- When a new application is built and released,
- We will prepare the release plan, implement the architecture, set up required accounts and will launch the application.
f. Maintenance & Support
- To accommodate continuous maintenance and support or continuous development after building the core application, we will have a separate contract. Please note that, there will be a default support period along with the application development which varies based on the complexity of the development.
- The team will regularly monitor the system’s metrics and resource utilisation to ensure it is always available to serve the business needs.
- Live issues will be assigned priority tags and attended effectively in accordance with their importance. We consider factors like Impact on Users, Severity of the Issue, Business Impact, Urgency, Agreement with Stakeholders when prioritising issues.
- It would be unwise to leave the system using a deprecated technology or version. So, the team monitors all version releases and deprecations, and they will handle upgrades and migrations themselves.
What does communication look like between you and our development team?
Effective communication is the key to become a client’s preferred choice, regardless of the development team’s quality, expertise, or other factors. At Mallow, we place extra emphasis on keeping your business team informed about the progress and any deviations from the plan. We provide regular updates, including
Daily or weekly status reports on the work completed
Regular catch-up calls to discuss the roadmap, objectives, and next steps
Updates on task progress in our project management tools
Key performance indicators (KPIs) on task performance and delivery
System health metrics
Regular calls with your management team to discuss on your strategic points
We customise the frequency and content of each item to align with the specific requirements and preferences of our clients. We collaborate with clients globally, which means we carefully schedule the availability of our development team to ensure we’re working in your time zone for discussions and support.
Our internal communication and email system primarily revolves around Microsoft products. However, when it comes to collaborating with you, we prioritise accommodating your communication preferences by offering a range of options including Slack, Basecamp, and other suitable channels. Furthermore, while we are open to exploring alternative communication channels, we also recognize the significance of emails and employ them to a certain extent.
You don’t need to constantly check in with the development team for every task or every day. You can assign objectives or plan the roadmap for the team and receive regular progress updates throughout the project.
We handle resource availability and address attrition by providing suitable replacements.
We provide a dedicated point of contact so you will have someone handy to reach out for anything you require.
What if you are not satisfied with Mallow?
While it is notable that 95% of our clients choose to stay with us for extended durations, we understand that circumstances may arise where you wish to discontinue our services, whether upon project completion or during its progress. In such instances, you can proceed with the termination without encountering any obstacles.
The notice period terms will be mutually agreed upon in the contract, and we kindly request your adherence to them. By observing this requirement, we can ensure a seamless release of the project, including source code, relevant accounts, and credentials.
So, how much does it cost to work with Mallow?
This article would have equipped you with the knowledge and insights necessary to navigate the web application development process, set realistic expectations, and make informed decisions when working with Mallow. This assurance and transparency will give you confidence in moving forward with your project.
If you have any questions about the cost of building a web application using Ruby on Rails, we encourage you to read our article on what is the cost of building a web application in Ruby on Rails. This resource will help you understand the factors that determine the cost and rates associated with web application development.
If you have a web application built on Ruby on Rails and would like to discuss how our team can assist you, please reach out to us. We are thrilled to connect with you and explore how our expertise can contribute to the growth of your business.