Experience of doing business with companies from the United States and Europe highlighted the core principle of staffing that we follow: every team member personally generates straightforward value for every project that we work on.
We don't have middlemen: those narrowly focused interpreters or salespersons. Instead, we encourage all team members to speak fluent English, to learn the basics of project management, and to upgrade their soft skills.
Being a small yet well-organized company, Effective comprises Centers of Excellence: departments of iOS, Android, Flutter, Python, Quality Assurance etc. Discipline Leads, true patriots of Effective and results-driven experts, are in charge of the departments. These smart and open-minded people fully support their sub-teams, handsomely share experience with the teammates, and organize the ongoing training.
All our engineers are passionate tech people: excellent in their domain and well-compensated. Somehow we have almost no juniors, and those juniors who work at Effective become seniors in a relatively short time because of the supporting environment.
Still another department is a Delivery Center. Here one can meet Technical Project Leads: formerly engineers or analysts with deep product knowledge, they are responsible for the overall project efficiency. Speaking the same language with business, they understand priorities and guarantee that all stages of project execution will meet time, budget, and scope expectations.
It is a Technical Project Lead who starts any communication with respect to a new project. Most commonly this person will be a Design Engineer at the beginning of project activities. Moving forward, TPL will assemble a team, take over a leadership role, and become the life and soul of the project.
This approach enables Effective to be excellent at ambitious projects from scratch, and we did prove it more than once over the last years delivering digital products of the highest possible value.
Project Execution Stages
Every complex project execution must have multiple stages, where every stage provides some reasonable business value. No matter what stage we are at, we are guided by our solid experience taking the most out of Scrum and Kanban.
Being a container for various practices, Scrum gives us a clear vision of team collaboration principles, the rhythm of work, and transparency as a key aspect of delivery. We also use Kanban as a Scrum extension that is ultimately focused on workflow visualization and the bottleneck treatment.
Together these two methodologies help us to deliver the business value efficiently and in due time following the order described below.
We treat every client project as gently as our own: that is why we are eager to dig into their area of expertise and to learn everything about the primary audience and the typical use-cases.
After some preliminary investigation we understand what kind of solution meets the business needs: a mobile app, a website, a chat bot etc. We never recommend something we did before just because we can do it: we would rather attract more talents to provide exactly what satisfies all requirements.
Discovery phase can last 1 or 2 weeks for complex projects and about 1 or 2 days for those that already have alternatives in the market.
As a result, our client will get a high-level development plan with the scope of work described without going into details. This document also indicates rough estimates of time and budget of the project.
We continue research on this stage focusing on the future implementation: study use-cases and edge-cases in depth, and proceed to the frontend and backend design.
On the frontend we perform UX-research and create wireframes for all pages or screens of the prospective digital product. Design thinking helps us to be as creative as it is allowed by the current task.
On the backend we design the software architecture and propose the initial structure of the database; we also create the pattern of communication between all the system units and list the frameworks and third-party solutions to be used during the development.
The resulting multisection documentation will describe the scope in full giving an intimate understanding of time and budget of the project as well as a team composition (with options if applicable). It will also specify the external paid services and the operating costs that are expected in the digital product lifecycle.
For some types of projects this stage secures 80% of success. We hate to say that for the client it can also cut down the future expenses because even a low cost team can do a good job guided by a well-documented Solution Architecture.
This stage can start in the latter half of the previous one, or it can be even skipped if the research figures out that a ready template can be used for a particular project. Assuming that professionally-designed templates reveal the potential of the digital product saving time and budget, we are open to their implementation.
To make our client stand out from the crowd, we work with a pool of partner design agencies. Design outstaffing makes us flexible: subject to a project, we can engage a skillful old school artist to create a set of aquarelle backgrounds, or a modern illustrator to have those stylish icons that everyone will adore.
First we present the design concept through the example of the home page and one of the inner pages (or screens). Once approved, it is being spread on all the other layouts.
Every interface we create is inspired by the data we are working with. To make it accessible and visually appealing, we use the knowledge of color psychology, follow the typography traditions, and attend to each detail that will contribute to the quality of the digital product.
Technical Project Lead on this stage is a person to ensure that all the layouts being created deal with the challenges of the project and are totally technology-friendly.
Development and Quality Assurance
Having no doubt, this stage is the longest for the team and the most challenging for the engineers. At this stage we use both Scrum and Kanban to the full extent to run perfect sprints 1 or 2 weeks long depending on a project.
Every sprint we prioritize the backlog and focus on the mid-term results. To deliver a certain business value at the end of the sprint, we follow the best engineering practices. Among these are version control, code review, continuous integration, and test automation.
We provide quality assurance throughout the development lifecycle. With a deep understanding of use-cases, our QA engineers design a test plan and perform all kinds of test work including regressive and load testing. Trained to act as real end-users, they can also report usability concerns if there are any, and give the team a chance to fix it early.
Transparency is king: we are happy to have regular meetings with the client, we can frequently report via email, and of course we keep things organized on a Jira or Trello board.
Together with a client we adjust the development process if and when it is appropriate. We do welcome requirements changing if it makes the digital product more competitive in the market.
We give a warranty for every digital product we worked on, that is why the first maintenance period is free of charge. The duration differs depending on the project: for example, after 1 year of development 3 months of support will be enough to fix all possible trivial bugs discovered in the release.
We also provide long-term technical support including server logs monitoring, third-party applications updating, and minor operational development within the contract.
Very often this final stage gives us a chance to go back to stage 4, 3, or even 2 to introduce some new killer features of a successful digital product for a client considered to be a long-time friend.