Thanks to the years of commercial development experience with open source technologies present in our portfolio, we possess a depth of knowledge that guides every project. We especially make a point to employ best practices in development.
All source code and project resources are tracked in a source control management system. Any code commits that are related to a ticket in our Trac project management system are linked via the ticket number to enable viewing the progression of a particular fix. Mailman mailing lists are used to distribute the changes in the Trac and Subversion repositories to subscribed parties.
In addition, our developers are well versed in using available development, debugging and profiling tools to ensure software quality. And they follow all of the proper conventions for the application server to ensure proper caching and security.
Consistent deployment is critical to the success of any project. The assurance of software quality and behavior is accomplished through such industry-recognized practices as unit testing, regression testing and functional testing. These tests help ensure the correctness and operation of software.
Our proposals always include time to develop software tests during each milestone. The tests run automatically after each release to prevent code regression and ensure quality.
Quality Assurance time is included in all of our proposals to cover the time spent manually testing the developed functionalities and addressing any issues found.
Multiple developers work together on our clients' projects. They each work off of their local machines and contribute their code to a central Subversion repository.
Commits for software releases are tagged so as to keep a clear versioning history. Releases are first performed on a testing environment our customers have access to. When parallel work needs to happen, branches are set up and multiple instances are available for testing.
The Six Feet Up hosting infrastructure handles source code Subversion repositories, Trac issue trackers and staging instances of the tools throughout the development phase. Depending on the license, the source code can later be migrated to another repository or hosted in the Six Feet Up public repository.
Six Feet Up encourages pair programming and team work on all of our projects as a way to catch typos, increase concentration, and provide multiple points of views at each stage of the project. Simply put, we believe multiple brains are better than one when addressing problems.
To ensure coordinated team work, a short meeting takes place daily to foster communication between team members, review progress and set priorities.
Trac is at the core of our project management efforts. By closely reviewing tickets, organizing them in milestones, and assigning them to the appropriate person throughout the project, we ensure each issue is addressed and resolved in a timely manner. This also allows our the project stakeholders to be kept in the loop at all time, provide additional information on required functionalities, and participate in critical decisions.