Back to Top


  • Systems Engineering & Engineering
    Systems Engineering & Engineering

In this five-day course, participants will learn how to improve their software project management skills including making better software project management decisions. Course attendees will be asked to apply what they know and learn about managing software projects in a practical simulation. Understanding the key steps in establishing a project plan; how to estimate software costs; tailoring a NPR 7150.2 compliance matrix; how to plan, monitor and control a project using performance measurement techniques; how to respond to a customer-initiated change; and how to use valuable face-to-face negotiation skills with a project manager. This course includes some lab work, potentially extending after normal work hours.

This course is designed for managers, systems engineers, software leads, and others needing an understanding of software engineering management as it is practiced within NASA. It is particularly useful for anyone who does or wants to lead software development. The course will also be useful for any personnel developing software in any domain and for personnel responsible for integrating software into a system or systems.

Related Resources

Resource Category

NEN Software EngineeringWebsite

APPEL Library Resource

NASA Galaxie Library NASA Galaxie Library
All supplemental resources are NASA accessible only unless otherwise noted.

Upon completion of this course, participants will be able to:

  • Explain software's role in and importance to NASA programs.
  • Properly interpret and apply NASA software engineering policies, requirements, templates, tools, checklists, and guidelines.
  • Recognize and respond to early warning signs from software measurement data analysis, and use results for effective decision making.
  • Formulate pertinent software measurements and reporting for senior management.
  • Explain the relationship between software development lifecycle phases and the project development lifecycle.
  • Identify the requirements for and the best practices of each phase in the software development lifecycle.
  • Describe methods to build good software products.
  • Describe the importance of software engineering support activities such as software configuration management, software assurance, software independent Verification and Validation, software cost estimations, software risks, and software acquisition.
  • Monitor software engineering project contracts.
  • Apply the software engineering lessons learned from relevant software failures.
  • Estimate software project costs.
  • Manage software project stakeholder relationships, and apply a variety of negotiation techniques to stakeholder interactions.
  • Effectively respond to customer-initiated software project changes.
  • Plan for a series of software builds/releases.