Kako softverske zavisnosti utiču na razvoj softvera?
Definicija: Softverske zavisnosti (eng: Software Dependencies) su odnosi ili stanje između pojedinaca, timova i organizacija u kojem jedan objekat (bilo da je u pitanju softverski kod, funkcija, alat i sl. ili osoba, tim ili organizacija/e) koristi tj. zavisi od funkcije drugog objekta da bi završila svoj posao.
Vrste tehničkih zavisnosti:
- Neke od tih zavisnosti zasnivaju se na tehnologiji. Primjer: UI / UX Dizajn treba da imam prije nego što kreiram softver / veb aplikaciju ili da dodam novu funkciju, neki od ovih zavisnosti tiču se dostupnosti ljudi u određenom vremenskom intervalu i sl.
- Neke zavisnosti su obavezne jer se moraju dogoditi. Primjer: Moram da imam softverski kod na raspolaganju da bih mogao da testiram i sl.
- Neke od njih su diskrecione zavisnosti. Primjer: možda bi nam bilo pogodnije organizovati rad na određen način i sl.
- Neke od njih mogu biti eksterne zavisnosti. Primjer: naš tim je jedan od mnogobrojnih timova (Scrum of Scrums ili Nexus) koji zavise od raznih inputa drugih timova, kako bi uspješno izvršili svoj zadatak.
- Konačno, i svakako ne najmanje važno, možda imamo različite interne zavisnosti između naših timova i resursa i načina na koji obavljamo svoj posao. Sve ih je potrebno identifikovati.