We understand that
-
any software development has number of risks
-
outsourcing adds more risks due to its remote nature
We identify following risks and measures:
-
delivery in time
-
we provide project status reports, so that progress is clearly visible
-
we make realistic plans
-
we use complete solutions (either open source or proprietary) where possible
-
-
delivery in budget
-
in case of fixed budget – we agree on the budget before project start and if project require more efforts – it is our own expences, not our customer’s
-
in case of pay-per-hour – we look for most cost-efficient ways of achieving result
-
-
usability (risk that users will not like or will not understand the product)
-
we pay attention to usability from the very beginning of the project. We define most frequently used “paths” of user interaction and optimize these paths.
-
when doing optimization we keep in mind that users will have different level of competence, so we put hints where necessary
-
for those features, that include complex computations, we make our software clearly show user how these computations are performed step-by-step
-
-
scaleability (risk that product will not scale)
-
we choose scaleable solutions where possible, so that adding more servers or cloud resources allows our projects handle more users.
-
we tell customer limit, after reaching of which we’ll need to make significant architecture changes for futher grow.
-
-
reliability
-
we use only proven reliable technologies
-
for those open source solutions that we use, we have engineers, who are able to drill down into the code and make fixes.
-
we can provide 24/7 support on demand for extra price. Otherwise we normally troubleshoot any issues within 1 hour during working hours.
-
we use stress testing procedures on our projects.
-
-
technological risks – compatibility issues with other products, shutting down of 3rd party services, lack of maintenance for 3rd party products, etc
-
we have big experience in software-to-software integration and we understand that 3rd party software and services evolve. We provide after-deployment support for our products on a pay-per-hour basis.
-
when using 3rd party services we always provide clear logs for interaction process to make troubleshooting easy and quick.
-
when using 3rd party products/libraries we notify customer of possible lack of maintenance. We always prefer to use open source solutions, so that any maintenance could be held by our engineers.
-
when it comes to using of proprietary file formats – we always try to make alternative formats available.
-
-
intellectual property and licensing
-
we prefer to use open source solutions with clear licensing. We always tell our customers which products/libraries we are going to use and which licensing options are available.
-