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

Програ́ммная инжене́рия — приложение систематического, дисциплинированного, измеримого подхода к разработке, функционированию и сопровождению программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению.
Разработка, управляемая моделями, — это стиль разработки программного обеспечения, когда модели становятся основными артефактами разработки, из которых генерируется код и другие артефакты.
Реинжиниринг программного обеспечения — процесс создания новой функциональности или устранения ошибок, путём революционного изменения, но используя уже имеющееся в эксплуатации программное обеспечение. Процесс реинжиниринга описан Чиковски и Кроссом в их труде 1990 года, как «The examination and alteration of a system to reconstitute it in a new form». Выражаясь менее формально, реинжиниринг является изменением системы программного обеспечения после проведения обратного инжиниринга.
Вя́зкость — отрицательное качество программного кода, один из признаков плохого проектирования, выражающихся в пониженной податливости программной системы изменениям.

CASE — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов. Также под CASE понимают совокупность методов и средств проектирования информационных систем с использованием CASE-инструментов.
Feature driven development — итеративная методология разработки программного обеспечения, одна из гибких методологий разработки (agile). FDD представляет собой попытку объединить наиболее признанные в индустрии разработки программного обеспечения методики, принимающие за основу важную для заказчика функциональность (свойства) разрабатываемого программного обеспечения. Основной целью данной методологии является разработка реального, работающего программного обеспечения систематически, в поставленные сроки.
Предметно-ориентированное проектирование — набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.
Замораживание в разработке программного обеспечения — момент времени, по достижению которого правила внесения изменений в исходный код ужесточаются. Замораживание помогает произвести выпуск (RTM) — обеспечить стадию разработки, для которой характерна стабильность.
Обеспечение качества программного обеспечения — набор процедур мониторинга разработки программного обеспечения и методов, используемых для обеспечения его качества. В настоящее время в программной инженерии имеется большое количество методов обеспечения качества программного обеспечения, которые соответствуют одному или нескольким стандартам, в частности стандартам ISO 9000 или наборам моделей (методологий) CMMI.
Термины пользовательская разработка или пользовательское программирование обозначают набор методик и инструментов, которые позволяют программировать конечным пользователям — людям, не являющимся профессиональными разработчиками ПО. Люди, не являющиеся профессиональными разработчиками, могут использовать инструменты EUD для создания или модификации программных артефактов и сложных объектов данных без знания языков программирования.
Карл Вигерс — американский инженер-программист, консультант в сфере разработки программного обеспечения, менеджмента и улучшения процессов. Известен как автор множества книг и статей, посвященных анализу требований к программному обеспечению и проектному менеджменту. Наиболее известна его книга Разработка требований к программному обеспечению, выдержала несколько переизданий.
Реверс-инжиниринг с помощью искусственного интеллекта (AIARE) — это отрасль информатики, которая использует искусственный интеллект (ИИ), в частности стратегии машинного обучения (ML), для расширения и автоматизации процесса обратного инжиниринга. Последнее предполагает анализ продукта, системы или процесса для понимания его структуры, дизайна и функциональности. AIARE была впервые представлена в первые годы 21 века, а с середины 2010-х годов наблюдался значительный прогресс.