The process of designing, developing and maintaining custom software solutions from start to finish.

Find our Playbook below.

Design

To ensure the successful development of any new features for an existing application, our team follows the design and prototyping process. By taking the appropriate preparatory steps beforehand, we can guarantee outstanding results down the line!

In this section, we want to provide you with a clear understanding of our design and prototyping process.

Design Discovery

We kick off the design phase with a comprehensive discovery process to uncover project objectives and define our scope of work so we can be sure that success is within reach.

The Kickoff Meeting

To be sure your project is set up for success, our design team leads off with a kickoff meeting that allows us to get acquainted and identify exactly where you stand in the development process. Together we review previous progress and then strategize on how best to design features and functionality tailored specifically to your application's needs - crafting an ideal roadmap as we go!

User Personas

To complete our design discovery process, we'll create user personas to get a better understanding of the various users of the app. This will allow us to understand their motivations and goals when using the app, which is a key step in creating an engaging customer experience.

STEP 1

Technical Discovery

Our projects begin with an in-depth technical discovery process to identify your current software stack or suggest the best technologies and architecture for your project's individual needs.

This technical discovery can include detailed code analysis of your existing application, research into technology options for your specific use case, review of documentation for third-party integrations, develop end-to-end DevOps strategies, and more

STEP 2

User Experience Design

We focus our efforts on creating a truly user-friendly platform: one that efficiently tackles customer needs and is easily navigable. By following a precise UX design process, we guarantee the ideal interface experience for all users.

STEP 3

Feature Map

To kick-start the project, by creating a feature map that provides a detailed view of the features of your application. It serves as a starting point for learning more about how views will interact and are maintained and updated throughout the life of the project.

User Flow

To illustrate the process of achieving objectives, we'll create User Flows to provide a visual representation of each step along the way. When dealing with complex conditional workflows, user flows become especially important. This allows clients, designers and developers to share a common understanding of how the features will work and what the results will be.

Wireframes

To complete our application design, we'll create wireframes of the primary views. This gives us an opportunity to create a general screen layout without having to select the exact text and images that will be used in the final designs. Let's see what it's useful for:

  • Rapid Prototyping

  • Understanding Functionality

  • Demonstrating the User Flow

  • Ensuring a Solid Underlying Structure

User Interface Design

After completing Discovery and UX Design, we go to visual design. We iterate concepts to create a visually appealing style that can be translated into an effective style guide; the ultimate result being high-fidelity mockups of each view in the application.

STEP 4

Style Concepts

Style concepts showcase the different look and feel of your app, including colors, fonts, and more. We craft two or three style concepts, each with its own distinct personality to help your product stand apart. We carefully consider the competitors' products and incorporate them into our creative process in order to provide you with a unique design that is informed by both existing brand guidelines and industry trends.

Style Guide

By leveraging our chosen style concept, we set out to create a comprehensive design guide. This document outlines standards for colors, fonts, and other key visual elements used in the app – providing designers & developers with pertinent references throughout the project duration. As such, this ensures consistent styling across every part of the application - culminating in an eye-catching yet unified user experience.

High Fidelity Mockups

High Fidelity Mockups provide a realistic preview of what the finished app will look like. They incorporate Wireframe structure with Style Guide visuals, as well as custom photography, illustrations, and icons for an eye-catching aesthetic that accurately reflects how users can expect to experience the product once it's live.

Prototype and Estimation

After the high-fidelity designs are completed, we upload them to Invision or Figma to build a clickable prototype, which we then use to evaluate development.

STEP 5

High Fidelity Clickable Prototype(s)

By utilizing clickable prototypes, our teams can get a vivid preview of the application's functionality before any development begins. This comprehensive understanding allows us to uncover potential edge cases and make necessary refinements upfront; ultimately leading to improved accuracy in project estimations – as well as greater success when it comes time for budget approval or investor pitching.

Development Estimate

Utilizing our comprehensive design process and clickable prototype, we are able to give a detailed line-item estimate of the hours necessary for app development as well as associated costs. Without this crucial step in the process, it is impossible to provide an accurate cost estimation—making understanding what will be built essential.

Develop

Our development playbook is a reflection of our combined knowledge and expertise, embodying the methodical approach we take to crafting sleek iOS, Android, and web apps. With 100+ successful projects under our belt - this playbook serves as a compass for all future app ventures. In this section, we describe our development process and you can understand what to expect.

In this section, we want to provide you with a clear understanding of our design and prototyping process.

Pre-Development Planning

For an optimal development experience, it is essential to lay the groundwork with thorough pre-development planning. This includes assembling a professional team and designing seamless handoff procedures from the design to development stages. Additionally, project milestones should be established along with stories and sprints for the successful execution of your projects.

