Свободное программное обеспе́чение, свободный софт — программное обеспечение, пользователи которого имеют права («свободы») на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение (совершенствование), а также распространение копий и результатов изменения. Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий.
Открытое программное обеспечение — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет убедиться в отсутствии уязвимостей и неприемлемых для пользователя функций, принять участие в доработке само́й открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов.
Экстрема́льное программи́рование — одна из гибких методологий разработки программного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.
Рефа́кторинг, или перепроекти́рование кода, перерабо́тка кода, равноси́льное преобразова́ние алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.
Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Профилирование — сбор характеристик работы программы, таких как время выполнения отдельных фрагментов, число верно предсказанных условных переходов, число кэш-промахов и т. д. Инструмент, используемый для анализа работы, называют профилировщиком или профайлером. Обычно выполняется совместно с оптимизацией программы.
C++ Builder — программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке программирования C++.
Документа́ция на программное обеспечение — печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие, как пользоваться программным продуктом.
Конфигурационное управление в программной инженерии — комплекс методов, направленных на систематический учёт изменений, вносимых разработчиками в программный продукт в процессе его разработки и сопровождения, сохранение целостности системы после изменений, предотвращение нежелательных и непредсказуемых эффектов, формализацию процесса внесения изменений.

Итеративный подход в разработке программного обеспечения — это выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл PDCA: Планирование — Реализация — Проверка — Оценка.

Gemini — программное приложение, написанное на .NET для управления проектами по созданию программного обеспечения, включающее систему отслеживания ошибок. Разработано компанией CounterSoft. Gemini может быть использована как для классического управления проектами, так и в рамках методологий Agile и Scrum.
Feature driven development — итеративная методология разработки программного обеспечения, одна из гибких методологий разработки (agile). FDD представляет собой попытку объединить наиболее признанные в индустрии разработки программного обеспечения методики, принимающие за основу важную для заказчика функциональность (свойства) разрабатываемого программного обеспечения. Основной целью данной методологии является разработка реального, работающего программного обеспечения систематически, в поставленные сроки.

Gerrit — свободное программное обеспечение с веб-интерфейсом, интегрируемое с распределённой системой контроля версий Git, предназначенное для совместного проведения инспекции исходного кода. Gerrit был разработан сотрудником корпорации Google Шоном Пирсом для разработки операционной системы Android.
Open Web Application Security Project (OWASP) — это открытый проект обеспечения безопасности веб-приложений.
Совместное одноранговое производство — это термин, введёный профессором Гарвардской Юридической Школы Йохаем Бенклером. Он описывает новую модель социо-экономического производства, в котором креативная энергия большого числа людей координируется в рамках больших, значимых проектов преимущественно без традиционной иерархической организации. Эти проекты часто, но не всегда, задумываются без финансового вознаграждения для участников. Этот термин часто заменяется термином социальное производство.

DevOps — методология автоматизации технологических процессов сборки, настройки и развёртывания программного обеспечения. Методология предполагает активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимную интеграцию их технологических процессов друг в друга для обеспечения высокого качества программного продукта. Предназначена для эффективной организации создания и обновления программных продуктов и услуг. Основана на идее тесной взаимозависимости создания продукта и эксплуатации программного обеспечения, которая прививается команде как культура создания продукта.
Программная археология — дисциплина, изучающая плохо документированное или недокументированное устаревшее программное обеспечение, в целях его сопровождения. Компьютерная археология включает в себя обратную разработку программ, использование множества инструментов и процессов для извлечения и понимания структуры программы и восстановления замысла разработчиков. Компьютерная археология может обнаружить проблемы, связанные с плохой архитектурой приложения и неиспользуемым кодом. Термин используется уже несколько десятилетий и отражает следующую метафору: программист, читающий устаревшее программное обеспечение, ощущает себя так же, как и археолог, исследующий руины древней цивилизации.
Обеспечение качества программного обеспечения — набор процедур мониторинга разработки программного обеспечения и методов, используемых для обеспечения его качества. В настоящее время в программной инженерии имеется большое количество методов обеспечения качества программного обеспечения, которые соответствуют одному или нескольким стандартам, в частности стандартам ISO 9000 или наборам моделей (методологий) CMMI.
Security Development Lifecycle — концепция разработки, заключающаяся в формировании требований к приложению, безопасном программировании, тестировании, сертификации, эксплуатации и обновлении. SDL — это процесс, который позволяет поддерживать необходимый уровень безопасности системы на этапе разработки, а затем на протяжении всего срока эксплуатации. Эта концепция фокусируется на обеспечении безопасности разрабатываемого приложения, идентификации рисков и управлении ими.
Crucible — приложение для совместного просмотра кода, созданное австралийской компанией Cenqua, позже приобретенная Atlassian в 2007 году. Проект сохранился и получил дальнейшее развитие. Как и другие продукты компании, Crucible — это веб-приложение, предназначенное в первую очередь для предприятия, и имеющее определённые свойства, которые позволяют осуществлять экспертную оценку программного кода, и может рассматриваться как корпоративная социальная программа.