Appleseed Software Consulting
Appleseed sets itself apart from the typical developer-for-hire by valuing software maintainability over all else. While you can easily find someone willing to bang out some code to your specifications and call it done, much harder to find is the programmer who appreciates software projects as architectural challenges.
We aim to provide that level of software architecture for our clients, recognizing that their projects call for building complex machines that must run for a long time with minimal maintenance. Two core tools we apply to make this philosophy real include documentation and tests.
The stereotypical programmer doesn't like to document what they do; if the code works like it's supposed to, they collect their paycheck and go home. Woe be to anyone in the position of expanding or improving the work later on, however. Before they can make any changes, these poor souls must reverse-engineer the first programmer's work to figure out how it all fits together, invariably at significant time and expense to the client.
Appleseed bucks this trend by making sure that every program, module, template, or other scrap of code that we produce for our clientele is thoroughly documented, at both the developer and (when appropriate) user levels. This ensures that anyone who needs to examine the software's moving parts in the future will have a map of how it all works.
A good test suite is a set of simple programs that, when run, puts a given work of software through its paces, making sure every major function works as expected. Useful during initial development, these tests remain invaluable in the future, allowing programmers to change or expand the software without fear that their work
Sadly, the majority of coders-for-hire dispense with tests, preferring a short-term decrease in development time and effort while sacrificing tremendous long-term cost savings and overall project longevity.
At Appleseed, we believe that if our clients are serious about creating excellent software that's both robust enough to launch and flexible enough to welcome future expansion, then they deserve a full complement of test scripts alongside every project.
And, yes: we document our tests.
While we find the tests and documentation we write invaluable in helping us create the best software we can, they don't exist just for our own benefit. Every project we deliver includes not just the software itself but all the tests and docs we wrote alongside it.
This stuff isn't mere leftover scaffolding. This is information that any decent software engineer can use to rapidly and safely begin working on your code, picking up right where we left off. It also provides a base that programmers truly worth their salt can use to continue adding new tests as the codebase continues to grow.
(And one way to ensure finding future programmers who appreciate the value of tests and docs is to continue hiring Appleseed for followup work; that's the solution that our clients often prefer. But, let's not get ahead of ourselves.)
This extra work does mean that we spend more time developing than many other consulting houses; Appleseed may not your best choice for finding quick-and-dirty solutions. But that time invested up front will save you so much in future maintenance and development costs.
If you're interested in building web software that will stand the test of time, or improving the maintainability of your current software project, come talk to us.