Agile development is a powerful methodology for building software, especially in the face of uncertainty. We run weekly sprints and work closely with you to define requirements and expectations. We’ll help build a backlog and ensure we’re consistently prioritizing our tasks. You’ll have full visibility into the product and process but also maintain the flexibility to make changes as things evolve.
Two heads are better than one. We strive to pair program 20-30% of our time. It allows us to build high-quality software quickly and efficiently. With pairing, developers are able to transfer knowledge, hold each other accountable, and maintain a high standard of quality. Pair programming is even more important when we’re working through more difficult technical challenges.
We write automated tests to validate our application code works as expected. Unit tests allow us to test the individual components while integration tests provide a fuctionalty test of features and processes of the application. Aside from establishing best practices for a product, test-driven development increases the long-term maintainability of the codebase.
We deploy as often as possible. As soon as new code passes the automated tests, it’s deployed to staging and available for your review. This allows us to get feedback quickly and make the necessary updates. Once it’s approved, we deploy to production and begin a feedback loop with customers. This is the best way to continuously improve a product.
We really like Ruby on Rails. We’ve worked with it for a long time, we've contributed to open source projects, and we've built all kinds of products on the framework. Using Ruby on Rails, our team can bring products to market quickly and with much lower overhead. The framework is robust and has an active and vibrant community.
Node is a great solution for APIs, microservices, and micro-applications. We’ll use node when it’s the best fit for your product.
Ember is our go-to javascript framework for building robust client-side applications. The opinionated framework has great conventions for building large and complex web-based products.
Building your application with a core API enables you to create a dynamic, device-agnostic central application layer that you can build upon.
Using javascript frameworks like Ember and Angular, we can build fast, responsive, and desktop-like experiences in the browser without any server-side dependencies.
Utilizing third-party APIs can be an efficient and low-cost means of accessing data or providing functionality for your users without the overhead of building custom software.
Mobile is about much more than just apps-- it's about delivering exactly what the user wants at the right moment. Whether it's a consumer app, an internal product, or a business solution, a mobile application may be the best tool for the end user. Through user research and strategy, we'll identify the needs of the users and design a product that solves real world problems.
Sometimes an app isn't the best solution for a mobile user. For lighweight or content-only products, a mobile web app might be the best solution. Using modern technologies, we can deliver a mobile website with the power of a web application. For prototypes, MVPs, and initial product iterations, this is the best and most cost-effective means of delivering quality products.
Ember is a powerful javascript framework for building ambitious web and mobile applications. We love the conventions and use it for both web applications as well as mobile apps.
The Ionic framework enables us to build hybrid mobile applications that compile to native UI and code. The platform allows us to quickly get a product to market for multiple platforms.
Angular is a popular framework for building mobile and web applications. Angular works great with Ionic and enables us to build multi-platform products quickly.