How we work

We believe that well begun is half done

Project Assessment

Before project start, we always prepare maximum detailed estimation. We’ll appreciate a lot if you have mock-ups, a project brief, and user stories ready.

These help to clear things up for both your and our sides. We get to better understand the idea and offer alternatives which results in more accurate project evaluation.

Working on the materials, you as a product owner also see a more complete picture saving yourself from costly future changes.

Expect us to be enthusiastic participants and share our ideas through Balsamiq or UXPin mock-ups as well. We’re fans of visual representation and believe that a picture is worth a thousand words.

Project Start

We move on to iteration planning. We define work sequence, an effective way to split the development process among the team members, lay out major releases and features to deliver, schedule tests.

For the team to further comprehend the project and arrange an optimum environment, we proceed with the database schema and the system design description.

We always keep our clients updated and use HipChat or Skype for quick communication.

For our effective cooperation, you’ll need to have a person acting as a product owner on your side to help us resolve any arising issues and approve developed functionality and features.

Development Approach

For version control, we prefer GitHub, our all-time favorite.

The client just needs to create a repo and give us access.

Code quality is our constant priority. To maintain it, we follow PSR-2 coding guidelines. We use GitHub commit hooks to check code formatting together with applying special IDE settings for testing. Besides, every team member conducts regular code reviews.

We keep to a BDD-based approach in QA by writing functional tests run regularly on the CI server which automates testing and enhances project stability. Being clear and understandable, tests also act as ready-made business logic documents.

For every project, we maintain a Readme file with product setup and configuration information. In such a way, every member of our or the client’s team can easily install and run given software.

You can track our progress in real time as we upload updated builds in a dev environment daily. New versions are introduced in a product environment as discussed and scheduled.

Methodology

We implement agile principles in our work

We do not set fixed prices since project scope is subject to changes, and so are time & costs. The client is provided with detailed estimation before the project start as well as regular time reports, but we issue invoices twice a month only for de-facto spent hours.

We prepare weekly reports including work already done, spent time, detailed plan for the next week, and our notes & comments.

We do not assign project managers. Though their participation is often essential for business analysis and at early stages of the project work, they may be unnecessary intermediaries in information exchange. At Weavora, we let the client communicate directly with a person dedicated to the development process via a chat or GitHub issues tracker.

Product maintenance & knowledge transfer

We never give up a project until we make sure our involvement is no longer needed. Nevertheless, we understand that at a certain point it’s only appropriate to initiate transferring project knowledge and experience to our client’s team. We’re happy to help and consult the other party on every product detail.

To make the process smooth and easy, we follow accepted coding standards, document our code, keep necessary records, and do functional testing.

We believe that well begun is half done. Timely and well-prepared project start allows establishing an appropriate approach and solid architecture. Such groundwork helps the client’s in-house team get involved faster and be able to do quick changes or implement private integrations by themselves.