Roko Roić
Autor:
Roko Roić

Direktor softverskih isporuka

Tvornica softvera

Učimo li mi u softverskoj industriji dovoljno iz zrelijih proizvodnih grana? Probat ću otvoriti par poglavlja na ovu temu u nastavku.

Proizvodnja iz tipiziranih djelova

Automobilska industrija je perjanica organiziranosti proizvodnog procesa. Ali, proizvodnja automobila je različita od proizvodnje softvera. To je činjenica, ali je li baš toliko različita da ne možemo ništa naučiti?

  • Tvornica automobila proizvodi tipske proizvode.
  • Proizvodnji prethodi analiza potrba i razvoj idejnog rješenja.
  • Nakon definiranja prototipa, dijelovi su jednaki za sljedećih nekoliko stotina tisuća kupaca.

Super za nih, ali mi to ne možemo - kažu sad svi developeri, voditelji projekata i analičari u sobi. Svi naši kupci imaju posebne zahtjeve. Hm. Jesmo sigurni?

Evo kako je to izgledalo u auto industriji:

  • Prvi automobil pogonjen motorom s unutarnjim izgaranjem proizveden je 1807.
  • Prvi automobil proizveden na traci s jednakim dijelovima završen je tek 1913., u Fordu.
  • Auto industriji trebalo je više do 100 godina da objasni svojim kupcima da nisu svi različiti i da ne treba svako različite dijelove.

Ali, uspjeli su. Automobili se i dalje rade po mjeri, svako može birati opremu i prilagoditi automobil svojim potrebama, ali iz tipičnih dijelova.


Research&Development

Velik broj softverskih timova radi R&D u projektnom (proizvodni - manufactoring) procesu. U takvim timovima svaki projekt ima arhitekte rješenja koji istražuju dostupne tehnologije, biraju one koje smatraju prikladnima, istražuju njihove međuovisnosti. I često pogriješe.

U zrelijim industrijama, R&D je izdvojen iz proizvodnog procesa i dijelovi nastaju kroz koncepte u izdvojenim odjelima, čak i kompanijama. Iz R&D odjela nastaju budući dijelovi koji se koriste u proizvodnji. Ekvivalent u softveru bi bile primjerice: platforme, technology radari ili kompletne gotove tipske arhitekture (Maven artefakti, Spring Boot, Grails i sl).

Zrele softverske kompanije koristiti će dijelove izgrađene u izdvojenom "Research labu" u što većoj mjeri, u korist kvalitete i zadovoljstva kupaca. Mi u Kingu imamo propisane dijelove koji se koriste u procesu proizvodnje kroz koncept Tehnološkog radara (više o našem radaru u drugom blogu).

Analiza potreba

Postoje brojne metodologije za upravljanje analizama potreba. Ipak, poslovni analitičari ili Product owneri često nedovoljno upravljaju očekivanjima korisnika. Duboko sam uvjeren da je za svakog poslovnog korisnika bolje koristiti „gotove dijelove“, nego riskirati u malom vremenskom intervalu u potpunosti prilagođavati sustav sebi. Poslovna vrijednost savršeno skrojenog sustava, naspram onog „u konfekcijskom broju“, često nije mjerljiva ili je zanemariva.


Proizvodnja

Posljednjih dekada u softwre smo aklamacijom preuzeli Lean iz Toyota Production Systema. Danas vidimo brojne uspješne primjene Leana u startup sceni, kao i u enterprise software development sceni. Rezultati su odlični. Na sličnim temeljima, usvojili smo i koncepte krovno nazvane Agile software development, opet učeći od drugih, a nešto i od sebe.

Ono što znamo oduvijek je da je temelj svega čovjek. Produktivnost i efikasnost kao koncept direktno je proučavana u drugim industrijama, a mi i ta znanja uspješno usvajamo. Zajednički radni prostor, zajednička odgovornost, Kanban, Kaizen.

Jesu li se softverski inženjeri spremni odreći potpune fleksibilnosti i raditi s gotovim dijelovima? Svaka generacija pružala je otpor. Assembler developeri tvrdili su da je C spor i nefleksibilan. C developeri trvrdili su da je Java spora i nefleksibilna. Java developeri tvrde da su BPM koncepti spori i nefleksibilini. Uzorak je prilično jasan i odgovor se nameće sam po sebi.

  • „There is more than one way to do it“, Perl programming language moto – Perl je danas jezik koji je gotovo napušten upravo zbog pretjerane fleksibilnosti

Software je mlada industrija u kojoj se učimo i mi koji radimo u njoj, kao i naši kupci. Kupac automobila danas zna da mu nije mudro staviti Mercedesov volan u Audijevu šasiju, jer ta kombinacija nije dovoljno testirana i koštati će ga više. Na putu sazrijevanja smo zajedno s našim naručiteljima.

Popularne teme
.NET ABAP ADFS Agile Always On Anemic Model Angular automatsko generiranje dokumnetacije Azure Backbone benchmark BI BI projekti blog Bootstrap building people business inteligence Business Intelligence Change Chrome CI CITCON Claims compile Continuous Delivery continuous deployment Continuous Integration CSR d3js data data visualization Data visualization alati DDD dekompozicija dependency injection development dinamička forma dinamički parametri dinamički query distribuirani razvoj dokumentacija Domain-Driven design DOP društvena odgovornost edge-based video analytics Eliminating waste enkapsulacija enterprise razvoj softvera ERP ETL Excel FIORI Frontend funkionalna dokumentacija game Geopackage GPKG GIS Git Groovy heat map HICCUPS Hichert HTML IBCS interoperability invision IoT IPSO izvještavanje java JavaFX Javascript Jazz Build Engine JBE Jenkins jquery jqueryui jsfiddle JVM Kaizen Kanban king KING ICT Kingovci Knockout kvaliteta lambde leadership Lean legacy code M language Management Maven Metodologija microservices Microsoft mobile Mobility mockups moć monday game NetWeaver network nodejs oblikovni obrasci OGC OKR open source optimizacija organizacija organizacijska struktura OutOfMemoryError outsourcing overengineering paginacija Performance performanse PERT PMI PMP; Agile; Project management; Scrum; KING ICT; razvoj; metodologija podatkovni skup poslovna analiza pouzdanost Power BI Power Map Power Pivot Power Query Power View pretraga proces procjena Product Owner programming proizvod Project manager projektni plan radar Rational Team Concert razvoj tima refaktoriranje Release resize responsive charts REST retrospektiva Rich-Domain model Roko Roić rolling wave planning RTC SAP scale scatterplot chart Scrum scrum team scrum tim service boundaries single responsibility principle Single Sign-On smart metering SoapUI social responsibility softver Software software prototyping Software Testing Club Spring Boot SQL standard sustav videonadzora svg swagger tdd Team team building team development Team Foundation Server tech tehnologije terminski plan Testing tim timesheet timovi Toggl.com touch transakcijski nadzor tražilica underengineering unit testing Uspjeh Visual Studio vodstvo vodstvo leadership moć društvena odgovornost DOP social responsibility CSR vođenje projekata WBS Web workshops Zagreb STC

PRIJAVA NA NEWSLETTER

Najnovije novosti iz ICT svijeta