Process
We manage our projects according to the Scrum methodology with respect to all its artifacts and events. We believe that the client and the development team should work closely together. What is more, we suggest that our Partners take an active part in the whole process. Such cooperation significantly increases the chances of meeting clients' expectations.
Arrangements: we make sure that our Partner is familiar with the Scrum methodology idea and its principles. If not: we organize a crash course of Scrum principles and then make double sure that it’s all clear now.
Pre-development: depending on the character of a project, we have to set up some pre-development essentials. Whether it’s a settlement of a new environment or a continuation of already existing code, here’s what happens when:
a) we’re starting a new project from scratch:
The first thing is to choose a ‘software stack’ (database, front-end libraries, etc.) and, in the case of mobile applications, the supported devices and system versions. The expected user volume should be roughly estimated as this number has an influence on the software or hardware architecture, as well as testing scenarios. We also have to determine geolocation (supported languages and locations, etc.). We will ask you about some additional software requirements, i.e. sensitive data management and security aspects. Think you’d make use of a UX/UI designer? We have some on board, too.
b) we’re overtaking an existing project:
We start with the code review. Always. A thorough code review is a key decision factor before taking over already existing projects. And it’s not only about us. Code reviews are double-edged swords: they reveal the actual condition and functionality of code, point out its strengths and weaknesses. Sometimes they are even the last chance to step back. When the code review is ready, we provide the client with the exact conclusions and further suggestions. Then comes the time of code refactoring. Get more information about code refactoring and managing technical debt.
Dev lifecycle: Developers are fully committed only to their dedicated tasks. Once a developer is assigned to the project, a switch may be made at the express request (of a client or developer). There is, however, a general principle that we do not make personnel movements to support newly-forming projects: first-come, first-served.
Project Management: the main task management tool is a Kanban board:
Trello or GitLab Issue Board for deeper code integration. More complex projects require a few task boards, with a development board separated from backlog and planning. The whole team has access to all boards related to the project.
Communication: one of our primary goals is to communicate effectively. Effective communication within Prograils can be summed up by three words: transparency, readability and comprehension. The majority of the communication within the project should be exchanged within our main project management tool, Trello. Except for the primary tool, we also communicate via different channels (like face-to-face meetings, live chat, Zoom, Skype, emails, phone, Hangouts). It helps us to clarify the process without creating chaos in the main channel.
Ideally, there should be one designated person on client’s site - a decision-making person we will be contacting in case of questions or doubts.
Ninja patching is not allowed. Bug or feature must be reported within the main project management tool, even if already notified via an alternative channel. Any code changes (except for the critical patch) can’t be put into a production server without the final approval from the Client.
Testing: code is thoroughly tested, always. Developers put a code into production once it has been developed and tested. Each developer is obliged to write automated tests after delivering a functional part of the system. Our ruthless manual testers do the 2nd verification by snooping around all the time. They comb through the apps looking for bugs and unexpected features. As everyone, they do know that CSS is awesome.
Design: we can help you with designing interfaces, website wireframes and prototypes of web & mobile apps with regard to needed functionalities. First, we talk with you - recognizing your needs, your vision, understanding what you want to achieve and how to do it. Your current solution is thoroughly checked to figure out what can be improved and what has to be changed. Then we draw, sketch, iterate, discuss, test and present our ideas and proposals to you. Eventually, we deliver - well-tailored interfaces, website wireframes and prototypes of web & mobile apps with regard to needed functionalities
Time Tracking & Invoicing: Meet Teamlens. Our homemade cloud-based management software brings together everything you should know about your business. Teamlens tracks how much time developers dedicated to your project and controls all your costs and expenses. A full monthly report will be attached to every invoice with a written status describing activities spent on performing your project during the preceding period.
Teamlens does not aim to control, invigilate, monitor, or record anyone. This is not a timesheet that counts one’s productivity or checks how many hours one spent at work. At Prograils, in trust we… trust.