Software Development Methods
Glassbox® Software Development
Our experienced software engineers develop systems using a technique we call Glassbox® Software Development. We focus on best practices, develop with structured agility, and allow our clients visible access to what we’re doing as we work to serve their goals.

The Glassbox Development Process is an iterative, agile process organized into the Phases defined by the Rational Unified Process.
Requirements-driven
We partner with clients to understand their needs, and organize those requirements into use cases. A use case is a story-based description of how someone may use the system. No bulleted lists, no decontextualized and untestable list of “shalls” – stories provide greater completeness and consistency, and also provide a better understanding of the importance of a requirement from a user’s perspective.
Iterative and Incremental Results
We develop systems so that we never go too long without running from a concept (requirements) to some manifestation (executable release). We want our clients to be able to see, use, and provide feedback on our work as quickly and as frequently as possible – typically in two-week bursts.
Risk-focused
We work from and communicate using a maintained and prioritized list of risks. Each iteration plan specifically states the risks it is going to mitigate to ensure focus and value. (Contrast this with the familiar “risk avoidance” model employed by some processes that do not emphasize risks and therefore often suffer from late-breaking issues.)
Architecture-centric
The most critical role on a project undertaken by 5AM is the lead architect. The architectural vision and ability to share that vision are critical to the manifestation of a successful system that can withstand both time and evolution.
Always Visible
We use continuous integration, including automated build, test, and deployment, under the conceit that we can produce production software every day. Our clients can access a project dashboard to review what completed code fulfills a specific requirement, monitor the test results and other metrics, and use the running system – whenever they want. We are comfortable exposing our work in progress – that’s why we call it Glassbox® Software Development.
The Sombrero of Shame
We’re serious about delivering, but like to have a little fun. Our developers employ a “Sombrero of Shame” that must be worn by the person who “breaks the build.” The result: competitions to not wear the large pink-and-gold millinery – with quality software being one of the results.
Experience, Communication, and Humor
Our professional, experienced software engineers, requirements analysts, project managers, interface designers, and bioinformatics experts have an important quality in common: we work together as a team to get the job done.
- We’re technology agnostic. Although we embrace open source tenets and technologies, we work with clients to find the solution that best fits the need.
- We work together. Our teams combine with client partners, client collaborators, and our trusted partners to deliver solutions.
- We listen. Our expertise is meaningless outside of the context of our clients’ challenges and problems.
Mature Tools and Techniques
We employ the right tools for the job, being neither tied to any one vendor or technology. We do, however, have our favorites, as well as those with which we are strongest and have the most experience. Here are some of our strongest: (and no, it is not just a smattering of acronyms):
- Java/JavaEE ("J2EE")
- Hibernate, Struts 2
- Relational Databases (Oracle, DB2, SQL Server, MySQL, PostgreSQL)
- Application Servers (JBoss, Apache Tomcat, BEA WebLogic, IBM WebSphere)
- Supporting Standards (UML, SQL, XML, XSLT, HL7, ISO)
Read More
You can read more about our Glassbox® Software Development Process on our wiki (link opens in a new window).

