Разрабо́тка програ́ммного обеспе́чения — деятельность по созданию нового программного обеспечения.
Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Юзаби́лити, также удо́бство испо́льзования, приго́дность испо́льзования, эргономи́чность — способность продукта быть понимаемым, изучаемым, используемым и привлекательным для пользователя в заданных условиях ; свойство системы, продукта или услуги, при наличии которого конкретный пользователь может эксплуатировать систему в определённых условиях для достижения установленных целей с необходимой результативностью, эффективностью и удовлетворённостью.
Стейкхо́лдер, также заинтересованная сторона, причастная сторона, участник работ, роль в проекте — лицо или организация, имеющая права, долю, требования или интересы относительно системы или её свойств, удовлетворяющих их потребностям и ожиданиям.

Специфика́ция — — документ, устанавливающий требования.
Сопровожде́ние (поддержка) программного обеспечения — процесс улучшения, оптимизации и устранения дефектов программного обеспечения (ПО) после передачи в эксплуатацию. Сопровождение ПО — это одна из фаз жизненного цикла программного обеспечения, следующая за фазой передачи ПО в эксплуатацию. В ходе сопровождения в программу вносятся изменения, с тем, чтобы исправить обнаруженные в процессе использования дефекты и недоработки, а также для добавления новой функциональности, с целью повысить удобство использования (юзабилити) и применимость ПО.
Ка́чество програ́ммного обеспечения — способность программного продукта при заданных условиях удовлетворять установленным или предполагаемым потребностям.
Процесс разработки программного обеспечения — процесс, посредством которого потребности пользователей преобразуются в программный продукт. Процесс разработки программного обеспечения является составной частью программной инженерии.
Гибкая методология разработки — обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкой разработки программного обеспечения и 12 принципах, лежащих в его основе.
Анализ требований — часть процесса разработки программного обеспечения, включающая в себя сбор требований к программному обеспечению (ПО), их систематизацию, выявление взаимосвязей, а также документирование. В англоязычной среде также говорят о дисциплине «инженерия требований». В процессе сбора требований важно принимать во внимание возможные противоречия требований различных заинтересованных лиц, таких как заказчики, разработчики или пользователи.

Програ́ммная инжене́рия — приложение систематического, дисциплинированного, измеримого подхода к разработке, функционированию и сопровождению программного обеспечения, а также исследованию этих подходов; то есть, приложение дисциплины инженерии к программному обеспечению.
Спецификация требований программного обеспечения — законченное описание поведения программы, которую требуется разработать.
Инженерия производительности — часть системной инженерии, включающая в себя набор ролей, знаний, практик, инструментов и результатов и применяющаяся на каждом этапе Цикла разработки программного обеспечения с целью убедиться в том, что создаваемое, программируемое и поддерживаемое архитектурное решение соответствует нефункциональным требованиям к производительности этого решения.
Стресс-тести́рование — один из видов тестирования программного обеспечения, которое оценивает надёжность и устойчивость системы в условиях превышения пределов нормального функционирования. Стресс-тестирование особенно необходимо для «критически важного» ПО, однако также используется и для остального ПО. Обычно стресс-тестирование лучше обнаруживает устойчивость, доступность и обработку исключений системой под большой нагрузкой, чем то, что считается корректным поведением в нормальных условиях.
ISO/IEC 12207:2008 Systems and software engineering — Software life cycle processes — стандарт ISO, описывающий процессы жизненного цикла программного обеспечения.
Независимая тестовая организация — организация, которая проводит тестирование продуктов, материалов, программ и др. на соответствие принятым требованиям. Организация может быть полностью независимой, либо подчиненной государству или научной организации. Под «независимостью» здесь понимается отсутствие влияния производителя товара на результаты тестирования.
Ручное тестирование — часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно производится тестировщиком без использования программных средств, для проверки программы или сайта путём моделирования действий пользователя. В роли тестировщиков могут выступать и обычные пользователи, сообщая разработчикам о найденных ошибках.
Обеспечение качества программного обеспечения — набор процедур мониторинга разработки программного обеспечения и методов, используемых для обеспечения его качества. В настоящее время в программной инженерии имеется большое количество методов обеспечения качества программного обеспечения, которые соответствуют одному или нескольким стандартам, в частности стандартам ISO 9000 или наборам моделей (методологий) CMMI.
Spotify Model — набор организационных методик, используемый для разработки программного обеспечения, позволяющий масштабировать команду разработки в соответствии с принципами Agile. Впервые использован при разработке музыкального сервиса Спотифай.

ISO/IEC 9126 — международный стандарт, определяющий оценочные характеристики качества программного обеспечения. Российский аналог стандарта ГОСТ Р ИСО/МЭК 9126-93. В 2011 году был заменён стандартом ISO/IEC 25010:2011. Состоит из 4 частей, описывающие следующие аспекты: модель качества; внешние метрики качества; внутренние метрики качества; метрики качества в использовании.