Meet your Project Manager
Each project is assigned a PM (project manager) who represents the customer’s interests in our company. This person develops all project details and specifications together with the customer, communicates with various teams inside the company, and reports back to the customer.
The PM is responsible for delivering the project in time and by the specification.
We use the Agile approach to development and delivery. In our experience, this is the most flexible and thus effective method for both the customer and the team.
We receive customer’s details in any form and then work together to distill it into a user story, specification, and an actionable roadmap. All necessary interfaces are sketched out. When the scope of work is defined, the project gets divided in iterations.
Each iteration gets timeframe estimate and includes development, testing, and client review. The team lead assembles the project team and further divides iterations in sprints. Each sprint gets ticketed down.
Methodology: Agile (Scrum)
Project management: Trello, Google Drive, Dropbox, GitHub, BitBucket, Jira
UI, prototyping: Sketch, Invision
The client has access to the project repository so every change in the code can be tracked. Within each sprint, the project manager and developers define daily tasks. Critical parts of the code are covered with unit tests. At the end of each sprint, the code is deployed in the test environment for QA (quality assurance).
IDE: PhpStorm, Visual Studio Code, Xcode
Backend/Frontend: LAMP stack, Nginx, MongoDB, jQuery, NodeJs, WebPack, AngularJs, Cordova, Meteor, TypeScript, Redux
Mobile: Objective-C, Java, Progressive Web App (PWA) development with Ionic 2
Frameworks: Oxwall, WordPress, Drupal, Zend Framework, Symfony, Laravel, and others
3. Testing & QA
We employ both manual and automatic testing (continuous integration), depending on the nature of the code. At this stage, QA (quality assurance) team communicates bugs and the specification discrepancies to the developers and the project manager.
Testing and CI: Unit testing, Jenkins, Selenium
4. Reporting & recalibration
As soon as the sprint output is stable, the project manager presents it to the client and generates a report about accomplished tasks. Upon the client’s feedback, the project manager makes corrections to the subsequent sprints and iterations. This is the Agile methodology in action.
The project is being deployed in the live environment. If the project had been running live before, a merged version first gets tested again before the final deploy.
The team proceeds to the next sprint/iteration. This repeats up until the project is developed, tested and deployed in full. Ensuing mandatory hugs and congratulations.
Professional web and mobile app design is an integrated part of our development services, and you are welcome to take advantage of the streamlined process.
Whether you only have a vague idea or the entire app professionally prototyped, we can pick up from there!
Our design team will create UI after your specification. This UI will be applied and fine-tuned during the development sprints. Just like developers, designers will also be in the feedback loop with you via your PM.
Deploy, update, expand
We set up high-load systems that scale. Our monitoring identifies your app unique footprint and helps us scale resources (CPU, RAM, or disk I/O) without the need to re-architecture or move data.
With growing loads bottlenecks emerge one by one, and our approach allows both intensive optimizations (optimizing each node throughput) and extensive growth (adding more servers).
Continuous integration is a part of the system, so sprints and iterations get deployed with no downtime unless special measures (like data migration) are necessary.
Amazon Web Services (AWS) is our platform of choice but we have worked with other platforms like Rackspace, Google Cloud, Microsoft Azure, etc.
This is only a start
We offer full support & maintenance service for our existing customers on a separate contract basis:
- Uptime management backed by SLA’s;
- System load optimization, infrastructure expansion;
- Technology upgrade/optimization;
- Further development.
We always support our work. Most customers want to continue our relationship and trust us to maintain the projects we developed for them.
Your project manager will be happy to represent your needs during the whole project lifetime.