Software can create immense value for companies. But with great power comes great responsibility. To deliver on that value, software must be secure, reliable, and maintainable. Those three principles guide our development.
We deliver high-quality, tested, performant software. We use test-driven development, integration testing, continuous integration/delivery, and code reviews to deliver stable production code.
How we work
Start with value
Software development starts with deeply understanding the need that the product will fulfill. We work with our clients to understand how a software solution can meet those needs. We like to start by identifying and developing a minimum viable product (MVP) to get a test / evaluation and feedback cycle happening. Sometimes it’s difficult to conceive what the product should do until you can actually start using it. We come up with a set of goals that when achieved will be a usable product. Then we work with you building towards that release.
Develop in Cycles
There are always more features that could be implemented - but which ones will lead to a successful product launch? The faster we get to a usable release, the earlier we can pivot and the higher the chance of a successful launch. We work in short iteration cycles, typically weekly. This level of visibility lets us adjust course with our clients taking into account new feedback and test data.
Connecting Your Product
Adding intelligence and connectivity to electronics is a vital part of product development. There is a huge opportunity for businesses to connect their devices to the internet for smart/enhanced behavior and remote monitoring. Real-time monitoring and updates help clients make informed business decisions and bring gains via automation.
Tools of Choice
Though we have experience in a number of languages and frameworks, these are the tools you'll see us use most often:
- Unity (testing)
- Cypress PSoC
- Raspberry Pi