Разрабо́тка програ́ммного обеспе́чения — деятельность по созданию нового программного обеспечения.
Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software.
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
Ка́чество програ́ммного обеспечения — способность программного продукта при заданных условиях удовлетворять установленным или предполагаемым потребностям.
Процесс разработки программного обеспечения — процесс, посредством которого потребности пользователей преобразуются в программный продукт. Процесс разработки программного обеспечения является составной частью программной инженерии.
Гибкая методология разработки — обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкой разработки программного обеспечения и 12 принципах, лежащих в его основе.
В разработке программного обеспечения, стадии разработки используются для описания степени готовности программного продукта. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии программы. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.
Capability Maturity Model — модель зрелости возможностей создания ПО: эволюционная модель развития способности компании разрабатывать программное обеспечение.
Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
SCRUM — методология управления проектами.
CASE — набор инструментов и методов программной инженерии для проектирования программного обеспечения, который помогает обеспечить высокое качество программ, отсутствие ошибок и простоту в обслуживании программных продуктов. Также под CASE понимают совокупность методов и средств проектирования информационных систем с использованием CASE-инструментов.
ISO/IEC 12207:2008 Systems and software engineering — Software life cycle processes — стандарт ISO, описывающий процессы жизненного цикла программного обеспечения.
Feature driven development — итеративная методология разработки программного обеспечения, одна из гибких методологий разработки (agile). FDD представляет собой попытку объединить наиболее признанные в индустрии разработки программного обеспечения методики, принимающие за основу важную для заказчика функциональность (свойства) разрабатываемого программного обеспечения. Основной целью данной методологии является разработка реального, работающего программного обеспечения систематически, в поставленные сроки.
Управле́ние разрабо́ткой програ́ммного обеспе́чения — особый вид управления проектами, в рамках которого происходит планирование, отслеживание и контроль за проектами по разработке программного обеспечения. Ключевым моментом в управлении проектом по разработке программного обеспечения является правильный выбор метода разработки.
Unified Process — методология для построения процессов разработки программного обеспечения, позволяющий команде разработки преобразовывать требования заказчика в работоспособный продукт. В зависимости от требований и доступных ресурсов, процесс разработки может быть адаптирован путём включения или исключения определённых проектных активностей. Примером методологии разработки, основанной на Unified Process, является Rational Unified Process (RUP), который содержит ряд активностей, не описанных в более общем фреймворке, но представляющих ценность для определённого типа проектов.
Обеспечение качества программного обеспечения — набор процедур мониторинга разработки программного обеспечения и методов, используемых для обеспечения его качества. В настоящее время в программной инженерии имеется большое количество методов обеспечения качества программного обеспечения, которые соответствуют одному или нескольким стандартам, в частности стандартам ISO 9000 или наборам моделей (методологий) CMMI.
Security Development Lifecycle — концепция разработки, заключающаяся в формировании требований к приложению, безопасном программировании, тестировании, сертификации, эксплуатации и обновлении. SDL — это процесс, который позволяет поддерживать необходимый уровень безопасности системы на этапе разработки, а затем на протяжении всего срока эксплуатации. Эта концепция фокусируется на обеспечении безопасности разрабатываемого приложения, идентификации рисков и управлении ими.
Гибкий унифицированный процесс - упрощенная версия унифицированного процесса Unified Process (UP), разработанная Скоттом Эмблером . Данная методология разработки программного обеспечения соединяет в себе элементы гибких методологий и унифицированного процесса. В частности, AUP предполагает разработку через тестирование (TDD), применение гибкого моделирования и рефакторинга баз данных, гибкое управление изменениями.
ISO/IEC 9126 — международный стандарт, определяющий оценочные характеристики качества программного обеспечения. Российский аналог стандарта ГОСТ Р ИСО/МЭК 9126-93. В 2011 году был заменён стандартом ISO/IEC 25010:2011. Состоит из 4 частей, описывающие следующие аспекты: модель качества; внешние метрики качества; внутренние метрики качества; метрики качества в использовании.