Software Development

Everything is a project

We treat software development as a project. Before we begin development we initiate a project and perform proper analysis to determine the correct business and technical requirements, software development approach, and other relevant activities. As part of solution options assessment, we check if there is any available existing software that can be used to satisfy the needs or be used as a foundation for the application. If there is not an existing solution we can design and develop software to satisfy your needs. (Of course if you've done all the analysis and evaluation then we can jump into the design phase).

Software Design

We strongly believe in creating the right design for each project. The level and depth of design will depend on the application in development. The development approach and design level for a simple consumer mobile application will drastically differ from a complex cross enterprise application with incompatible data formats and technology frameworks across systems and organizations, and with stakeholders on different continents. The Functional Specifications, Software Requirements Specifications, Detailed Design Documents, and Quality Assurance Plan among other documents will be prepared according to the project plan – custom tailored for each project and development requirements. The goal is to prepare sufficient design for a project at hand – no more no less. There is no value in producing unused design. Sometimes it is not possible to design portions of the system until later in the project. Other times a particular module is not necessary until after the initial release. With these situations in mind, it’s important to avoid having to rewrite all or part of the code because of a missed requirement due to poor design or realize that a particular module cannot be built due to hardware, data or platform limitations.

Web and Mobile Application Development

Based on the design developed or based on the design provided, the process includes testing, performing parallel run (when applicable), deployment and support for web software applications. Development includes web, desktop (very rarely need these days) and mobile-based applications. The platform, type and version of the software will be determined according to the project requirements. Application testing and quality control is performed and documentation and user training is provided as required.