Pierwszą kwestią, o której należy wspomnieć o inżynierii oprogramowania, jest jej dziedzina działalności. Inżynieria oprogramowania to zarządzanie całym procesem rozwoju systemów komputerowych w celu rozwiązywania problemów.

Ponieważ systemy oprogramowania stają się coraz bardziej wyrafinowane i złożone, programiści szukają nowych metod ich rozwoju. Inżynieria oprogramowania jest odpowiedzią na tę potrzebę. Rozwój oprogramowania wciąż się szybko zmienia i dojrzewa.

Kiedy ktoś jest proszony o napisanie programu, ktoś inny zwykle mówi mu, co program powinien zrobić i dlaczego. Programistowi zależy tylko na tym, jak on to pisze. Jako programiści zajmiemy się jednak tym, co i dlaczego. Inżynieria oprogramowania obejmuje wszystkie działania związane z rozwiązywaniem problemów - od pomocy klientowi w zdefiniowaniu problemu lub możliwości po ocenę zadowolenia klienta z rozwiązania.

Opracowanie systemu oprogramowania może wymagać napisania całej kolekcji programów, aby powiedzieć maszynom, co mają robić, pisania procedur, aby powiedzieć ludziom, co mają robić, oraz zapewnienia szkoleń, aby ludzie mogli zrozumieć jak to zrobić Może być konieczne przekonwertowanie danych ze starego systemu, aby mógł on działać z nowego systemu w celu zatrudniania ludzi i zakupu komputerów do uruchamiania programów oraz w celu zaoszczędzenia miejsca dla maszyn i ludzi do wykonywania swoich zadań może. To, co budujemy, to system, w którym wiele części współpracuje ze sobą. Takie przedsięwzięcie wymaga cierpliwości i elastyczności. Musimy naprawić system, jeśli nie spełnia oczekiwań lub klient prosi nas o zmianę systemu, ponieważ chce zrobić coś, co wcześniej nie było zamierzone.

Programowanie nie powinno stanowić więcej niż 20 procent całkowitej ilości inżynierii oprogramowania, a udział prac programistycznych powinien się zmniejszyć, ponieważ do opracowywania systemów oprogramowania stosowane są ulepszone metody. Z czasem zrobimy więcej, aby zarządzać całym procesem, mniej programowania.