Increasing Engineering Efficiency with Software Development Analytics

Increasing Engineering Efficiency with Software Development Analytics


Com augmenta l’eficiència de l’enginyeria l’anàlisi de desenvolupament de programari?

Com es pot fer que “àgil” sigui més, bé, àgil?

Simple:

Deixeu que les dades us mostrin el camí.

Fa vint-i-cinc anys, això no era ni tan sols una il·lusió (excepte, potser, per als desenvolupadors previsors i estrella de rock que sempre miren endavant). Fa vint-i-cinc anys, vam tenir un desenvolupament en cascada, canvis que es van produir en mesos i fins i tot anys i IP privada i tancada.

Avui en dia, estem just al precipici d’una realitat que és més àgil que Agile, mentre passem del desenvolupament àgil i una cultura DevOps al desenvolupament autònom.

Avui en dia, els sistemes estan impulsats per esdeveniments i la retroalimentació es produeix en hores, fins i tot minuts. Aquí fora, la capacitat d’avançar la decideixen els humans (tot i que aviat deixarem aquesta responsabilitat als sistemes autònoms i d’IA). I, en aquesta realitat, el codi ja no està protegit, sinó que és l’eina que s’utilitza per coordinar persones i potenciar grans productes.

Però el futur del desenvolupament de programari es basa en un canvi cap a l’autònom, un context en què les màquines connecten sistemes, la retroalimentació és instantània i l’automatització és tan profunda com les dades.

I el camí d’arribada a aquesta Terra Promesa està pavimentat amb l’augment de l’eficiència dels enginyers amb dades, alliberant els enginyers humans per centrar-se en allò que fan millor: el treball, en un manera més alineada, optimitzada i precisa.

Què és Data-Driven Agile?

En poques paraules, Agile basat en dades és una forma de tres paraules per descriure les necessitats reals que els equips d’enginyeria o DevOps (dins d’un cicle de vida CI/CD, impulsats per processos àgils com la planificació d’esprints) s’han de racionalitzar amb el temps.

En resum, aquests equips tenen una necessitat creixent de mesurar i millorar el seu rendiment amb la potència de les mètriques i els informes objectius en temps real. Les dades haurien de provenir (i ho fan) dels dipòsits Git, i l’organització d’aquestes dades ofereix als equips informació sobre “on tallar el tren de salsa”, per dir-ho d’alguna manera.

A diferència de la caiguda de Waterfall (juego de paraules) i l’adopció eventual de la metodologia Agile, Agile basat en dades és més que àgil. De fet, afegeix una capa de control de qualitat i mesura als processos d’un equip de desenvolupament àgil en lloc de suplantar completament l’enfocament.

I així és com hauríeu de pensar els beneficis que comporta.

Mireu, si heu estat llegint les fulles de te sobre el paisatge dirigit pels desenvolupadors durant l’última dècada, ja sabeu que el moment de la pròpia evolució d’Agile era inevitable.

No és simplement perquè Agile, com a filosofia, condueixi cap a la iteració progressiva, un concepte àmpliament acceptat en tot, des del desenvolupament de programari fins al desenvolupament humà (penseu, la millora de l’1% de James Clear per crear hàbits).

Tampoc és només perquè el Senat dels Estats Units va aprovar un projecte de llei que essencialment etiqueta la tecnologia i el programari com a components crítics de la infraestructura pública.

I, sens dubte, no és només perquè estem eliminant el que Harvard va identificar com les “Opinions de les persones més ben pagades” (també conegudes com a HiPPO) per a la presa de decisions i, en canvi, per permetre que la presa de decisions basada en dades lideri el camí.

Un exemple d’això és el mètode de Tata Health per recopilar dades sobre la producció dels seus equips d’enginyeria. En eliminar l’autoinforme, els gestors d’enginyeria de programari podrien obtenir una visibilitat granular i dades realment objectives.

Després van utilitzar aquestes dades per optimitzar el procés de presa de decisions i ajudar-los a identificar oportunitats de creixement per als membres del seu equip.

Tots els torns anteriors són peces del trencaclosques, sens dubte. Però, junts, encara no completen del tot el panorama.

El fet és que el nostre pas cap a un enfocament basat en dades ha d’arribar a Agile i transformar-lo perquè hi ha un problema molt real per resoldre:

Ara més que mai, els equips d’enginyeria i el cicle de vida del desenvolupament necessiten informació i intel·ligència per donar suport al desenvolupament sostenible, equips autònoms i decisions empresarials alineades.

