A cup of tea and couple of biscuits.
First phase where we discuss the client's ideas
This is the first and crucial phase which sets the tone for rest of the process. It is not always true that people of the company who need software solutions are aware of exactly what they want and how to do it. The important role in this phase is interacting with the client to understand their issue and the solution that would turn their issue into an advantage. The process is completed by gathering information, exchanging emails, having interactive sessions, providing options to finally arrive at a suitable solution.
Wireframes are a pictorial representation of the software solution with basic and important information of the software product that will be made. It contains the layouts, placements, features etc of the important screens of the software solution. This brings the developers and the client into the same page without any difference in understandings, if any.
This is the first and important phase in the technical part as the basic architecture, technological decisions, services to be used, functional requirements and many other points are decided to make the software solution a success. This process is undertaken by the technical team under the guidance of the Technical Director and Project Director with utmost care to make use of the available software options to the best of use. Factors like resource optimisation, performance, security, scalability, etc are considered and discussed with the client before arriving at the final architecture.
Cost is always an important deciding factor and it is natural for the clients to expect the possible cost that they might incur for this software solution. So a ball park estimate is given with the available information including the cost of the external service. This is an opportunity to modify the solution architecture due to cost reasons before the implementation phase.
At the end of the previous phase, the process taken place is completely documented. This documentation of the process till the ballpark estimate gives a complete picture of the product and approach to be followed in the process of developing the same.
Providing detailed estimation of tasks, milestones and resource allocation
The difference between the previous phase and this is the amount of work and the details to be worked on to arrive at a more accurate estimate. The modules, tasks, type of resources required, the effort required by each resource are all worked in detail and a clear list of these are provided to the client. This explains the client not only the more accurate cost but also where their money is spent on.
Scheduling and planning are very important in particular situations where the process is already handled manually or by any other software. The work to be done is split into key milestones and a schedule is prepared. This plan details the tasks to be covered in each milestone sets the order in which milestones are executed and the schedule for completion of each milestone. This certainly helps the client to plan other related activities.
It is the resources that decide the quality of the software solution. Utmost care is taken in allocating the best suitable resource for the project. Based on the resource type planned during the estimation, the best suitable resource is allocated to the project from the pool of available resources. The resources are educated about the previous phases to make sure there are no shortcoming in implementation from what is planned.
Software solutions are capable of making our day to day activities more simple and easy. In the process of creating and also during the use of software solutions, facing few risks is inevitable. This phase is to try and predetermine the possible risks and arrive at an optimal solution so that the impact of the risks are reduced and does not affect the basic necessity of the software solution.
This is the era of communication and a proper communication channel is very important for any process to succeed. Hence a clear communication plan containing details of the resources involved in the project, resources in a change of the day to day communications, project managers, escalation procedures, etc is prepared so that the client is clear on the resource to contact based on the situation.
Build technical design of the solution with complete UI
This is the phase that sets the actual implementation of the project where a very detailed technical architecture is prepared. This includes the table design, database design, controller design, process design, etc are all made. Case scenarios are used as much as possible (in the case of agile methodology) and ensure that the design is built with top quality in all the scenarios. This process is undertaken by the Technical Director and Project Director along with the resources involved in the project.
This is the phase where the actual coding work is done. The designs and plans made in the earlier phases are implemented here. Mallow has an internal process and structure to make sure that the implementation does not differ from the plan made earlier. The process also ensures that the milestone plan is followed and the schedules are met.
UI/UX are important factors of a software solution as they are the front ends that define the user experience. The design team of mallow will handle the UI design and if there is a need to cooperate with an external design team is also done based on the needs of the client. The implementation phase and UI design phase are worked concurrently so that the initial beta version has the UI components in phase.
The solution is tested and complete report is provided
Testing is done in the following phases. The process starts off with the Test strategy which leads to test plan. From there a test case is prepared and then executed. Finally based on the results of the test reports are generated
This is the initial stage in the testing phase. This stage where the needs are estimated for the product. Here what exactly to be tested is clearly laid out and the approach to be handled in decided.
This is the second phase of the testing process. Based on the insights from the previous stage the plan of action in a step by step basis is created. The types of tests to be performed and the approach to be followed is streamlined and the complete plan is laid out in this stage.
In the test case preparation stage sample test cases are formulated to conduct the various tests involved in the process. Test cases are prepared carefully based on the specification documents. Traceability matrix is used to ensure that there is no condition is left untested.
Test cases designed will be assigned to various tests. Execution of the test cases reflects the problems faced and estimate the gap found in the practical implication. All the blocking issues are resolved in this phase.
This is the final stage in the testing phase. Once the execution phase is completed the complete report will be generated which contains every necessary test results to make the project go live. This phase explains the problems faced, a summary of the phases and the execution report.
Deployment of the completed software solution
Once done with the application development work, the deployment plan is prepared. This outlines the scope, approach and execution planned for the deployment of the project deliverables. The plan includes relevant information about the system support, issue tracking, escalation processes, roles and responsibilities before, during and after deployment. This also defines all the work steps for complete deployment.
Deployment can be very critical, in particular where an existing setup performs the work. Options like versioning, version control, migration, etc are employed to make sure the solution is deployed and performs as desired.
Real time support and error rectification
The application hosted server is taken care of. The cloud bases SAAS are safely hosted and the server support is provided for the applications.
Any bugs in the software created is avoided by thorough testing. Unfortunately, if there are any bugs in the software, free support is provided for 3 months from the date of deployment for bug fixing. Using the software for 3 months would most probably show up the bugs if any and by the time support ends, the software is good and performs its desired function flawlessly.
As a business grows, it is always required to make changes and improvements to cope with the growth and changes. So, the request from the clients to make improvements are accepted and changes in the software and implement the same. Maintenance solution is also provided where the software that is in production is taken care of and necessary fine tuning is done to make sure it serves the client's business needs flawlessly.