Early in a building construction project, an architect would visit the job site to understand the environment in which the structure will be built. We use a similar approach to see the context in which your application will need to perform. By examining the terrain we learn which solutions are feasible, which won't work and which would bring real innovation.
Once we understand your vision and the real-world constraints, we generate ideas and flesh them out into complete solutions. Whenever possible, we represent concepts visually to clarify the intent and nuances. Designs usually begin as sketches and quickly evolve into interactive prototypes.
Before you invest in development, we validate the design with business stakeholders and representative users. Feedback sessions with the former ensure alignment with business goals, and usability tests with the latter build confidence that the application will perform well in the real world.
The best craftsmen know to "measure twice and cut once." In software, effective planning includes identifying reusable components, developing unit tests up front and accounting for the other unique aspects of your application. A cookie-cutter process can't yield custom results, after all.
We believe software development is more akin to a craft than a science or engineering discipline, and that a small number of highly skilled professionals usually outperforms a large, distributed team. Our process proudly reflects this, folding in functional and technical quality reviews along the way.
Traditional testing cannot create or assure quality by itself, especially if it's just a blip in the schedule after development. By this point in the project, we focus on fit-and-finish work and performance tuning. When possible, we also perform beta testing with actual users to anticipate market reactions before the launch of your software.
Modern development platforms have evolved to include application packaging and distribution as first-class concepts. These advances have their own technical challenges, however, and our experience allows us to account for these factors from the very beginning of the project.
A side effect of built-in distribution is that platform vendors end up pushing code from a marketplace directly into customer environments. Hence, these platform vendors have an incentive to ensure the applications meet standards for quality and security. Our specialized knowledge, prior experience and focus on quality throughout the process minimize delays at this stage.
The electronic storefronts in today's platforms, like Salesforce.com's AppExchange, are valuable innovations that nevertheless have their own idiosyncrasies. Having "walked the path," we can advise you on how to make the most of this increasingly important digital real estate.
Before we roll off, we make sure you're confident in your team's ability to extend the code base in the future. We employ different methods to accomplish this, depending on the circumstances: onsite immersive workshops, periodic code reviews, and informal mentoring can all be used to build new skills in your team.