Per exemple, un dels principis clau (antics) d’Agile era “La simplicitat és essencial”. Això vol dir, quan sigui possible, maximitzar la quantitat de treball no realitzat (perquè no s’havia de fer). El “nou” Agile basat en dades està d’acord amb la simplicitat, el manté intacte, però afegeix una capa:

“Optimitzar el treball en curs”.

Fer-ho és absolutament crucial perquè permet als líders d’enginyeria detectar i eliminar llocs on el cicle de vida del desenvolupament s’està encallant.

Essencialment, el que ha quedat clar a mesura que passem cap a aquest Agile “nou” més àgil és que hi ha una línia clara a la sorra: els “vells” processos Agile funcionaven quan Agile era el nou nen del bloc, i les eines dirigides pels desenvolupadors. , plataformes i tècniques eren una excepció.

Però la demanda global de serveis digitals, tot i que és cada cop més gran, fa més d’una dècada que hi ha. Per tant, ara estem en una època en què hi ha una necessitat real i creixent de qualsevol cosa que pugui millorar la velocitat del desenvolupament de programari alhora que redueix el risc d’esgotament.

I aquí és on el lideratge d’enginyeria basat en dades pot transformar-ho tot, des de com es comuniquen els gestors i ofereixen comentaris (a través d’un a un, recolzats per dades i informes individuals) fins a la freqüència amb què es desplega el programari (és a dir, amb una cadència constant).

Com Dev Analytics augmenta l’eficiència de l’enginyeria

El mètode Agile basat en dades ofereix tres inconvenients importants:

  • Primergenera informes objectius sobre el cicle de desenvolupament del programari, sense necessitat de l’entrada manual dels enginyers.

  • Segonho fa analitzant la base de codi, les sol·licituds d’extracció i les entrades per recollir dades en brut i millorar l’eficiència de l’enginyeria.

  • I, terceraquestes dades, amb el pas del temps, permeten la innovació, la retroalimentació i el lideratge basats en dades quan es tracta d’un millor programari desplegat a una velocitat més gran.

Mesurar el rendiment de l’enginyeria on realment importa

Mostra, no explica: això és el que permet la gestió de l’enginyeria basada en dades, i això és en què se centra la funcionalitat de les plataformes d’anàlisi de desenvolupament.

Per tant, fem una ullada a un KPI d’enginyeria mesurat per plataformes d’anàlisi de desenvolupament de programari: Impacte.

Un aspecte de la productivitat dels desenvolupadors o enginyers és mirar més enllà de les línies de codi quan es mesura l’activitat del codi. “Impact” ofereix a la direcció d’enginyeria una manera clara de fer-ho. Com a mètrica que hem creat, inclou diversos punts de dades com ara:

  • Relació entre les edicions de codi antic i el treball total realitzat
  • Nombre d’ubicacions d’edició (el codi pot ser més eficient?)
  • Nombre de fitxers afectats (tenim inflor en algun lloc del pipeline?)
  • Gravetat dels canvis al codi antic (no vam poder concebre cap problema en el nostre desplegament inicial del codi? Les històries d’usuari estan alineades amb precisió amb les sol·licituds de funcions? etc.)
  • Canvis històrics de codi

Per tant, el resultat final d’aquest tipus de dades és bastant potent perquè no només amplifica la magnitud dels canvis de codi, sinó que també fa que els equips d’enginyeria prenguin una posició crítica sobre els seus propis processos quan revisen aquestes dades.

Idealment, la intel·ligència i els coneixements d’Agile basat en dades poden ajudar el lideratge de l’enginyeria a crear una nova línia de base per a mètriques de desenvolupament. A curt termini, el que pot millorar de manera tangible és el lliurament de programari i la precisió del codi.

Una major visibilitat equival a una millor qualitat del producte

Ser una empresa de programari primer producte amb un creixement dirigit pel producte és precisament com hauria de ser: aquesta és una de les transformacions més importants d’un panorama liderat pels desenvolupadors en l’última dècada i mitja.

Tanmateix, el creixement dirigit pel producte només és tan bo com els processos que el donen suport i els enginyers que el construeixen.

La sofisticació del mercat de programari dirigit per desenvolupadors també ha augmentat el ritme de desenvolupament de programari. Els equips han de codificar més ràpidament, oferir funcions més ràpidament i actualitzar o modificar constantment el seu codi alhora que obtenen una visió clara de la naturalesa dels canvis.

El resultat és que els canvis poden tornar-se opacs. És gairebé impossible, per exemple, comprovar si s’han provat totes les àrees de codi. És altament plausible, i fins i tot probable que aquesta falta de visibilitat signifiqui arriscar-se al llançament de programari amb errors i subòptims.

