Home

About

A system of systems

portrait photo

How many times have you decided to enhance your software systems, only to be told you needed to rewrite everything? Why? The reasons are numerous.

New CIOs may prefer a different platform, or the technology may be changing. Developers push for "leading edge" or "the latest shiny thing", 'gold-plating', 'Language Religion', and a dozen other reasons. And what happened to the ubiquity of 'Browser Standards' (a real oxymoron), "Write once, run everywhere", and other platitudes?

The Software Industry has made some small advances. One of the best is Web Services, beginning with SOAP/XML and now REST/JSON. But there is much more to be done.

At Nautilus, we focus on the Process, not the Product. A reasonable metaphor is an auto manufacturer, whose emphasis is on constantly improving the Factory, not designing a 'home-run' Vehicle. Get the factory right, and the cars coming off the assembly line will be right. This is our philosophy.

"DRY" in the Software Industry means "Don't Repeat Yourself." It works when performing a System Analysis for a new project, and it works for entire companies. We build systems on top of systems, rather than reinventing the wheel.

"All models are wrong; some models are useful." - George Box

Sequence Diagram

When starting a new project, we place an emphasis on Understanding, before Building. Models on paper (actually, on computers) can be altered much faster and cheaper than a "hack-and-edit" approach.

At Nautilus, we believe in using Agile and Scrum where it's applicable. However, we still see a need for more thorough modeling in the first stage of the project (i.e., "Waterfall"), and continuously updating the models during construction. This step is not pedantic.

Future developers have to know how the system was built, and Help Systems can be built much faster if the builders don't have to peruse the work products to fully understand it's purpose.

This philosophy of Optimizing the Methodology can be seen in the SDLC below.

Software Development LifeCycle

SDLC Diagram

In this sample diagram, you can see some of the steps we follow when developing business software systems.

Our focus is on updating the process, without rewriting existing code. Both the Process and the Product are constantly improving.

Project Management

Project Management Gantt Chart

Modern Project Management techniques (CPM, PERT, et al.) were pioneered by the U.S. Navy during the Polaris missle program for submarines. Current PM tools have these techniques built in and they work well.

We have used tools such as Confluence, CA Clarity, ServiceNow and we are currently using Microsoft Project. We have extended Project's capabilities to produce custom reports, custom columns, and more.

We agree with the aphorism "If you Fail to Plan, you are Planning to Fail." We will never shortchange the planning steps. Most failed software projects didn't succumb for technical reasons. They failed because the developers didn't build what the customer wanted.