SOFTWARE DEVELOPMENT
Here's a window into the life of a software developer at Menlo, revealing what sets them apart. The team at Menlo writes code using a weekly iterative and incremental approach. Working from storycards, as do the other team members at Menlo, developers employ a test-first/test-driven design. This ensures that the code in the current software application build is covered by automated unit tests. The practice also adheres to the tenets of object-oriented design and development. Their code typically has 95% code coverage by unit tests. New pair partners are assigned weekly, which helps ensure that code is critically reviewed as it is being written.
This test-driven development approach means our projects have a stronger architecture, fewer bugs, and a more flexible system for adding new functionality and its impact on the core product. Pairing and re-pairing ensures rapid transfer of knowledge and no singular dependency on a tower of knowledge that could ultimately threaten the success of the project.
Menlo's software developers have worked on projects that utilize Java & Unix as well as projects that are based upon Microsoft's tools such as ASP, C#, C++ and Windows. They've also worked with a variety of web servers, application servers, and database servers. However, we believe technology selection should not be based on what the programmers enjoy most or what they're most familiar with, but instead on how the technology choices support the business objectives.
Recommended Reading
- Extreme Programming Explained
by Kent Beck
- Refactoring: Improving the Design of Existing Code
by Martin Fowler
- Design Patterns: Elements of Reusable Object-Oriented
Software
by Gamma, Helm, Johnson and Vlissides
- UML Distilled: A Brief Guide to the Standard Object Modeling Language
by Martin Fowler