En canvi, informes com Project Timeline són essencials per obtenir una visió i una visibilitat més profundes dels senyals dels bloquejadors de processos notoris. Amb èmfasi en les mètriques següents, els equips poden obtenir claredat sobre com avaluar el rendiment:

  • Compromesa el volum
  • Nombre mitjà de commits per equip
  • Impacte total dels canvis a la base de codi

…i més.

Accelera la velocitat global de producció

Fem una ullada a aquesta situació:

Si no només esteu apuntant a un entorn que es dediqui a augmentar la velocitat de producció de programari, sinó que realment implementeu, és probable que experimenteu dos casos concrets:

  • En primer lloc, els equips Scrum poden combinar anàlisi, desenvolupament i proves empresarials. Tothom es fa responsable d’oferir programari d’alta qualitat. Això també significa que tothom és responsable en cas de problemes de producció.
  • Per contra, cicles de desenvolupament més curts, llançaments més ràpids i la detecció primerenca d’errors també signifiquen una pèrdua de control i visibilitat. Els equips integrats fan que la direcció d’enginyeria tingui poca informació sobre l’estat del producte.

I això ens planteja la pregunta: podeu accelerar la velocitat com a objectiu final tot mantenint la transparència?

La resposta és, per descomptat, que pots, amb les eines adequades.

La clau es troba en els processos, els detalls de les decisions basades en dades. La implementació d’un enfocament Agile basat en dades significa que també esteu obrint la porta a un marc Scrum basat en dades. A la superfície, sembla que les dades “extra” complexifiquen coses com la planificació i l’execució de l’esprint.

Però, les dades adequades sobre rendiment i productivitat, juntament amb informes objectius en temps real, ajuden realment a eliminar les ambigüitats en el procés de desenvolupament. Encara podreu mantenir iteracions més petites, dur a terme reunions Scrum diàries i participar en revisions de sprint.

Però afegir dades per fer-ne una còpia de seguretat significa que podeu eliminar alguns dels problemes reals amb Scrum i Kanban. En comptes d’això, tindreu un marc que permetrà als equips “seguir les dades” a les tasques de màxima prioritat (i tornar a prioritzar de manera efectiva les tasques quan sigui necessari).

Font: Data Science Process Alliance

Si cal, per exemple, implementar una iteració que duri un dia en lloc de tres setmanes (i viceversa), les dades justifiquen aquesta flexibilitat.

No cal cenyir-se als sprints de longitud fixa de Scrum. Scrum basat en dades també resol el problema de l’estimació de tasques inherentment poc fiable perquè teniu dades reals per fer una còpia de seguretat precisa del temps que triguen les tasques.

Aquests són els detalls granulars que milloren significativament el procés d’un equip de desenvolupament. Això brolla per a l’alineació definitiva entre els resultats d’un equip de producció i les prioritats empresarials.

En altres paraules, per què estem fent la feina i com fem la feina estan en harmonia quan hi ha dades.

Conclusió

Un aspecte important que hauria de quedar molt clar és com l’anàlisi del desenvolupament de programari comença augmentant l’eficiència de l’enginyeria, és a dir, millores en els processos, però el que realment admet és un millor equip i una col·laboració entre iguals.

Les plataformes analítiques de desenvolupament essencialment obren el camí per als equips d’enginyeria de programari autònoms perquè primer hi ha una cultura de l’autonomia. En altres paraules, abans que el desenvolupament de programari pugui esdevenir autònom, necessitem que els equips siguin autònoms. I els equips poden fer-ho quan disposen de dades específiques i fiables per fer una còpia de seguretat de les seves decisions i accions.

Quan estigueu preparat per traduir les dades en una major visibilitat i aquesta visibilitat en equips més ràpids i eficients, podeu començar a mirar plataformes d’anàlisi de desenvolupament com Waydev.


També publicat a: https://waydev.co/increasing-engineering-efficiency/

CÀRREGA
. . . comentaris & més!



Source link

Related post

Open House: What steps can be taken to check the rising cases of suicides among youths? : The Tribune India

Open House: What steps can be taken to check…

Education institution should set up helplines To begin with, it should be made clear that stress is a physical reaction to…
Here are the top 25 start-ups to work for in India

Here are the top 25 start-ups to work for…

It’s also great to see young professionals embracing India’s startup ecosystem, with 56% of all hires at the top 25 startups…
Micro:bit launches new Python Editor to help more children learn text-based coding languages

Micro:bit launches new Python Editor to help more children learn…

Micro:bit Educational Foundation, the educational nonprofit on a mission to improve children’s digital skills, today announced that it’s even easier for…

Leave a Reply

Your email address will not be published.