PDF Print E-mail

Compass Use Cases

This page contains a set of use cases that are common examples of why companies have the need for Compass.  Several of Compass' use cases come from our own frustrations we've dealt with for years on projects both internal to Anx Labs and at our previous employers.  The examples we share here are some of the driving reasons why Compass is so useful and how it can help shape a more productive development environment:

 

The "Who broke the build this time" Case:

A multi-platform software project is under way with a team of engineers all contributing daily to the source code repository.  However, due to budget constraints every engineer only has one platform that they have to build and test on.  Every time an engineer completes a task he diligently builds and tests his software on the platform he has at his desk and then is forced to check in his changes to the source repository untested on the other platforms.  Without being able to fully test, our engineer ends up  checking in a broken build on one of the other platforms.  The rest of the team gets the latest code throughout the day and is forced to deal with a broken build by either fixing it, or waiting for someone else to fix it.  

How Compass helps:  With Compass, as soon as the engineer checked in his changes, the changes would have been checked out on every platform, compiled, and tested.  In this case, when they failed to compile an email would have been sent to the engineer at fault telling him to fix it and everyone on the team would have been notified that the current build of the software is broken and not to incorporate those changes locally. Compass saves everyone on the team a headache of determining who broke the build, trying to fix it and/or waiting for it to be fixed. This can save a company precious development time and resources and get products shipped quicker.  It also has the nice side effect of generating statistical tracking of engineer performance for managers.  



The, "My Manager needs the latest build...again" case:

A small team of engineers is working feverishly to get their latest and greatest software out the door to waiting clients.  Their manager is pressing them every hour for the latest changes so he can run them through the product testing group.  Every hour the manager walks to the lead engineer asking him to build the latest version and send it to him. 

How Compass helps: This environment is more common than one would think, but it happens at nearly every company we've talked with.  An engineer, usually a lead or senior engineer is asked repeatedly to stop what they are working on and deliver an in-development build to a manager.  Not only does this waste the engineers time since he has to stop what he's doing and build the last good version for a manager, but it is also a drag on the manager's time to be dependent on an engineer.  Compass resolves this by saving off every successful build on the build server, so anyone engineer, manager, or Grandma can download it and run it.  No interaction is necessary and everyone saves time and energy.



The "Our build system is a nightmare with 19 steps" Case:

After 10 years of development and hard deadlines and poor build engineers the build system now includes 8 tools all of which must be run in order, there are at least 10 documents explaining to new engineers how to build the software and every time a new guy comes on board it takes him 3 days to get his build set up and running correctly.   

How Compass helps: While compass won't eliminate build steps from your build or make your build run any faster or be less complicated, it does help with this problem in two very key aspects.  First it makes setting up a new machine much easier.  With Compass, you can download a build script for your project (the same set of build steps that are run on the build server) and run them locally on any machine.  As a new engineer, on a new machine, this will verify that all the required tools are in place, it will check out all the code and build it to verify that the machine is configured correctly and give a new engineer a starting basis for continuing development.  Second, because you must set up a build step in Compass for each tool and script your build requires, it helps identify how to make your build more efficient and where easy steps are to eliminate.  



The "I don't run the test suite cause it takes too long" case:

A software project that started small with a great testing framework has now grown huge, and although the test engineers have taken great pains to continue to add new tests to the test suite the production engineers just simply won't run them.

How Compass helps: Let's face it, sometimes engineers are forgetful.  Sometimes they are given impossible deadlines too, and sometimes they are just lazy or don't care.  Whatever the excuse is, many times code gets checked in with defects that automated tests should have caught.  Compass is the one stop shop for making sure engineers' code is properly tested.  By running test suites after every check in, code is properly coverage tested after every change.  The results of every unit test are tracked and team members are identified with every break.



The "Our data format changed. Who's gonna test all the old versions?" case:

A software team maintains an application that has gone through rapid development and over the last two years the data format used for files has changed 22 times, but because we must have backwards compatibility we have to ensure that every change works with all 22 versions of old data formats.

How Compass helps: Testing backwards compatibility, especially file format compatibility is tedious and generally a waste of time.  Compass can easily automate this process, by simply checking out an exemplar of every version of data file and opening it in a newly built version of the application we can ensure that every old version still works.  No more drawing the short straw or hazing the new guy, just let Compass do the work for you.

 

 

bottom
top
Copyright © 2012 Anx Labs. All Rights Reserved.
Anx Labs Inc. - 2251 Double Creek Dr. Ste. 604, Round Rock TX 78664 - 1-888-900-6819
bottom