We firmly believe in iterative software development processes that keep our clients engaged and expedites the delivery of a good software. We use various commonly used methodologies and tools to build and deliver software.
We practice test driven development. We encourage and ask our developers to "test first" by writing good unit tests before writing the main code. We admit it took us a while to get used to this practice but since we started following test driven development, our defects rate has dropped significantly and the quality of our software has improved tremendously. We have noticed that we are able to deliver software quicker and with fewer bugs
We follow iterative development using Srum like methodology. Our divide our project in timeboxed sprints and deliver a usable/testable software at the end of every sprint that can be verified by our clients. This way our clients stay engaged throughout the development process.
Our developers merge and integrate their code everyday and a development build is generated and tested. We confess we have not automated this process yet using CruiseControl or any other tool as we are still evaluating such tools but we have set procedures for manual continous integration which is working quite all right for us and we are able to detect any anomalies in our build fairly quickly.
We evaluate the benefit of using frameworks for each project and decide accordingly. We generally use Spring Framework for our Java development and Cairngorm Framework for our Adobe Flex development.