Best Practices Explained Print

The term "industry best practices" is great for marketing spin but if you're looking for a little more detail here's what we believe in:

First off, we believe in requirements documents. If we’re going to give a good result both of us need to understand and agree on what we’re building and how it’s supposed to work. We try and scale this with the project so it’s not too much of a burden on small projects and not to abstract on the big ones.

Agile development seems to be working well for us. There are lots of agile methodologies out there XP, Scrum, Lean etc. we do a hybrid of scrum. What we like about it is the focus on small units of work (sprints) with frequent client involvement. This way when some aspect of the requirements turns out to be a procedure or logistics problem it is identified early and the requirements can be updated on the fly instead of after delivery which just makes everyone disappointed in the whole project.

Design patterns are a biggy for us. We use them everywhere. If you are unfamiliar with what design patterns are, well they are solutions to common programming problems expressed in a language neutral form. Who would want to spend hours figuring out a clever way to activate some small bit of code in response to something "special" happening in some other small bit of code when you can just implement the observer pattern? I'll tell you, somebody getting paid by the hour. There are lots of design patterns but a handful are commonly handy.

Next we feel strongly in inversion of control and dependency injection. These are like peanut butter and chocolate, they go great together. Basically they are vital in creating loosely coupled components. You may be asking why that's desirable. The top two reasons to us are unit testing during development and long term flexibility of the program. Unit testing is super awesome because programs are notoriously complex little buggers, and more often than not, making a change in one part of a program will hork up some other part you didn't expect it to. Running a series of automated test to ensure everything still works like it's supposed to is a lifesaver. By long term flexibility we mean that over time everything changes. Today your specs might say every customer only has a single address and you see no reason that's going to change anytime soon. But a couple years from now you are going to start selling tangible goods that need to be shipped and you are going to want to have a shipping address too. A loosely coupled system is a lot easier to modify down the road and when you make those modifications you're going to want to run all your unit tests to make sure you didn't break something else.

SOA (Service Oriented Architecture) is an industry acronym everybody loves to throw around. This one has a place and time and we like to think we use it where appropriate. Where is it appropriate? Well, mostly in distributed systems. SOA is a great way to do a loosely coupled solution across independent systems. Like between your order entry software and your inventory system when they are running on completely different computers. It's commonly associated with ESB's (enterprise service busses) which is a way to implement an SOA that is really loose and scaleable.

If you want to grill us on some of these topics or just get a better feel for how we approach a development project contact us and we’ll be happy to talk about it with you.

Dell Computers and Servers

Fast Forward is proud to be a registered member of Dell PartnerDirect.


IBM Partner Logo

See our support and managed IT outsourcing services: Virtual Admin, Total IT.

Total IT

Total IT is a managed IT service with predictable costs designed to outsource the maintenance and management of your technology infrastructure allowing your employees to focus on your businesses core competencies. It's more than tech support. It is a total IT department at a fraction of the cost.

**This service it is only available in the Denver Metro area.

Learn More

Virtual Admin

Don't need a full IT department? Already have an technology plan and just want someone to carry it out and be on call when you need them.

Virtual Admin is the service for you. Our certified administrators will follow your lead and report to you. We will perform routine maintenance on a schedule you define and are available for upgrades or new projects as you need us.

Learn More

Website Development

Web sites have become a vital part of business. Even if your business does not need e-Commerce your website often makes a first impression for your customers and partners. Our designers and developers will craft you a site that showcases your business.


Learn More

Copyright © 2019. Fast Forward, LLC.