Our Process

From idea to product launch with further support and optimization.
How we do it.
Every single concept requires strong expertise to be transferred to solid technical and business solution which corresponds to market demands. We consider every single Customer as a unique one and choose an approach that corresponds to his needs. Our strong point lies in adopting of development processes that are easy and transparent to our Customers.  
 
One of our key approaches is implementation of prototype which proves correct understanding of your business goals.

Prototyping
A main goal of prototyping approach is to ensure that our understanding of your business goal corresponds to your vision. This approach gives us an ability to gradually get deep into implementation starting with prototyping of general vision for the proposed solution. At this stage we could easily identify any discrepancies in proposed solutions which in future excludes any readjustments in the implemented or partially implemented solution. Accordingly, at this stage your idea will be visualized.
Research
Today's IT market grows very fast and offers a lot of technical and business solutions which means that any decision made should correspond to the latest trends. Market innovations are closely observed by us in order to propose our clients with up-to-date solutions for any application type. Thus, research phase takes an important place in software development lifecycle where technology, usability and business domain know-how are applied to produce software with right design.
Design
Current stage includes detailed business requirements analysis, their transformation into product features, architecture elaboration, definition of quality control approach and test design.
As a result, we receive a clear understanding of demanded functionalities, sufficient technical design and framework which ensures quality of deliverables. Emphasizing on significance of future product development and growth we lay emphasis on the technical aspect in order to make your software easy to scale and maintain. 
Implementation
Implementation is mainly organized in an iterative manner where a bunch of developed and tested features are delivered on a regular basis. The duration of a single iteration is between one and four weeks. At the end of iteration our team presents results of their work at the so called Demo meeting where stakeholders can see what is implemented and provide immediate feedback to the team.
Continuous Integration (CI) is essential software engineering practice we use on the projects. Using means of CI all developed functionalities are merged  on a daily basis what enables seamless and continuous software production.

QA and Testing
Considering testing as a much wider conception, we provide a full set of testing activities which are required to guarantee a good quality of product that we develop. QA engineering team starts from requirements analysis and understanding of business goals with purpose to build realistic end-users cases and define correct test scenarios.
We develop a smart approach for testing strategy which includes efficient correlation between manual and automation testing and low-cost test documentation maintenance. 
 
Deployment and Maintenance
We support our customers in software deployment on their production environment. Next step is application maintenance which might include software improvements based on users feedback, 24/7 support with defined SLAs, regular performance checks, database administration, component updates, licenses management and many more depending on a particular product, its load, environment, SLAs and technologies.
Result matters.

Agile

Doing things right is not enough to ensure positive result.
We use Agile to make sure that what we do corresponds to what you need.

Proffiz chooses Agile as a preferable set of software engineering methods for developing software. Considering it as the most efficient approach to build time-to-market software, client receives entire flexibility of overall development process.

Using means of Agile, software development is organized in an iterative way where each single iteration produces potentially shippable deliverables. Unlike Waterfall style, where at the beginning of a project you invest a huge amount of efforts into comprehensive analysis phase, in Agile you eliminate waste of resources for investigating features which will never be implemented. Instead you focus first on fast delivery of the most important functionalities which are on top of your list.

Utilizing the mechanism of regular features demos, you receive permanent feedback from application users that enables you to adopt requirements as an ongoing process. Software requirements usually evolve over time due to changing situation on the market, end user needs and even due to the fact that it is not feasible to elaborate correct requirements for a complete solution without using it in real life. Thus, you avoid the situation when a finished application does not correspond to your goals set at the beginning.

Key concepts that we are following with Agile is empowering your business with continuous improvement of product and processes to make it even more perfect than it already is.