These two simple values and their derived processes allow us to provide our clients with a wide range of quality services, whether full solutions to complex problems or simple augmentation of teams with existing processes that work well.
Value #1 - Understandable and Extensible
Our number 1 value is: Solutions should be easily understandable and extensible by other developers. If they don’t pass this test, then quality and durability has not been delivered.
If other skilled developers don’t easily understand solutions that are provided and/or can’t easily write new code to extend it, it means the solution was not designed, built, documented or demonstrated properly. No quality. No durability. This is where the dreaded “refactors” and “rewrites” come from.
When we hand off any solution it is not only fully documented (in markdown in SCM) but it also is properly demonstrated/taught to stakeholders for maximum durability. We have left behind solutions that are still in place years later and have been successfully extended by the stakeholders we delivered them to.
“The foundation you provided has served us well. [As a result of your time with us, a team member] has become our resident expert and uses the components you developed as a starting point.”
-- Target Corporation
Value #2 - Quality Along the Way
Review, review, review. During both the design and build phases. Agile helps us go faster but quality only comes from quorum, as demonstrated by the high quality of open source community software. Reactive solutions don’t last. The dreaded “hero complex” presents a real problem to durable solutions and ends up costing time and money in rework.
“Unlike many consultants that I have worked with, [aimtheory] always took the long view of what we were doing and advocated for sustainable solutions rather than quick fixes.”
-- Bose Corporation