Planning

Our process, like everything we do, is rooted in keeping it simple. Everything starts with communication. Even though we are in a digital age, where face to face meetings are less and less. Some processes still require meeting in person. We start with a 2-3 day on-site visit where we meet with all stake holders. That includes top management all they way to the end users of the system. To be able to understand the problem, you have to have a high level view of the day to day routines of the users and understand the pressures of management. After working with all teams and understanding the business needs, how IT has to support them, and the day to day aspects. We can then create a prototype and an estimate of what it would cost to build it. So what does those 2-3 days look like?

The first day is spent listening and asking lots of questioning. All that is then taken into account and we start rapid prototyping. It has been said that a picture is worth a thousand words. That is why we rely heavily on this process. These screens are not suppose to be 100% complete, but instead tell a story. One that people can visualize and see how they will use it everyday. During this process we work to create a simple user interface(UI) solution, keeping in mind the demands of all the stake holders. We use Keynote to produce our prototype, because of all the rich animation and features it includes. This process follows an agile methodology where we do very fast iterations. The agile process makes sure we stay on course and get feedback from all stakeholders.

Day two starts by reviewing the prototypes with all the stack holders, making sure what we heard on day one is starting to be captured. Being able to already start to see something come together visually in just 24 hours really gets the team going. This leads to a great level of engagement and more detailed feedback is captured. Depending on the size of the project, at this point either another iteration is done, or slight tweaks are made and represented.

Even though this might seem obvious and simple, having experts from an independent third party mediating this process, the results are incredible. The final step is take all the information gathered on site and collaborate with our team on a detailed solution. The final deliverables for the engagement is a visual prototype indicating flow and requirements, along with a more detailed specification of the functionality and the cost to build it. At this point you can either hire us to implement it or use your own team.

One of the key things in the deliverable, depending on the size of the project, will often be a phased approach. While gathering the requirements there is always a thought of what is the critical path and what would be nice to have. From our experience if everything is in the first release, that release will run past deadlines and be over budget. By delivering early and often we find the energy of the project will help you complete that last mile. that is always the hardest.

You might be wondering since there has been no mention of technology Mobile, Web, Desktop, HTML5, etc what space do we work in. We believe in starting with solving the problem, not with looking for how a certain technology has to be used. There are lots of factors that go into selecting the technology. Please see our Technology section for some of the latest technology we have used on projects.

Do you have an enterprise project that needs passionate experts? Please contact us to start to talk about your exciting new project.

Technology

When considering options for the technology stack to solve your problem we have a vast array of experience to draw upon. Our teams experience range from server technology to the latest in mobile. Below are just a few of the technologies used recently in projects.

  • Objective C
  • Java Android
  • C#, MVC
  • Angular
  • Node.js
  • Javascript
  • HTML
  • CSS

Execution

After the extensive planning process, everyone has a good idea of what the deliverables are, execution is easy.

We also take a different approach to this. We have a development methodology that makes effective use of offshore teams. How we differ with offshore resources, is we review and oversee all their work on a daily basis. We don't just assign tasks and check back in a month. We don't just test by making sure the button works.

We take a very interactive role with daily code reviews, ensuring the architecture and coding standards we have set forth are being meet. This is not to say the whole project is coded offshore. The technical lead on the project is an integral part, coding along with the offshore team. Setting forth the pattern and framework for the next part of the project. They are handling the intricate parts that makes up the clients "secret sauce" of the project. In any given project that equates to only about 20-30% of the total development work. Having our technical leads work on those core parts, while having offshore fill in around them. This allows out teams to deliver on time and on budget with quality.

We also make extensive use of automation, where it makes since. We rely heavily on continuous integration (CI) servers like Jenkins, TFS or cloud bees to validate and smoke test the software. We also integrate into this process custom programmes to inspect the code, to make sure the common pit falls from offshore coding are not in the code base.

Finally is the deployment. We make use of cloud services where it makes sense. Weather that be a Amazon, Google, Microsoft or Rackspace for hosting and storage. But as always not every solution makes sense for the cloud. If you are working with a petabyte of video assets, cloud might not be right for you.

Do you have an enterprise project that needs passionate experts? Please contact us to start to talk about your exciting new project.