A shared resource for discussing, iterating and referencing best practices in software lifecycle process improvements for multi-mission space and ground software
Software Lifecycle Improvement & Modernization (SLIM) is a project focused on collecting, developing, and disseminating best practices and process improvement strategies in NASA multi-mission software development lifecycle ecosystems. SLIM represents both a community of contributors as well as a continually evolving repository for best practices documentation.
There are three key areas within the software development lifecycle improvement space that SLIM focuses on providing best practice guidance for:
We reach out to community member projects, and solicit input on outstanding process improvement needs, including the respective needs' relative ranking in importance / criticality. A few needs are chosen to focus active contributor time upon - seeking to develop best practice guides, including items such as use case lists, trade-studies, reference architectures and starter kits.
Once prioritized needs are identified, contributors go through a series of steps to create best practice guides for the community.
More information on our development process for best practice guides can be found in our Contributing Guide.
What does it mean to be a community member of SLIM? The following ideas apply to member projects:
- Has a representative (a point-of-contact) who interfaces with the SLIM effort
- Active and timely feedback on SLIM issue ticket prioritization
- Openness and willingness to infuse SLIM best practices
The following list of projects are currently SLIM member projects:
The following sections link to best practices resources developed by SLIM for process improvement needs solicited by the wider SLIM community.
The list is sorted alphabetically and is continually being added to.
Our continuous integration best practice guide focuses on techniques to support software build integration, the publishing of build results and the releasing software assets.
Our continuous testing best practice guide focuses on exploring scenarios for automatically invoking unit, regression and integration tests, as well as the eco-system of tools and best practices to support creating the tests.
Our documentation best practice guide focuses on solutions for building, editing, leveraging templates for, hosting, and maintaining documentation for your projects.
SLIM best practice guides and recommendations are open source, which means you have the freedom to use our work (in accordance with our LICENSE) as well as contribute and help shape our future work. We're excited to welcome new contributors and users.
Some ways you can get involved with SLIM:
The fastest way to start using SLIM process improvement solutions is to take a look at our best practice guides, specifically our starter kits. Starter kits provide plug-and-play solutions to process improvement needs. To complement our starter kits, take a look at use cases to understand the context of the starter kit solutions, trade studies to understand tool / solution trade-offs, and reference architectures to understand how tool / solutions interact in an actual working environment.
We recommend creating pull-requests using our starter kits against your own repositories. Reach out to our contributor communication channels for questions if you're unsure how to create pull requests. An excellent tool to automate the infusion of starter kits in your repositories (especially if you have many) is to use a tool like multi-gitter if you're using Git to create pull-requests.
Finally, if you use any of our guides - please consider adding the following badge to your README.md
:
We're excited to see your contribution! Please see our Contributing Guide on details for how to contribute. We accept many non-code contributions as well, so feel free to think creatively.
The more people & projects using, contributing, and maintaining SLIM, the more robust and long-term this effort will last.
You can help by:
Share our website (https://nasa-ammos.github.io/slim) with your friends and colleagues