Requirement study is the critical first step to set the right direction by defining and assessing the problem right. We Firmusoft® facilitate metric-based evaluations and swift development with minimal navigation and usability problems through UI and UX emphasized rapid prototyping. Customer feedback forms the crux of every successful deployment.
We believe Requirement Analysis is critical to the success of a development project. After collecting the initial set of requirements from the client, a concrete assessment of the problem in hand, the prospective users, existing system (if any), similar products by other competitors etc. are done. With this as input, a detailed requirement specification document is generated in consultation with the customer. The requirements identified shall be functional/non-functional, actionable, measurable and testable units that are defined to a level of detail sufficient for system design. We resolves critical problems with the right approach that brings together with right technology, mature processes and talented professionals. This stage involves the analysis of requirements or the problem in hand through comprehensive study of the clients' business processes. We suggest solutions or give input on components to enhance the clients' business. An impact analysis is done to assess the risk involved in the entire process.
Now it is time for us to create a detailed concept design of the system. Prototype models are developed initially. Prototypes help the clients review the user interface and some of the abstract functionalities of the application during the initial phase itself, helping thereby to minimize rework at a later stage in the development cycle. The number of functionalities included in the prototype depends on the size and complexity of the end product. Most often, the prototype application is developed further to add the remaining functionalities to become the final product. So for us, the prototype is not a trivial application that can be shelved after approval
Development is done in an incremental manner, with Programmers, Testers and the Customer participating in each iteration. The iterations may be as short as a week in duration and each incremental build is reviewed by a customer representative. By analyzing the product at each stage, the customer can make affirm that the development is heading in the right direction. Developers take utmost care to make the core infrastructure of the product robust and extensible, so that future enhancements can be plugged into the product in a cost effective manner. The source code will also be well documented for the benefit of future programmers.
The QA team at Firmusoft® supplements our developers to make sure that the modules in each iteration of development are fail proof. Integration tests are performed in each iteration cycle to ensure that functionalities in the previous iterations are not broke. A full system integration testing is performed at the close of the product development for the product as well as any setup programs. Once the product passes the functionality tests, it's tested for performance. Performance testing is conducted under heavy loads, heavy repetition of commands, providing complex values as input etc. Reliability of the product is measured by running it continuously overnight for several days. Performance parameters like Mean Time between Failures, Mean Time to Fail, Mean Time to Recover etc. are computed.
The QA team is responsible for generating the test plan, test cases document and test reports to be reviewed by the customer.
White box testing is performed depending on the availability of source code. At the first level, functionality tests are conducted using requirements specification, user guide or test cases document.
The finished product along with design documentation, user manual, test case documents and test reports is handed over to the customer. Even though the client had been involved in the development cycle at various stages, a demonstration of the installation and use of the final product is made to get the customer acquainted with it. The customer is requested to perform acceptance testing at their end. From this stage on, we begin a new relationship with the client. We provide support and maintenance services for the product. There will a help desk provided to the client where they can report any emergency issues and will be attended to, in a most time efficient manner.
Firmusoft® Solutions have expertise in maintaining applications developed in various platforms and frameworks like Web applications, windows based applications (DOTNET/C#/C++/VB), Java based applications etc. In cases where it is not feasible for the customer to build a new application from scratch, we modify their existing application by adding new functionalities and optimizing it, to meet their new requirements.
We have evolved a process model to perform the maintenance activity. The available documentation on the product such as design documents (class diagrams, database designs etc), source code, install manual, user manuals, help files etc should be made available. A risk analysis is carried out to identify the modules that will be affected by the changes. Depending on the current design of the product, we may decide to plug in the new functionalities into the existing framework, or re-do the design in the most minimal way possible to make it more robust.
A test plan is developed for testing the new changes. Any missing documentation could be redone at this stage. A project plan is finalized which also prioritizes the changes. An incremental development strategy is followed here, so the clients can review the changes at each stage. Versioning is enabled to facilitate smooth roll backs. At each stage testers make sure that product functionality is not broken at any level and compatibility is maintained.
The project is managed to ensure the smooth functioning of operations and to verify that quality, productivity and delivery deadlines are met. Due to any unforeseen reasons, if the project productivity does not meet expectations, we have a process to address the issue and set it right.
In order to ensure that our clients are at ease while doing business with Firmusoft® Solutions, we have a relationship management program that continues for the entire lifecycle of the project. A single point of contact would be provided to the customers to address the issues. Periodic reports, reviews and other project management tools are provided to ensure a comfortable outsourcing experience to the clients.