Work with us.
Embrace innovation to drive new value for your organization. Let’s innovate something great together.
How Do We Approach Critical Software?
As the industry has evolved, we have incorporated the best practices into our process. In fact, we’ve helped a number of software organizations evolve their process using the lessons we’ve learned managing many different applications for many different companies. We have fine-tuned an elegant process – blending standards and flexibility with efficiency and quality.
Hybrid Agile Process
While we love the Pragmatic Programmer and the Agile Manifesto, we are hired to do a job and can not truly dictate a ‘capital A’ Agile approach. We strive to iterate frequently and deploy working code often. We plan and document so we can measure progress and understand that software is a journey not a destination.
This critical layer of development is best when it’s a blend of humans and machines, in our opinion. We leverage the Cypress Testing framework and Gerkin syntax to automate the tests that can be automated. We then rely on human testers to examine boundary conditions in applications and environments.
This is the layer where we execute unit tests of business logic, report on code conflicts, scan code for security issues, validate dependencies and scan third-party packages for known vulnerabilities.
We believe that humans should plan and orchestrate the promotion of code to production environments, but the actual deployments are best left to the machines. We script the infrastructure and deployment pipelines out of a main branch on the repository so that we can have predictable deployments and known artifacts of running code.
We allow you to plug into our DevOps toolchain and gain momentum without having to build the DevOps culture from scratch. We can support your existing development teams and coach them on deployment automation, application telemetry, and feedback cycles that are fast and controlled.
How we can help.
Our services are focused around every aspect of website improvement. That might mean a full redesign, but sometimes it’s just a matter of committing the right resources to continually evaluate and improve your existing site. There are lots of ways we can engage and we pride ourselves on being flexible.
Languages and Platforms
We pride ourselves on being platform agnostic – in other words we are the opposite of the expression “to a hammer, everything looks like a nail.” We believe that often solutions are born simply from familiarity – not the tools and approaches that work best to solve a particular problem for a particular organization.
We work most often with .net, PHP, and AWS Lambda, but supplement those core frameworks with Python, Java and other approaches where appropriate.
We work with a number of external compliance standards and governance models and can adapt our practice to many more. We understand that critical software often falls under these standards and we’ll work with you to create a plan to meet your compliance requirements.
We’ve been doing this for a while – well over 20 years. We’ve delivered hundreds and hundreds of successful projects – countless flawless releases. Every project and relationship helps us refine our process, so we continue to evolve with new technologies and methods. Within our team we have all of the expertise needed to support your website improvement initiative. From full redesign to incremental improvement.
How Stable is Your Software?
- Do you keep and audit regular backups of your data and/or content?
- Is the code for your software stored in a secure repository?
- Do you have a policy governing updates?
- How frequently are there problems with making multiple code changes and code getting overwritten?
- Are your deployments automated or does someone manually push code and configurations?
- Do you maintain development, staging, and production versions of your software?
- Do you regularly scan for performance, security, and accessibility problems?