What is PSIP?
Productivity and Sustainability Improvement Planning (PSIP) is a lightweight, iterative workflow that allows software development teams to identify development bottlenecks and track progress to overcome them. PSIP is a software improvement process.
By practicing PSIP, teams are able to realize process improvements without a disruption to any current development processes.
Where can I get more information on PSIP?
- PSIP Github Repository : Main Repo weblink
- PSIP Guides : Userguide weblink
- Contact the PSIP team : Contact PSIP
Who should be interested in PSIP (and why)?
If you and your team want to improve your development process, software sustainability, and productivity in a lightweight, iterative and uncumbersome manner, then PSIP is for you.
Scientists, researchers and scientific software teams who work in scientific computing want to improve their (team's) development process, software sustainability and productivity. However, they often face several realistic constraints related to limited funding (just enough to generate results but not improve processes), limited man-power and lack of formal software engineering training. Scientific software teams also have an inherent skepticism about formal, heavyweight approaches that might significantly delay their current scientific activities or require large investments before seeing benefits. Keeping in mind these observations, for any productivity or sustainability improvements to be successful, they must be incremental, iterative and integrated into the primary feature development process.
With this focus in mind, the Productivity and Sustainability Improvement Planning (PSIP) software process impovement (SPI) method was envisoned for scientific software teams.
How can I get started with PSIP?
The ECP-IDEAS PSIP team has a PSIP repository which is an ideal place to start learning about PSIP. If you are new to PSIP, the user guides in the repository will help you get started with the process.
How can I contact an IDEAS PSIP team member?
The PSIP team is happy to answer questions or to help you on your quest of improved software sustainability and quality. Please use this Contact PSIP team form to get in touch with us.
What does improving processes through PSIP entail?
PSIP is very lightweight.
The key to PSIP is understanding where you are starting from, setting goals, and tracking your progress. The PSIP framework is shown below, which consists of seven iterative steps.
At the core of PSIP is a simple progress tracking card (PTC). Progress tracking cards are concise visual aids that record your intended goals, deliverables, and milestones. You create a PTC so that you can progressively compare your team's progress toward an intended goal.
Note that PSIP PTCs are not meant to be external assessments or evaluation tools. A PTC is meant to be used internally in your team for your own progress tracking. PSIP can help develop best practices and the use of PTCs will help keep track of your progress toward an objective. You can also use or share PTCs when communicating to other teams about your goals and how you know when you will have met your objectives.
The PSIP repository has a collection of PTC cards for you to explore. Several of these existing PTC cards have been used by teams successfully. You can choose to select a PTC card for the objective/goal that you want to focus on. You can also choose a PTC card, and customize it to meet your timeline and priorities.
Are there other articles to read about PSIP?
The PSIP repository is an excellent place to start the PSIP journey. In addition, the following resources may be beneficial in providing more information on PSIP on this site.
- The BSSw.io PSIP Webpage
- Planning for Better Software: PSIP Tools
- A Lightweight Software Process Improvement using Productivity and Sustainability Improvement Planning (PSIP)
- What makes PSIP suitable for the Exascale Computing Project? - A Podcast
- FLASH5 Refactoring and PSIP
- Adopting Continuous Integration for Long-Timescale Materials Simulation