Development Process Overview
Through our many years of experience building software, we've accumulated
methodologies and principles which help us build quality software.
The experience and know-how we bring to our
consulting services also make us excellent partners
in development process consulting. We have experience in reviewing existing
software and proposing changes to improve its reliability and stability.
Not only can we build great software for you, we can help your
development teams improve their current software and teach them how to
write better software in the future.
Listed below are our methodologies.
- Component-based Design
-
The specifications are encapsulated by independent components.
Software is designed to balance reuse and abstraction against the
project goals, all the while optimizing maintainability.
Learn more >>
- Design by Contract
-
The specifications are built right into the code. Software publishes
its assumptions instead of leaving its contract implicit.
Learn more >>
- Test-driven Development
-
Tests are a central part of building software. All component features
have application-independent tests which can be run automatically and
throughout development.
Learn more >>
- Document Everything
-
Software without documentation is not maintainable. Good naming
conventions, logical designs
and well-built tests help
make code self-documenting. High-level tutorials explain how the
different components are intended to work together.
Learn more >>
- Code Reviews
-
Finished code is reviewed before it is committed. Reviews make sure
that the other parts of the design process were followed
(documentation,
tests, etc.) and that errors are
fixed as quickly as possible.
Learn more >>
- Automated Builds and Releases
-
Low-overhead releases lead to faster turnaround and higher quality.
Automated - or nightly - builds pinpoints software errors before they
can become problems.
Learn more >>