TECHNICAL IDEOLOGY

Grassroots Technologies' software and infrastructure development philosophy is centered around two concepts:

  1. Best of Breed Technologies: As researched by our group, specific technologies deemed to be the best of their genre. This is not limited to commercial software, nor does it exclude the combination of two technologies to form a new, workable model.

  2. Light Implementation Strategy: The simplest, most direct and scalable approach that will get the job done reliably.

This allows us to:

  1. Launch development efforts quickly and economically.

  2. Meet the client's business objectives.

  3. Perform effective client knowledge transfer.

 

DEVELOPMENT PHILOSOPHY

Whether implementing a new project or analyzing the value of one already completed, we firmly believe in a tight, slim strategy that eliminates excess waste and focuses on the most important facts at hand.

GRT strongly believes in active development prototyping and iterative checkpoints as a core element of specification activity.  This can often provide the most efficient segue into full-blown development cycles while still providing regular reviews and confidence by all key stakeholders.

We are enthusiastic proponents of streamlining the development process through consistent automation, and a continuous integration process, where sub-projects are forced to integrate on a weekly or even daily basis. This ensures the different aspects of development integrate together before they've had a chance to get unwieldy and costly. 

Obviously, source control, for versioning and code management, is at the heart of the development process.  Typically we use Github (or customers preferred revision control system) and enforce its usage through rigorous development standards.

We begin to set our testing strategy at the early stages of system design.  This planning turns into execution towards the latter stages of development.  A cleanly defined automated unit testing, where possible and budget practical, is also well worth the setup and maintenance effort.  Beyond that, a combination of functional and compatibility review will be joined with automated stress/scalability testing for maximum system coverage.

This provides just a flavor of our no-nonsense, efficient manner for tackling even the most challenging of projects.  Our methods for approaching projects from the top down in light implementation strategy, weighting functional areas against one another within overall timelines, and executing aggressively are a result of years of absorbing only the best practices from each client experience.


GRT Git Repository Change Map

Languages

  • Javascript / Node.js
  • Java
  • Ruby / Rails
  • Objective-C
  • PHP
  • Perl
  • Actionscript
  • Groovy
  • Python
  • C++ / C

Presentation/UI: HTML/JavaScript/CSS browser stack

  • AngularJS
  • Backbone.js
  • Ember.js
  • PhoneGap
  • jQuery
  • D3.js

Presentation/UI: Other

  • Adobe Flash / Flex
  • Objective-C / Cocoa Touch
  • Java AWT and Swing

Java

  • Spring framework
  • J2EE technology stack
  • JBoss (WildFly)
  • Apache Tomcat / TomEE
  • Jetty
  • Hibernate
  • myBatis
  • Maven, Ant
  • ActiveMQ

Database Technologies

  • PostgreSQL
  • MySQL
  • MongoDB
  • CouchDB
  • Oracle
  • SQLServer

Testing

  • Jasmine
  • Karma
  • Mocha
  • Protractor

XML Technologies

  • XML
  • XSLT
  • XSL-FO (PDF generation)
  • SVG
  • SOAP and other remote data-interchange

Cloud / Hosting Services

  • AWS
  • Heroku
  • Codeship

Operating Systems

  • Linux (various flavors)
  • Windows Server
  • Mac OSX

Installer Technology

  • Windows Installer (Wix/MSI)
  • OSX Packages and Installer Plugins
  • InstallAnywhere