Experts in Developing Software Solutions
for Military and Commercial Systems
Moebius Solutions CEO
Robert Hastings has 21 years of software development experience, including 16 years in leadership roles in all phases of the software development life-cycle. In addition to his current position as President of Moebius Solutions, Inc., he has been the Principal Engineer for CCG (Controlled C2PC Gateway Accelerator), CJB (C2PC Java Bindings), and CIIL (C2PC ICSF Interface Layer) for the last 9 years. Robert was the Lead Software Architect for the GCCS 4.X visualization segments (JMV, AFW IFL, TMSV) for one year (1998-1999), and Chief Software Architect for C2PC for 2 years (1996-1998), Software Lead for 1 year of GCCS-M 3.X (1996), Software Lead for 3 years of Tactical Object Manager. Mr. Robert Hastings has been the Software Lead for the Open Track Manager project for the past two years.
WE ARE MOEBIUS SOLUTIONS
My early experiences with software development within the Department of Defense (DoD) community were challenging and rewarding. But, one thing that has always troubled me is how "closed source" the development was. The company that I worked for maintained the "INRI force field", restricting access to technical data to its employees. However, all the development was funded by tax payer dollars, so it seemed that we should have actually been required to share all of the technical data with the DoD and authorized DoD contractors. Thus, when I had the opportunity to found Moebius Solutions, Inc. I had a vision that we would be as "open as possible". At this point, I think we have been pretty successful building an opensource culture. For example, Common Track Manager has over 100 committers, which is nearly double the number of Moebius developers.
I wanted to found a company that gathered and maintained software development technical excellence. That vision has served Moebius Solutions well. We are not the fastest growing company around, but we have a reputation with our customers of being a software development powerhouse. I recently had one of our customers tell me:
Open Source Company
Moebius Solutions prides itself with being an open source company. Open source reduces R&D costs, increases productivity, improves efficiency, facilitates interoperability and encourages innovation. Since Moebius is a company that distributes free and open source software, it depends on the relative excellence of the support it provides for revenue and has an incentive to ensure the quality of its services. Open source companies foster and benefit from their user and developer communities. A user with a particular concern or requirement can often gain access to the individual developer. Open source software is adopted because it is reliable, resilient, and adaptable. The distributed nature of open source and free software development has encouraged good habits around the maintenance of the software, in that processes and discussions are recorded and archived, and some of the basic rules of software development – transparency, simplicity, modularity and portability – are a necessary adjunct for the project’s viability. Good habits engender good software, and good software becomes incrementally cheaper over time. Open source removes the need for dependence on single vendor solutions which tend to push up prices.
Moebius Solutions develops advanced debug and test software. Moebius Solutions developed a network enabled crash reporting system for Sony Computer Entertainment America that allows Play Station 3 kernel and game developers to troubleshoot problems.
Moebius Solutions works closely with the Space and Naval Warfare Systems Center Pacific (SSC Pacific) in house development team by providing development services to for the OTM Project including the C2RPC, the Combat Systems Command and Control (CSC2) directed experimentation efforts, and Consolidated Net-Centric Data Environment (CNDE) and C2 Core development and integration.
Moebius Solutions has innovated solutions to many challenging problems. In 2003, the C2PC Java Bindings (CJB) project revolutionized the use of Java in the C2PC development community. We also developed the C2PC Gateway Accelerator (CGA), a web-deployable system that accelerates the distributed C2PC tactical picture over low-bandwidth networks. In 2010, the C2RPC project began a live prototype with OTM as the primary situational aware feed, bridging data from GCCS into C2RPC. C2RPC and OTM have been in continuous operation since that time supporting the daily operations update brief. Please visit our Projects page for more information about these and other projects.
Moebius Solutions is committed to supporting Open Source software to the maximum extent that our DoD and Commercial customers allow and has published jSegue to the Open Source community as a SourceForge project. The jSegue software generates Java classes that allow Java programs to access OLE Automation Servers and vice versa. Furthermore, our Marine Corps projects use an Open Source License (GNU Public License) and are hosted for DoD customers on Forge.mil.
At our core we are a software development company following these tenets*:
Planning: plan, then update the plan as events overtake the plan.
Tackle hardest features first: Risk Management.
Metaphor: simple shared story of how the whole system works: if architecture is important, everybody will work defining and refining the architecture all the time.
Simple design: eliminate features you do not need: if simplicity is good, we’ll always leave the system with the simplest design that supports its current functionality (the simplest thing that could possibly work, YAGNI, none exercised options).
Test driven development: if testing is good, everybody will test all the time (unit testing), even the customers (functional
Refactoring: code new features then refactor toward design patterns: if design is good, we’ll make it part of everybody’s daily business.
Peer reviews, pair programming: if code reviews are good, we’ll review code all the time (pair programming, well as much as we can).
Collective ownership: anyone change any code anywhere in the system at any time.
Continuous integration: automated build/test/package: if integration testing is important, then we’ll integrate and test several times a day.
Writing defensive code: if testing is good, the code will test itself as it runs every time (asserts).
Maintaining an issue tracking database.
Web based forums for user support.
*These were compiled from several sources: eXtreme Programming, Debugging the Development Process and Code Complete.