What does the software quality process for nasas sls look like. Shuttle software had to be extremely high quality, reliable, robust, reconfigurable and maintainable. When active research and design begin, a technology is elevated to trl 3. Aug 09, 2019 nasa will evaluate all esdsfunded software development activities for continued compliance with the oss policy.
The software engineering team at kennedy space center ksc can support a full lifecycle of software development services, ranging from requirements gathering, to design and development, testing, deployment and maintenance. Technology readiness levels trl are a type of measurement system used to assess the maturity level of a particular technology. The nasa technical standards system is a key element of the nasa technical standards program ntsp, sponsored by the office of the nasa chief engineer. Sally godfrey has been with nasa for over 25 years, during which she has managed the development of many large flight dynamics software ground systems. Nasa software developers and engineers are using agile methods to enhance timeliness and efficiency as they develop critical applications for the space launch system sls and other major projects. Developing software for a small satellite mission is a complex. The best we can do is give sorware developers well understood requirements, a few important coding rules, the proper development tools, and best test environment to work through this phase. If you are logging in with a nasa guest account, please select the agency user id button on the login page. Swe050 software requirements nasa software engineering. Each technology project is evaluated against the parameters for each technology level and is then assigned a trl rating based on the projects progress. The software management process requires the understanding and application of other nasa policy requirements that impact the development, release, andor. This software safety guidebook addresses the how to. The use of a spiral process can make the inherently difficult job of. A look at the culture they have built and the process they have perfected shows what softwarewriting must.
A software development process, though, requires a more informal type of process automation allowing the project manager more control rather than enforcing tight rules through the workflow engine. As a result, several types of software development life cycle models may be used during the course of a project to accomplish the various components of the software. The processes used in a software development activity can be derived from a set of common processes defined at the agency level, center level or organizational level. In this audit, we evaluated nasas management of gfas development, specifically whether nasa has taken appropriate steps in its software development and adequately managed the risks given the complexities of. Review progress on nasa software engineering initiative implementation against the plan. This policy applies to the complete software development life cycle, including software planning, development, testing, maintenance, retirement, operations. The nasa software engineering and assurance handbook, nasa hdbk2203 is a key component of the nasa software community implementation of an agencywide plan to work toward a continuous and sustained software engineering and software assurance process and product improvement. The 20192020 nasa software catalog offers hundreds of new software programs you can download for free to use in a wide variety of technical applications. Nasa is a large organization, with many subdivisions at each center with their own policies and their own goals. This policy applies to the complete software development life cycle, including software planning, development, testing, maintenance, retirement, operations, management, acquisition and assurance activities. Flight software complexity 352009 3 separability of its components and features and weigh the cost of testing unwanted features against the cost of implementing only the desired features. Establish processes for nasa software projects to be open source from inception, including the use of community development and public source code hosting. Early in the program, however, draper laboratory had significant influence on the software and hardware systems for the shuttle.
Software process improvement in the nasa software engineering. The issmp software process website is intended to assist principal investigators pis and others associated with issmp experiments with software development at the johnson space center jsc for human research program hrp issflight investigations. This is the software configuration management guidebook which describes software configuration management in a way that is compatible with practices in industry and at nasa centers. A software development simulation model of a spiral process abstract. Issmp software development process website home nasa. Any future changes in the software development process will result in an update. The benefits of allowing the public to assist in development of nasa software include increased software quality, accelerated software development, and a higher rate of technology transfer both to and from nasa. Sep 19, 2018 the issmp software process website is intended to assist principal investigators pis and others associated with issmp experiments with software development at the johnson space center jsc for human research program hrp issflight investigations. A particular project may require a variety of software development activities. Jprs need to be submitted for any software item cots, modified cots, or developed software for nasa use.
Nov 15, 2019 this flow addresses requirements development via the nominal system flow down process. Nasa software engineering initiative implementation plan. The dsn is an important asset that allows nasa to communicate with all spacecraft in deep space. The intent is for this document to provide the overall highlevel process and the pis and work instructions wis to provide the detailed instructions on how emd sdps executes this process. Sdps software development plan for the ecs project nasa. Thats why we normally talk about engineering processes instead of development methodologies, as we do in pure software development. This poses new challenges for nasas software assurance sa professionals who strive to ensure safety and mission success. Nasas development of ground and flight application.
Nasa achieved the goal of having such an efficient software production system through an 8year development process when the spf was still the laboratory. The process asset library pal is an intelligent systems division repository of documents and tools that can be made available to project teams to facilitate project performance and adherence to agency software requirements and standards. The core flight system cfs is a platform and project independent reusable software framework and set of reusable software applications. The nasa aircraft management information system namis is an enterprise resource planningmission support software suite designed from the ground up to meet both the mission support requirements and the business management requirements of jscs aircraft operations division aod. Sdps software development plan for the ecs project january 2001 prepared under contract nas560000. The nasa software engineering and assurance handbook, nasa hdbk2203 is a key component of the nasa software community implementation of an agencywide plan to work toward a continuous and sustained software engineering and software assurance process and. The nasa technical standards system is a key element of the. Below are the major steps and important notes for experiment research with software. Mar 19, 2020 development costs increasing approximately 77 percent and release of a fully operational version of the software slipping 14 months. This will allow for more accurate estimates to be developed as the project progresses and as more information becomes available. Browse software by category nasas software catalog. Developing software for the space shuttle nasa history. What software engineering processespractices does nasa.
The space shuttle flight software development process. The software technical requirements definition process is used to transform the baselined stakeholder expectations into unique, quantitative, and measurable technical software requirements that can be used for defining a design solution for the software end products and related enabling products. There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development are becoming more and more popular. It provides a systematic approach to software development, using nasa software documentation standard, nasa std210091, to tailor those software. Agile development brings new challenges for software. The ksc team has developed systems on a range of technology platforms using software processes compliant with nasa and. The code ti software management office smo was established in 2007 to help division software engineering projects comply with nasa procedural requirements for software engineering and quality assurance. She has also been involved the software process improvement as a member of the software engineering laboratory at goddard space flight center gsfc for over 10 years.
In support of nasas lunar exploration efforts known as the artemis program, the egs program manages two major software development projects. Boehm 4 in 1988 and scacchi 314 in 2001 presented some of the original discussion for process models for software development. Develop a standalone software management plan that includes the content required by npr 7150. This report describes the work of the first recipient of the ieee computer society software process achievement award, jointly established by the sei and ieee. That means the moon and beyond, places like mars, saturn, and the voyager 1 spacecraft, which has left the solar system, according to melissa soriano, a software engineer at jpl who works on the dsn. The agency user id will be the email address you registered your guest account with. Mar 19, 2020 in this audit, we evaluated nasa s management of gfas development, specifically whether nasa has taken appropriate steps in its software development and adequately managed the risks given the. The software development or management plan provides insight into, and a tool for monitoring, the processes to be followed for software development, the methods to be used, the approach to be followed for each activity, and project schedules, organization, and resources. Space industry, because of the complexity of the systems involved, is very process oriented. Software maintenance and development plan for the emd. The nasa root cause analysis tool rcat has been designed to facilitate the analysis of anomalies, close calls, and accidents and also identify the appropriate corrective actions to prevent recurrence. Apr 21, 2020 if you want to develop good software or perform software assurance for nasa, study the industry software engineering development process models.
Nasas managers handbook for software development recommends that a minimum of five reestimates should be made after the initial estimate at key life cycle phase points sel 1990. In 1972, nasa studied what sort of equipment would be required for the facility to function properly. A look at the culture they have built and the process they have perfected shows what software writing must become if software is to realize its promise, and illustrates what almost any teambased. There are three key aspects to the cfs architecture. Whats the right way to do software, what are all the activities involved in software development. The objective of nasa software assurance and software safety is to ensure that the processes, procedures and products used to produce and. Types of software life cycles the project must select and document the life cycles to be used for software development activities. Software development process describes the ecs sdps development process including the software development life cycle and software reuse.
Gradually such processes were incorporated into the nasa environment and became part of the general software development process. What software engineering processespractices does nasa use. The rise and fall of the nasa software engineering laboratory. An exceptionally good software development process can keep defects down to as low as 1. In the context of the gcs project, a problem is a question or issue raised for consideration, discussion, or solution regarding some artifact of the software development process. The software release authority approves the release of software from jsc as well as release to external or internal partners for marketing, distribution. It provides access to technical standards from specifically contracted standards developing organizations sdos at no direct cost to the user via electronic subscription delivery and on a pay. The project must select and document the life cycles to be used for software development activities. Software configuration management is a key software development process, and is essential for doing software assurance. In the software development process, problems can be identified in practically all life cycle data, including the software requirements, software design and code, and. Swe019 software life cycle nasa software engineering. Intelligent systems division process asset library nasa. Learn how and what is involved in performing good software engineering, suggests crumbley.
The software provides an analyst with a quick, easytouse, accurate, and repeatable method. Generally both analytical and laboratory studies are required at this level to see if a technology is viable and ready to proceed further through the development process. All nasa software development needs to follow some level of defined software processes. The space shuttle flight software development process an. If a nasa employee wanted to provide input on the way something was written, a link to another resource, or call attention to a typo, they could simply leave a comment at the bottom of the page. Effective software is essential to the success and safety of the space shuttle, inc. They write the right stuff as the 120ton space shuttle sits surrounded by almost 4 million pounds of rocket fuel, exhaling noxious fumes, visibly impatient to defy gravity, its onboard computers. The software development community over the years has recognized the need for rationally managing the activities involved in software development. Permissive licenses guarantee the free use, modification, and redistribution of software while still permitting proprietary derivative works open source initiative. Nasas software engineering handbook released appel. I work for goddards planetary environments laboratory, which specializes in building mass spectromete. On nasa or institutions letterhead or an email from element with element signature. The development process should help software developers specify the required level of safety to ensure they design and implement secure systems. Software quality assurance summarizes the approach to ensure that all software meets the performance assurance requirements par and the performance assurance.
Through the fast postprocessing of measured timeseries raman spectral data, rateda reveals thermochemical properties and turbulentchemistry interactions in. If you need to create a guest account, please click the create guest account button below. This includes contractor developed software, open source software, and firmware. In march 2011, nasa hosted an open source summit at ames research center. Sep 04, 2014 nasa software developers and engineers are using agile methods to enhance timeliness and efficiency as they develop critical applications for the space launch system sls and other major projects. The engineering of nasa systems requires a systematic and disciplined set of processes that are applied recursively and iteratively for the design, development, operation, maintenance, and closeout of systems throughout the life cycle of the programs and projects. Nasa software engineering requirements now in effect. A software development simulation model of a spiral process. Jprs determine the software development process and requirements needed to obtain acceptance of product according to nasa standards. The software development team can use these descriptions as a basis to develop the required phase transition criteria for the software development activities. This nasa developed technology is a matlablanguage computer program for exploratory data analysis. Questions concerning the application of this publication to specific procurements or requests should be referred to the nasa enterprise program or center. However, software requirements can also be developedmatured with the system i.
If you want to develop good software or perform software assurance for nasa, study the industry software engineering development process models. Test reporttest plan results this identifies the development process that was followed. The office of the chief engineer advances nasas software engineering practices through continuous process and product improvement, software engineering metric, updated policies and guidelines, infusion of software engineering research and technology, and by enhancing engineering knowledge and skills. Oct 10, 2014 the office of the chief engineer advances nasa s software engineering practices through continuous process and product improvement, software engineering metric, updated policies and guidelines, infusion of software engineering research and technology, and by enhancing engineering knowledge and skills. And its the dominant image of the software development world. To achieve this, the software development team evolved a software process focused on continuous process improvement and defect elimination that consistently produced highly predictable and top quality results, providing software managers the. The jsc technology transfer and commercialization office tto makes select software available for public release through jscs software release authority. Often during trl 3, a proofofconcept model is constructed. It is the core document describing the software development processes for the flight computer the bit responsible for onpad prelaunch, launch.
895 1098 192 409 253 559 501 397 1115 452 834 721 969 924 1379 589 520 1484 694 1162 1023 832 1511 1072 237 1187 52 1202 750 1135 1384 86 387 450 954 1475 639 70 777 481 538 1222