Agile Software Development
At Stellar Science, we have high standards for our software, kept in check with short, weekly code reviews, continuous integration, and unit testing. We’re agile, with lightweight process and few long meetings, no code ownership, and no change-control boards to hold back progress.
We strive to make our applications easy for the beginner, yet powerful enough for advanced users, remaining responsive during long operations, while providing feedback as to what’s happening. If something ultimately goes wrong, we’re not satisfied with a dialog containing a message like “Error -31.” We do our best to explain what went wrong, and what can be done about it.
Our software is built on multiple platforms using multiple modern compilers. This helps keep us honest and standards compliant, as different compilers notice different potential problems in the code. We try to take advantage of advancements in compilers and language technologies while staying productive at reasonably stable versions of compilers and tools.
Code Reuse & Open Source
We also use and contribute improvements back to modern, open-source, well-used-and-tested libraries like Boost and Qt for C++ and Guava for Java to avoid reinventing the wheel, while also dividing our own code into libraries that are reused across many of our projects. We all benefit from the shared libraries and their improvements.
And finally, when developers need to wait at home for the cable guy or that signature-required package, or it’s just one of those days where they would rather work with the dog sleeping at their feet, our development and collaboration tools were chosen with this in mind. Everything from our email, instant messaging, wiki, and revision control connections are secure and encrypted, ensuring integrity and protection of client data while providing employees with flexibility.