Dawno minęły już czasy gdy specjalistów zamykało się w pokoiku o czterech ścianach, wręczało klawiaturę i prosiło o "produkcję kodu źródłowego". Sam proces wytwarzania oprogramowania stał się bardzo skomplikowanym mechanizmem w którym, każdy pracownik niezależnie od stanowiska poza swoimi podstawowymi zadaniami musi także zadbać o inne aspekty pracy. Zarówno podczas pisania kodu jak i w wypadku owych "innych" obowiązków nie istnieje jedno wspólne narzędzie załatwiające wszystkie problemy, każdego pracownika zespołu. W zależności od obszaru w jakim się poruszamy - potrzebujemy innego zestawu narzędzi. Często początkujący programiści są zdania, że jedynym młotkiem jaki potrzebują jest środowisko. Niestety nawet podczas wykonywania podstawowych zadań, często okazuje się, że samo IDE nie wystarcza... Wiele osób z braku znajomości alternatywnych narzędzi stara się wszystko zrobić ręcznie, bądź zaczyna marginalizować kwestie, których nie da się w łatwy sposób rozwiązać. W efekcie marnuje swój czas (i często swoich kolegów), budżet projektu, pieniądze klienta co wpływa na jego zadowolenie, a finalnie na opinię o pracowniku w oczach pracodawcy.