Napisanie programu w 100% spełniającego potrzeby firmy nie byłoby możliwe bez dialogu programista - użytkownik. Użytkownik powinien wiedzieć czego oczekuje po programie i jakie funkcje są mu potrzebne. Użytkownikiem najczęściej nie jest jedna osoba a grupa ludzi znających dokładnie zagadnienie którego aplikacja dotyczny.
Pierwszym etapem projektu jest identyfikacja potrzeb. Najczęściej odbywa się to na pierwszym spotkaniu, na którym ustala się cele, narzędzia, koszty, terminy. Na tym etapie powstaje ogólny diagram, na podstawie którego w późniejszym etapie powstają szczegółowe projekty.

Po określeniu ogólnych założeń programu następuje spotkanie programisty z grupą osób znających zagadnienie ze strony merytorycznej. Jeżeli firma nie zatrudnia takich osób wówczas istnieje możliwość współpracy z osobami z którymi współpracuję. Należy jednak podkreślić, że najlepsze efekty uzyskuje się gdy w proces tworzenia aplikacji zaangażowane są osoby, które znają potrzeby firmy, potrafią je określić i opisać. Na spotkaniu powstaje diagram, który służy jako podstawa do pisania aplikacji.

Następuje faza pisania programu. Podczas powstawania może dojść do potrzeby kontaktu z pracownikami firmy w celu uzupełnienia wiadomości.
Każdy nowy program musi przejść fazę testów. Testy te najlepiej przeprowadzać u klienta końcowego. Jest to okres, który pozwala na zapoznanie się z aplikacją, wyłapanie błedów, zasugerowanie zmian w interfejsie lub wydrukach.
Po zakończeniu testów instalowana jest wersja właściwa aplikacji i można rozpocząć pracę z programem.