How We
Work

We share an organization-wide commitment to quality

1.

Requirements Elicitation

Let’s start our collaboration!

Before we start project development, we gather, analyze, and specify requirements through our thorough elicitation process. This process includes stakeholder meetings and interviews, user observation, workshops, brainstorming, use cases, and prototyping. We define the objectives for the product, what needs to be accomplished, and how the product should be used.

Deliverable: a project prototype in the form of user epics and user stories; a ballpark estimate of your project.

2.

Designing User Experience

Let’s Define a Proper User Experience

Your product requires a thoughtful UX design to solve users’ needs in the most efficient way. We get ready wireframes to solve that needs.

  • Competitor analysis
  • Information architecture
  • Interaction design
  • UX research
  • Prototyping

Deliverable: a UX prototype

3.

User Interface Design

Developing a Better Product After Deployment

We follow human-centered approach to design. This means we care about the end customers and deliver products they would enjoy using. If it’s a web solution, it will be responsive to fit all kinds of screens. If it’s a mobile app, it will provide users with experiences native to their platforms.

Our UI design process includes:

  • UI design
  • Responsive design
  • Graphic design
  • Usability research and evaluation
  • Design review

Deliverable: a fully designed product

4.

Project Implementation and Development

Frontend development

Our core technology stack for web frontend includes HTML5, CSS3, and JavaScript. But we also work with HAML, ERB, Handlebars, Sass, jQuery, AngularJS, and React.js. As for mobile app development, we use native technologies to develop high quality products. Our mobile developers work with Swift, Objective-C, and Java programming languages.

Backend development

We are experts in Ruby, Ruby on Rails, and Sinatra. These technologies help us quickly build backend applications. But whenever it’s reasonable, we’ll use Go, Elixir, Python, NodeJS, or PHP to make your product as efficient as possible.

Deliverable: a released product

5.

Quality Assurance (QA)

We use testing methodologies for software, such as BDD (Behavior-driven development) and TDD (Test-driven development) and follow extreme programming methodology to eliminate situations that may compromise product quality.

Our QA process includes the following testing types:

  • Unit
  • Regression
  • Functional
  • Acceptance
  • Load
  • Security
  • Transaction

Deliverable: a fully-tested working product

6.

Post-Analysis & Support

Our maintenance activities include error correction, enhancements of capabilities, and optimization. We support and modify applications to cope with changes in the software environment, meet new user requirements, and ensure greater reliability.

We cover:

  • Software maintenance
  • Product updates
  • New feature development
  • Continuous product improvement
  • Continuous design improvement

Tools We Use to Organize Our Workflow

  • Trello

  • Jira

  • Moqups

  • Invision

  • Slack

Explore our services