STEP 1

Design to Dev Handoff

For successful application development, a handoff meeting between design and dev teams is essential. Through the collaborative process, developers gain a thorough comprehension of the project to ensure they have everything required for constructing it.

With development ready to start, the design team gets together with developers for a comprehensive review of their work during the design phase. This includes analyzing market research data and user personas, outlining detailed user stories, mapping out an intuitive flow diagram as well as creating style guides and high fidelity designs plus clickable prototypes to test interactivity.

The design team provides an extensive suite of visual assets, from images and icons to detailed documentation on interactions or workflows beyond what can be seen in the prototype.

Through this efficient handoff process, developers have the necessary resources readily available to keep their workflow running smoothly and promptly.

Establish Milestones

The project manager designs the roadmap for success by establishing key milestones known as version releases. This strategy provides users with a series of mini-goals along their journey where they can test and evaluate specific features, leading to a complete application when all are completed according to plan.

To ensure our development process meets the client's needs, we aim to get a functional set of features in front of them as quickly as possible. This allows us to gather feedback and refine these features until they fully satisfy their requirements

Create Stories

Utilizing a milestone-driven approach, the project manager commences crafting stories which serve as tickets. Assigned to developers during sprints, these "tickets" include the necessary details for constructing features along with acceptance criteria - used by QA to filter out any shortcomings and ensure that quality requirements are met. Plus, every story is assigned an estimated number of hours required for completion; this ties back directly into the original estimate established at concept phase.

With each sprint, developers are given an allotted number of tickets to complete. By equating the estimated hours with those in a given sprint, project managers can easily gauge how proficient and productive their team is.

Sprint Planning

For the process to run smoothly, stories are divided into two week sprints. While each and every one should be meticulously crafted with care beforehand, extra attention must go towards those at the beginning of development - this ensures that timelines stay as accurate as possible throughout. Once assigned, a project manager will then effectively distribute them amongst their team depending on how many hours they can budget for completion in that particular time frame.

Active Development

After pre-development preparations are finished, it's time to take action! Working in biweekly sprints accelerates the process and helps meet project milestones quickly. Finishing each sprint with a retrospective guides future workflows while launching version releases at predetermined stages keeps development on track.

STEP 2

Sprint Execution Begins

Working in two week sprints, developers are constantly striving to maximize their productivity.  For every story assigned, an estimated number of hours is set and adds up to match the total amount available in that sprint.  All stories come complete with detailed requirements including components needed for completion as well as acceptance criteria outlining success conditions.

Test Coverage

To ensure our products are consistently operating at their peak potential, developers build automated unit and integration tests into each story they complete. Without this test coverage, the application would need to be manually tested every time a new code is added; an inefficient and costly process that could easily snowball out of control over time if not addressed early on. We strive for robust end-to-end testing from day one in all our apps so we can avoid these scenarios down the line - ultimately saving both time and money!

Unit Testing

Unit testing is essential for ensuring software performs as designed - it dives to the smallest testable level, so even subtle errors and bugs can be detected.

Integration Testing

Integration testing allows  to validate the successful combination of individual unit tests and their interactions. By combining units into groups and evaluating their collective functionality, integration tests provide comprehensive quality assurance for software systems.

Continuous Integration

Continuous integration testing ensures that developers commit and check their code often. It can be verified using an automated build process and an automated test suite.



Quality Assurance

After developers craft a story and inspect the code's integrity with unit and integration tests, it is passed over to Quality Assurance for further analysis. QA looks at multiple aspects of its functionality before sending their decision back either to the developer if revisions are required or directly to the Project Manager if everything is correct.

  • Does the code meet the expecting criteria set out in the story?

  • Does the user interface reflect the intended design?

  • Is the code suitable for multiple types of devices and browsers?

  • Is it mobile-responsive across a larger number of form factors?


Once the story passes the test by QA and review from our project managers, each story is merged into master upon final approval. This way, you can trust that every line of code meets a high standard set within our own software development process.

Minimalistic

Keeping your code clean and comprehensible can save you a lot of time! Having fewer lines of code to work with means there are fewer opportunities for mistakes, less complexity in managing it, and simpler maintenance.

Refactoring

Crafting perfect code the first time is very difficult. Before committing and testing its accuracy, take some extra care to refine it; after all, refactoring can be an incredibly rewarding part of programming!

Obvious to Other Programmers

Code readability is a crucial aspect. Structure directories according to the language/framework in use and make sure that all names - filenames, classes, functions/methods, variables and parameters - are defined precisely with a purposeful context.

