Si t’agraden les fonts de coneixement bons, de fàcil lectura i gratuïts, com jo, segurament hauries de fer una ullada a 97 coses que un arquitecte de software ha de saber.

Cada projecte de software és diferent, i té unes necessitats diferents i úniques, i com Edward Garson assenyala a El context és el rei:

“Crec que hi ha una certa ironia en l’intent de transmetre alguna cosa sobre els ideals de l’arquitectura, quan la premissa amb la què vull començar és que efectivament no hi ha ideals. Si això és així, llavors segurament no hi ha res a escriure, sóc una contradicció i en fer això, corro el risc de provocar la implosió de l’univers o alguna cosa així. “

No obstant això:

“Però, per desgràcia, Ceci n’est pas une pipe.”

Jo si crec que els projectes d’enginyeria de software comparteixen alguns problemes comuns (o almenys ho espero, qualsevol reforç moral és benvingut: l’enginyeria de software és una difícil disciplina on la desesperació és freqüent).

“97 Coses”, assenyala alguns dels temes i solucions que probablement haurien de ser aplicables a qualsevol projecte d’enginyeria de software.

Hi ha alguns noms grans i molts anys d’experiència darrere d’aquests aforismes de saviesa, i en la meva curta carrera fins al moment, he trobat molts dels problemes descrits en “97 Coses” en projectes passats i presents.

Atès que 97 coses són massa per la meva memòria a curt termini, aquestes són les 3 coses que m’esforçaré a recordar:

1. Tria la tecnologia més adequada

Molt sovint, la tecnologia escollida per a resoldre un determinat problema no és l’opció òptima.

Com s’indica en No posi el seu currículum per davant dels requisits, de vegades es trien tecnologies només perquè són “més recent que” o “més atractives que” altres tecnologies que serien més adequades.

En altres casos, la mateixa tecnologia s’utilitza una i altra vegada. No hi ha una talla única vàlida per a tots. En la majoria dels casos això és causat per un dels grans perills de l’enginyeria del programari: prevaler la idea de reutilitzar components / arquitectura / codi / disseny reutilització sobre qualsevol altre criteri. En molts casos, el problema s’adapta a utilitzar una solució existent, quan hauria de ser al revés. No he vist mal pitjor que els frameworks corporatius!

Probablement hauríem de “pensar fora de la solució” amb més freqüència, i triar la millor solució per a cada problema: L’heterogeneïtat guanya.

2. KISS i YAGNI

“Sempre Senzill, estúpid” i “No et farà faltal” són dos principis que apunten a resoldre un dels esculls més freqüents que em trobo: complexitat innecessària.

En Simplificar la complexitat essencial; disminuir la complexitat accidental Neal Ford explica aquest error (en un context de desenvolupador) a la perfecció:

“Els desenvolupadors es senten atrets per la complexitat com arnes a les flames, sovint amb el mateix resultat. La resolució de puzles és divertit, i els desenvolupadors són resol problemes. A qui no li agrada la satisfacció de resoldre un problema increïblement complex? No obstant això, en sistemes de software de gran escala, eliminar la complexitat accidental, mantenint la solució en un nivell de complexitat trivial, és el veritable repte “

També afegeix:

“Miri el percentatge de codi que té en una solució que aborda directament el problema de negoci davant del percentatge de codi que només serveix a alimentar la frontera entre l’aplicació i els usuaris”

Saber quan parar ( “perfecte” és el enemic de “el just”), No Siguis Llest, Assegura’t que les coses simples són simples i recorda que les solucions a prova de canvis no existeixen, l’arquitectura de l’aplicació determina el rendiment i l’ Àmbit de l’aplicació és l’enemic del seu èxit!

3. Coneix l’entorn

Si entens el domini i te n’adones que El context és el rei, hauries de ser capaç de desafiar les sol.licituds no necessitades del client que ofeguen el sistema, de Cercar el valor de la funcionalitat demanada i Quantificar demandes difuses.

Tot i que El Negoci Mana , si tenim coneixements suficients del domini, podem donar al client el que necessita, no el que vol, perquè el teu client no és el teu client.

I tota la resta …

Aquest només és el meu top 3 … però hi ha moltes altres coses que recordar.

En línia i gratuït … així que realment no hi ha excusa per no fer una ullada !

Tags: , ,
Deixa una resposta