The Code TI Software Management Office (SMO) is the primary Software Process Improvement (SPI) group for the Intelligent Systems Division and other Ames organizations developing software. Software process improvement is the application of good engineering practice to the development of software. As implemented by the SMO, it is not a one-size-fits-all checklist approach, but a distillation of best practices and lessons (both positive and negative) learned from past software projects at Ames.
SMO software development processes support projects through their entire lifecycle, from planning to deployment. The planning process is based on principles from the discipline of participatory design, which can be summarized as follows:
The SMO begins by helping projects identify their Needs, Goals and Objectives (NGOs). This often involves participation by the science team members, payload and hardware engineers, and systems engineers as well as the software team. Participants are gathered around a round table for short, intensive planning and brainstorming sessions, facilitated by SMO process management engineers. Ideas are written down, discussed, and analyzed. Agreements are documented, and information needs, pending questions, and action items identified.
These planning sessions in turn feed into project and software ConOps documents, preliminary software designs, and the definition of software requirements, all of which are directly traceable back to the agreed-upon project NGOs. In this way, the SMO ensures that software requirements are validated (with relevant project stakeholder concurrence) and that development teams do not begin writing code until they have clearly defined requirements.
The SMO also provides process management services for projects. First, all planning session work products and transferred into JIRA, our preferred project task-tracking system. Once in electronic form, all project tasks, (including required functionalities, bug fixes, testing, etc.) are assigned, monitored, and tracked to completion by our SMO process management engineers, working in close collaboration with project managers and project software leads. This frees up project managers and software leads from having to spend time on individual task tracking, leaving them more time to focus on technical issues and interfacing with higher-level line, program, and project management.
Throughout this process the SMO ensures that projects are fully compliant with all applicable NPR 7150.2 requirements for their class of software. In addition, Code TI is a CMMI ML2-rated organization, so projects working under the process management supervision of the Code TI SMO can be assured their software is being developed under CMMI ML2-rated processes.
For more information and to arrange for SMO support for your existing or upcoming software project, please contact Bob Duffy at 4-3591.