Code Review & Merge to Master

Self Documenting

When your method names and coding style are not enough to convey an understanding of what a class or function does, comments can be used as helpful pointers. Just remember that this should rarely be necessary!

Linting / Code Formatting

Ensure the quality of your code with an automated linter! You must implement automated processes such as Continuous Integration (CI) or Git hooks. Establish the necessary setup without delay

Test Coverage

Having an automated test suite for your code is essential; this helps ensure that any feature or bug fix works as intended before it gets merged with the master branch. To guarantee all bases are covered, set up a comprehensive suite which includes e2e, integration and unit tests so you reach 95% coverage level in each project - do not delay!


Sprint Retrospective

At the end of every sprint, the team comes together to reflect and review. They assess whether they've hit each milestone on time, if their estimates were accurate enough, what roadblocks got in the way unexpectedly, how close they are to achieving their goals as a whole - plus ensure that all procedures are being properly followed!

Every retrospective provides us with valuable insights which are channeled into planning the subsequent sprint. Performance is tracked for each developer to guarantee timely completion; in extraordinary situations where this isn't achieved, the project manager steps in and collaborates with them on a plan of improvement that will help put them back on track.


Version Releases

As development progresses, the team compiles its work into version releases for client review. These versions contain a selection of features that are ready to be put through their paces in User Acceptance Testing (UAT). Through UAT, clients can evaluate and provide feedback on each release so the developers know what to focus on next!

Launch

After a series of iterations and improvements, the application is ready to enter into its beta testing phase. Soon it will be publicly available - or accessible internally .

After The release, the app either enters a period of maintenance or continues to evolve with further development.

STEP 3

Maintain

When the application goes live, our team delivers ongoing support and active development with maintenance agreements at your convenience

Maintenance Agreements

Keeping your app running optimally with a maintenance agreement! These agreements are designed for applications that don't require any additional future development - they include all the necessary upkeep to ensure everything continues operating properly.

Error Monitoring & Bug Reporting

We use a comprehensive system of error monitoring and bug reporting trusted third-party tools like CodeClimate, Eslint, Sentry, and bugsnag. This ensures any problems are quickly identified so we can take swift action to maximize performance.

Performance Optimization

Ongoing performance optimization is a must for any application dealing with huge amounts of data or managing large user bases. Through continual monitoring and load testing, applications can be kept running in peak condition - ensuring the smoothest experience possible.

Update Versions

The open source community works to keep software  versions fresh, secure and efficient.  Each update is called a "version". This is why our maintenance agreements ensure that the very latest updates are applied - so your projects can remain at peak performance!

Update Integrations & Dependencies

As third-party dependencies and API's evolve, our maintenance agreements ensure that your application can keep pace with the changes and stay integrated for continued success!

Ongoing Development

If clients are looking to keep their projects up-to-date and filled with the latest features an ongoing development agreement will be needed  in addition to a maintenance agreement. Ongoing development agreements include the following:

Product Roadmaps

We will work with your team.Our experts can craft a powerful product roadmap tailored to your needs. This will outline the new features on the horizon and establish order in terms of priority, budgeting, and more.

Design New Features

After new features are added to the product roadmap, we'll create a brief design layout to show how the new feature will fit in with  the existing application.

Develop New Features

When the design phase is wrapped up, we'll assess how much time will be needed to create the feature and add it in our next sprint!

Operations

Wonder how we make this process work? Here’s the tactics and tools we use.

Collaboration

We create a Slack channel so that everyone can get real-time updates on progress. You'll have direct access to our entire team. Hold daily standups to review accomplishments of yesterday and plan for today; uncover any potential blockers along the way.

Hours Reporting

Our team brings unparalleled transparency to your project's billable time with our Toggl tracking tool. Not only can you see exactly when and how long we are working on the task, but billing is done in exact seconds - no round ups or block bills here! You'll have a clear view of every detail.

Some consultancies bill on a weekly or monthly basis with no guarantee as to how many hours are actually being worked by their project managers - whereas others may offer more concrete assurances giving you peace of mind that your budget won't unexpectedly blow out!

Weekly Client Meetings

Every week, our Project Managers engage in one-on-one meetings with each client to keep them apprised of progress. During these chats they review the sprints achieved so far and compare those against estimated hours worked, budget figures, timeline projections and key milestones reached since last checking in.

Engagement Opportunities

Our playbook provides comprehensive guidance for crafting unique, innovative applications from the ground up. But that's not all! We offer a full range of solutions to ensure our clients' needs are met—from insightful consultation services and custom-tailored approaches to specialized workshops and support initiatives.