Public Sector Agility by Jasmin Heljić, Omer Gegić and Kemal Bajramović

Preview:

Citation preview

Izazovi uvođenja agilnog razvoja softvera u javna preduzeća

AGILNOST U JAVNOM SEKTORU

Bosnia Agile Meetup

Jasmin Heljić

Omer Gegić

Sarajevo, 08.04.2016

Direkcija

Poslovnica

Djelatnost

Poslovnica

Poslovnica

Djelatnost

Poslovnica

Poslovnica

Javno preduzeće - preduzeće u

državnom vlasništvu i/ili pod državnom

kontrolom koje obavlja djelatnost od

opšteg interesa.

Najčešća područja djelovanja javnih

preduzeća su: energetika,

komunikacije, komunalne djelatnosti,

upravljanje javnim dobrima i dr.

2 Javno preduzeće

Razvoj softvera (1/2)

Razvoj softvera - proces nastanka softverskog proizvoda.

Softverski inžinjering - profesija koja se bavi dizajniranjem, implementacijom i

modifikacijom softvera s ciljem isporučivanja kvalitetnog softverskog

proizvoda.

Postoje tri glavne paradigme razvoja softvera: tradicionalna, iterativna i

agilna. Svaka je pogodna za neke situacije, ali ni jedna nije pogodna za

sve situacije.

3

Spektar načina realizacije softverskih proizvoda se proteže od razvoja do

nabavke gotovih paketa.

Razvoj namjenskog softvera:

vlastiti (in-house)

vanjski (outsourced)

U literature se rijetko pravi jasna razlika između vlastitog i vanjskog razvoja.

Razvoj se konceptualno posmatra kao istovjetna aktivnost bez obzira u

kojem kontekstu se dešava.

Kompanije obično pribjegavaju vlastitom razvoju u slučaju trivijalnih

zahtjeva s jedne, te kompleksnih ili neobičnih zahtjeva s druge strane.

4 Razvoj softvera (2/2)

Individue i interakcije iznad procesa i alata

Funkcionalan softver iznad obimne dokumentacije

Saradnja sa klijentom iznad ugovaranja

Reagovanje na promjene umjesto slijeđenja plana

Agilni manifest5

6 Karakteristike javnih preduzeća (1/5)

Izražena birokratska kultura

Hijerarhijska struktura

Katastrofalna politika kadroviranja

Toksične radne sredine

Dijagram iz studije slučaja o komunikaciji u javnom preduzeću

Karakteristike javnih preduzeća (2/5)7

Izvod iz bilježnice člana projektnog tima o pritiscima tokom trajanja projekta

Karakteristike javnih preduzeća (3/5)8

9

Nisam dobio nalog da to uradim!

Karakteristike javnih preduzeća (4/5)

10 Karakteristike javnih preduzeća (5/5)

Struktura javnog preduzeća

Sistematizacija radnih mjesta

Organizaciona kultura

Nefleksibilno rukovođenje

Nadzorni organi

Upravljanje ljudskim resursima

Potreba za izvjesnošću

Nedostatak poslovnih saradnika

Inertnost

Neznanje

11 Prepreke za uvođenje agilnog pristupa (1/2)

Poslovna agilnost – agilna transformacija

IT agilnost – agilna adopcija

12 Prepreke za uvođenje agilnog pristupa (2/2)

13 Agilna adopcija (1/2)

14 Agilna adopcija (2/2)

Razumijevanje poslovne potrebe za agilnom adopcijom

Plan edukacije o agilnosti

Razvoj strategije adopcije

Izvršenje

15 Promjena (1/4)

16 Promjena (2/4)

17 Promjena (3/4)

18 Promjena (4/4)

19 Zaključci

Uvođenje agilnog pristupa je kontekstualna aktivnost.

Svako preduzeće je unikatno i ne postoji jedinstven recept.

Promjena ne funkcioniše ako se ne radi na dva fronta – promjena realnosti i

promjena percepcije.

Za promjenu su potrebni jaki sponzori – uprave preduzeća;

bez podrške top menadžmenta promjena je malo vjerovatna iako moguća.

Dijagnoza barijera je preduslov kreiranja strategije uvođenja agilnog

pristupa.

Prvi korak - učenje, upoznavanje s materijom, edukacija.

20 Literatura

Matthew Hotle. (2010, March). "Waterfalls, Products and Projects: A Primer

to Software Development Methods". Gartner. [On-line] Available:

www.gartner.com [23.10.2014]

Agile Transformation: Four Steps to Organizational Change. On-line course.

Available: www.frontrowagile.com

Mike Cottmeyer. (2011, January). "12 Key Barriers to Agile Transformation" .

Available: www.leadingagile.com

Radovi i predavanja prof. Luc de Brabandere o promjeni

Javna nabavka agilnog razvoja

proizvodaKemal Bajramović

21

Životni ciklus razvoja inf.sistema

Odabir

projekta

• Identifikacija potencijalnih projekata

• Razmatranje opravdanosti i održivosti projekata

