Roko Roić
Autor:
Roko Roić

Direktor softverskih isporuka

"Eliminating waste" u softverskoj arhitekturi

Lean. Zadnjih dva desetljeća, svijet softvera opsjednut je Lean principima. Na njima su nastale i Agilne metodologije, koje su danas mainstream za razvojne projekte u softveru. Ta opsjednutost nije bez vraga, jer rezultati su vidljivi i svi su sretniji kad koriste principe naslijeđene iz Toyota Production Systema.

Jedan od najvažnijih Lean principa je tzv "Eliminating waste" princip, koji traži od praktikanata da isključe sav otpad iz proizvodnog procesa. Laički, ovaj princip kaže "nemojte komplicirati proizvodni proces", posebno ne stvarima koje ne donose vrijednost. Ekipa koja je 2001. napisala Agilni manifest prevela nam je to u svijet softvera. Oni kažu "Jednostavnost – vještina povećanja količine posla kojeg ne treba raditi – je od suštinske važnosti."

Danas ovaj princip timovi pokušavaju primjeniti u organizaciju svojih razvojnih procesa; neki uspješnije, neki manje uspješno. Ali, što ćemo sa softverskim i sistemskim arhitekturama, možemo li i na njih primijeniti ove principe? Ne bi se usudio nuditi konačan odgovor, ali primjećujem da se baš i ne trudimo. 

Postavit ću nekoliko pitanja u kojima prepoznajem prvenstveno sam sebe, ali vjerujem da nisam sam:

  • Treba li mi zaista ekstenzivan aplikacijski server da bi svijetu prikazao "web aplikaciju"?
  • Treba li mi zaista Rules Engine platforma da bi isporučio aplikaciju koja ima nekoliko poslovnih pravila?
  • Treba li mi Dependency management sustav za HTML i Javascript?
  • Ili heretički, treba li mi komplicirani RDBMS, da bi vodio evidenciju o nekoliko atributa?

Svaki od produkata koje nabrajam, a ovo je samo uska lista danas često korištenih, donosi sa sobom neke izazove. Evo nekih od stvari koje dobijemo u paketu sa svakom novom komponentom sistemske arhitekture:

  • Potreba za usvajanjem novog znanja kod razvojnog tima
  • Potreba za održavanjem navedenog znanja
  • Nova točka za potencijalni kvar u sustavu
  • Nova točka za performansne izazove

Moćni proizvodi imaju svoju upotrebu, svakako zagovaram da se koriste gdje je primjereno. Ali bi volio viditi i više kritičnog razmišljanja o tome trebaju li nam baš uvijek. Da, mislim i na RDBMS.

Popularne teme
.NET ABAP ADFS Agile Always On Anemic Model Angular Azure Backbone benchmark BI BI projekti 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 dinamička forma dinamički parametri dinamički query distribuirani razvoj Domain-Driven design DOP društvena odgovornost edge-based video analytics Eliminating waste enkapsulacija enterprise razvoj softvera ERP ETL Excel FIORI Frontend 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 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 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 Zagreb STC

PRIJAVA NA NEWSLETTER

Najnovije novosti iz ICT svijeta