Arquitectura Refactorització i rehabilitació de disseny Com vendre client - Alex i Vira

Un tema dolorós és la refactorització de l'arquitectura i qualsevol altre disseny i rehactorització de projectes. Per a nosaltres és obtingut el fet de reafectar beneficis: nois tècnics com arquitectes i desenvolupadors, però és difícil vendre i demostrar aquesta idea al client. El motiu principal: els nois tècnics no sabem parlar amb els negocis.

El principal problema: la comunicació entre tècnics i empresaris. Parlen idiomes diferents però volen assolir els mateixos objectius.

Els avantatges de la reactivació són evidents per a vosaltres, però no per als empresaris. Heu de dividir l'arquitectura que refactoritza 6 passos obligatoris i seguiu aquest pla:

  • Identifiqueu la causa arrel de l'arquitectura per al problema
  • Determineu quins canvis s’han de fer
  • Justificació de casos empresarials
  • Pla de refactorització d’arquitectura d’alt nivell
  • Crear una línia de temps
  • Presenta el teu cas

Identifiqueu la causa d'arrel de l'arquitectura per a la reactivació

Aquest pas és més comú per a nosaltres com per a nois de tecnologia. Vegem un parell d’exemples.

La creació d'aplicacions falla sempre que algú cometi canvis.

Hi ha un parell de raons per les quals pot ser:

  • Els components de l'aplicació estan massa estretament units i depenent els uns dels altres
  • Els components de l'aplicació no tenen el nivell adequat de granularitat i aïllament
  • Manca de prova d’unitat
  • Falta processos SDLC i canalitzacions CI / CD

Un exemple més. Els desplegaments d’aplicacions porten molt de temps. En temps d'execució, una aplicació té problemes de rendiment.

La causa principal podria ser:

  • És una aplicació monolítica que creix ràpidament. S’està fent massa gran per a una sola aplicació
  • Aplicació massa gran i consumeix tota la CPU i memòria
  • L’aplicació és complexa i escriu de manera ineficient

Determineu què s’ha de fer la refactorització

El segon pas és una mica més complicat, però no hauria de ser difícil per als desenvolupadors a partir del nivell superior i superior. Tots som bons especialistes tècnics i sabem què s’ha de fer. En aquest moment cometem l’error comú i correm amb aquesta proposta al client i parlem amb el client que ho fem.

Però som arquitectes intel·ligents i seguirem 6 passos un per un.

A partir de l’exemple anterior amb una aplicació monolítica, la decisió és evident. Dividiu aplicacions grans i complexes en mòduls petits i desplegables independents. Podria ser un moviment cap a l’arquitectura orientada al servei o al microservici.

Justificació de casos empresarials

Dividim aquestes dues fases: justificació tècnica i empresarial.

La justificació tècnica és evident per a nosaltres. Dividint l'aplicació monolítica a serveis menors, podria ser:

  • Els components estan més desacoblats
  • Els problemes amb la creació no tan sovint
  • Cada servei petit consumeix menys memòria i té un millor rendiment
  • Els serveis separats es podrien implementar de manera més ràpida i independent

Justificació empresarial: aquest pas és molt important i sovint es pot saltar pels tècnics. Heu de recordar què és important per al negoci i per conduir un negoci. Correcte: és diners!

Breu història, si la vostra reactivació de disseny no aporta cap valor per a negocis, no té cap sentit fer-ho.

A partir del nostre exemple, podeu oferir al vostre client els següents valors empresarials:

  • Les noves funcionalitats es poden lliurar més ràpidament, reduir el temps al mercat
  • La qualitat de l’aplicació serà millor, reduireu el cost de la correcció d’errors, per tant, la satisfacció del client és millor
  • Reducció de costos de desenvolupament i desplegament
  • Fàcil de trobar desenvolupadors motivats i qualificats

Pla de refactorització d’arquitectura d’alt nivell

Un pla de refactorització ha de proporcionar una visió i granularitat clares. Cada iteració hauria de mostrar canvis d’arquitectura i disseny.

En preparar el pla de refactorització, haureu de respondre a la següent pregunta:

  • Quin és l’objectiu d’aquesta iteració?
  • Quin és un valor tècnic i empresarial per a aquesta iteració?
  • Com minimitzar la durada de la iteració?

Creeu una línia de temps per a la reactivació de l'arquitectura

Pas molt important: invertiu temps per a aquest exercici. Tots els gestors i persones del món empresarial què han de saber responen a dues preguntes:

Proveu de dividir l'arquitectura que refactori petites iteracions. Cada iteració hauria d'aportar alguns valors tècnics i empresarials. És difícil vendre refactorització amb una durada d'un parell d'anys i milions de dòlars sense resultats intermedis.

Cada fase ha de tenir una durada o un rang d’estimacions i un nombre de recursos. Aquesta informació proporciona als vostres gestors una visió sobre els costos de reactivació.

Hauríeu de recopilar mesures i KPIs abans i després de la reiteració de la iteració per mostrar millores i beneficis després de cada etapa. Per exemple: mesura el temps de desplegament de l'aplicació monolítica abans de la reactivació i el temps de desplegament després de fer un servei als serveis.

Presenta el teu cas

Abans d’anar al negoci, presenteu i valideu la idea amb el vostre gestor directe primer. La validació de tercers sempre és bona, sobretot si es tracta d’un empresari. Probablement, el vostre gestor conegui algun context empresarial que us ajudi a ajustar els plans de reactivació de l’empresa.

Hauríeu de saber respondre a la pregunta clàssica.

Normalment, quan presenteu una reactivació de l’arquitectura a l’empresa, us poden preguntar. Per què necessitem refactoritzar? Fa un any vam invertir molts diners en arquitectura i disseny i ara tenim problemes.

La pregunta clàssica té una resposta clàssica. Aquesta solució era prou bona fa un any, però el vostre negoci està creixent, creixen els usuaris i les sol·licituds. L’arquitectura s’hauria d’ajustar amb el canvi de negoci.

Següent consell. No fer que la gent entri en pànic: presenteu-ho amb urgència i no amb pànic. Només heu d’entregar la informació que tenim de 3 a 6 mesos per a la reactivació, però hauríeu de començar el més aviat possible.

Per últim, però no menys important. Presentar el vostre cas educa la gent que no té la culpa. No criticis mai les persones, en aquest cas, pots trobar obstacles del seu costat. Aprofiteu aquesta oportunitat per educar la gent i mostrar beneficis i valors empresarials. No busqueu els culpables, busqueu oportunitats.

Resum

  • La reactivació és cara. Costa vendre’l negoci
  • Arquitectura que refactoritza no només la tasca tècnica, sinó que també es tracta de vendre la seva idea
  • Recordeu-vos sobre el valor i la justificació del negoci
  • Les facilitats venen petits reactius sovint que els grans una vegada

Més articles i consells sobre habilitats d’arquitectura suaus i dures.

Feliç refactorització!

Publicat originalment a http://alexandvira.com el 15 de març de 2020.