• Prioretizacija projekata• Razvoj inicijalne vizije

Iniciranje

projekta

• Osiguranje finansiranja i podrške• Uspostavljenje projektnog tima

ugovornog organa• Definisanje inicijalnih zahtjeva sistema• Definisanje inicijalne arhitekture sistema

Razvojne

interacije

• Kolaborativno modeliranje i razvoj

• Dizajn baziran na prototipovima• Testiranje kriterija prihvatljivosti• Isporuke inkremenata

funkcionalnosti• Evolucija dokumentacije

Isporuke

• Testiranje kriterija prihvatljivosti

• Puštanje isporuke u produkciju

• Finalizacija dokumentacije• Pilot produkcija

Produkcija

• Korištenje sistema• Podrška sistemu i održavanje• Identifikacija grešaka i

mogućnosti za poboljšanja

Analiza i

specifikacija

zahtjeva

sistema

• Utvrđivanje inicijalnih

zahtjeva sistema

• Dovoljno detaljno

opisivanje poslovnih

očekivanja

Javna nabavka Javna nabavka Javna nabavka

R A Z V O J

Vaša uloga u agilnom razvoju23

Vrste problema

Vi: “Sada kada vidim ove razvijene

funkcionalnosti, shvatam da mi je potreban

funkcionalnost koja nije u dokumentu sistemskih

zahtjeva.”

Softwareska kompanija: “Ako vam je potrebna ta

funkcionalnost, zašto je niste specificirali u

tenderskoj dokumentaciji?”

Vi: “Pa, nismo se tada sjetili ovoga.”

Softwareska kompanija: “Pa, da ste više razmišljali

i bolje planirali o tome šta vam treba, tada bi

otkrili ovu funkcionalnost, a ne sada. Morate

platiti!”

Big-bang isporuka (Waterfall)

1 2 3 4

vrijednost

11

Rane i česte isporuke (Agile)

51 432

vrijednost

12

Javna nabavka agilnog razvoja (1)

Prethodno informativno obavještenje

Preferirati otvorene postupke

Opisati i predmet nabavke i agilni proces realizacije

Uspostaviti sistem za kontinuiranu komunikaciju ugovornog organa i ugovorenog

ponuđača

Uspostava sistema za praćenje realizacije projekta

Uspostaviti mehanizam vizualizacije: mockup, prototipovi...

Propisati korištenje open-source okvira za razvoj grafičkog interfejsa

Propisati pravila razvojnih sprintova

Uspostaviti uslove za nesmetano održavanje virtuelnih sastanaka u audio-video

formatu, ukoliko ponuđač nema sjedište u mjestu ugovornog organa

Izbjegnuti vendor lock-in

Javna nabavka agilnog razvoja (2)

Propisati privremeni raspored realizacije aktivnosti

Osigurati mehanizam za kontinuirano testiranje sistema od sprinta 2

Osigurati dovoljno resursa za efikasno i brzo uklanjanje uočenih grešaka u pilot

implementaciji

Osigurati ograničeni besplatni change request po puštanju sistema u produkciju

Propisati mehanizam klasifikacije i određivanja prioriteta

Propisati uslove za kvalifikaciju u svrhu dokazivanja lične sposobnosti, te u pogledu

ekonomske i finansijske sposobnosti ponuđača primjerene predmetu nabavke

Posebnu pažnju posvetiti minimalnim uslovima u pogledu tehničke i profesionalne

sposobnosti ponuđača:

Referentna lista

Uposleno / angažirano tehničko osoblje

Reference: Tehničko osoblje kompanije, a ne kompanija realizuje projekat!

Komunikacija i kolaboracija je ključ uspjehaPronalazimo bolje načine za razvoj software-a

tako što razvijamo software i pomažemo drugima u tome.Kroz ovaj rad spoznali smo vrijednost:

Pojedinaca i njihovih međuodnosa u odnosu na procese i alate

Ispravnosti software-a u odnosu na obimnu dokumentaciju

Saradnje s klijentom u odnosu na ugovoranje

Reagovanja na promjenu u odnosu na pridržavanje plana

To znači, iako su stavke na desnoj strani bitne,veći značaj pridajemo stavkama na lijevoj strani.

30

Komunikacija i kolaboracija je ključ uspjeha

Spremno prihvaćamo promjene zahtjeva, čak i u kasnoj fazi razvoja.

Poslovni ljudi i razvojni inženjeri moraju svakodnevno zajedno raditi, tokom cjelokupnog trajanja projekta.

Projekte ostvarujemo oslanjajući se na motivirane pojedince. Pružamo im okruženje i podršku koja im je potrebna i prepuštamo im posao s povjerenjem.

Razgovor uživo je najučinkovitiji način prijenosa informacija razvojnom timu i unutar tima.

Agilni procesi potiču i podržavaju održivi razvoj. Pokrovitelji, razvojni inženjeri i korisnici trebali bi moći neograničeno dugo zadržati jednak tempo rada.

31