Casa Desenvolupament Modelització de dades en un entorn àgil

Modelització de dades en un entorn àgil

Anonim

Per personal de Techopedia, 16 de novembre de 2016

Take away: L' amfitrió Eric Kavanagh discuteix la importància del model de dades en el desenvolupament àgil amb Robin Bloor, Dez Blanchfield i Ron Huizenga de l'IDERA.

Actualment no teniu la sessió iniciada. Inicieu la sessió o registreu-vos per veure el vídeo.

Eric Kavanagh: D'acord, senyores i senyors. Benvinguts de nou un cop més És dimecres a les 4:00 EST. Això vol dir que és hora de Hot Technologies. Sí, efectivament. Em dic Eric Kavanagh, seré el vostre amfitrió.

Per al tema d’avui, es tracta d’un vellet, però un bony. Cada dia millora perquè està configurant el nostre món de gestió de dades, "Modelat de dades en un entorn àgil". Hi ha una diapositiva sobre la vostra, realment, em pega a Twitter @eric_kavanagh. Realment l’hauríem de posar en aquesta diapositiva. Hauré d’afegir-me a això.

Així, doncs, l'any calent. El modelatge de dades ha estat per sempre. Realment ha estat al cor i l’ànima del negoci de gestió de la informació, dissenyant models de dades, intentant comprendre els models de negoci i alinear-los als models de dades. És el que realment intentes fer, oi?

El model de dades representa el negoci de forma fonamental, de manera que canvien totes aquestes noves fonts de dades? Anirem a conèixer això. Esbrinarem com es pot mantenir al capdavant de les coses de manera àgil. I, per descomptat, aquesta és la paraula de l'any.

Robin Bloor amb nosaltres, el nostre analista en cap, Dez Blanchfield, que va trucar des de Sydney, Austràlia i Ron Huizenga, Senior Product Manager d’IDERA - amic meu de molt de temps, excel·lent orador en aquest espai, sap les seves coses, així que no siguis tímid, pregunta. ell les preguntes dures, les persones, les dures. Amb això, faré de Robin el presentador, i emportaré.

Robin Bloor: D'acord. Doncs gràcies per això, Eric. He de dir sobre el modelatge que crec, en realitat estava al món de les TI abans que existís, en el sentit que recordo a la companyia d’assegurances per a la qual vaig treballar, que teníem un noi que ens venia i ens donés a tots una mena. de taller sobre com modelar dades. Així doncs, estem mirant uns 30 anys, són 30 anys? Potser fins i tot més temps que això, potser fa 35 anys. Un model de molt de temps ha estat part de la indústria i, per descomptat, no té res a veure amb les dones de les passarel·les.

El que volia dir, perquè el que normalment fem, sóc jo i Dez parlem de coses diferents i només pensava que donaria la visió general del modelatge, però hi ha una realitat, que ara s’està fent evident.

Ja sabem, la realitat de grans dades, tenim més dades, més fonts de dades, tenim fluxos de dades que han entrat en l’equació en els darrers tres o quatre anys i comença a treure-hi una part més gran i Hi ha una major necessitat d’entendre les dades i un augment de la taxa de canvi que s’afegeixen més dades i s’utilitzen més estructures de dades.

És un món difícil. Aquí teniu una foto, que és realment una cosa que vam traure fa uns tres anys, però bàsicament, un cop incloses la reproducció al mix i es dóna aquesta idea de refineria de dades, centre de dades, enllaç de dades o qualsevol altra cosa, veieu que hi ha dades que genuïnament en repòs, en el sentit que no es mou gaire. I després hi ha les dades, els fluxos i totes les aplicacions transaccionals, a més, actualment, teniu esdeveniments, fluxos de dades d’esdeveniments que es produeixen a les aplicacions i que potser necessiten, i avui dia amb les arquitectures lambda que tothom parla, són realment tenir un impacte sobre tot el camp de dades.

I avui dia penseu en què existeix una capa de dades. La capa de dades existeix en una mena de forma virtual, en el sentit que una bona part es pot trobar al núvol i es pot estendre a centres de dades, pot existir en estacions de treball. La capa de dades és, fins a cert punt, a tot arreu i en aquest sentit, hi ha processos a tot arreu que intenten, d’una manera o altra, processar les dades i moure-les. Però també saber de què es tracta quan el traslladeu és un gran problema.

Si ens fixem en el modelatge de dades en el sentit més general, a la part inferior d’aquest tipus de pila teniu fitxers i bases de dades. Teniu elements de dades, que tenen claus, definicions d’elements, àlies, sinònims, formats físics específics i, a continuació, tenim aquesta capa de metadades.

El més interessant de les metadades és que les metadades són enterament com les dades tenen significat. Si en realitat no teniu metadades, en el millor dels casos podeu suposar el significat de les dades, però tindreu moltes dificultats. Les metadades han d’estar-hi, però el significat té estructura. No vull aprofundir en la filosofia del significat, però fins i tot en la manera de tractar les dades, hi ha molta sofisticació en el pensament humà i el llenguatge humà, que no s’expressa fàcilment en dades. Però, fins i tot pel que fa a les dades que processem realment al món, els metadades tenen significat i estructura de les metadades: una dada en relació amb una altra i què significa quan es reuneixen i què significa això quan són tornem a unir-nos amb altres dades, exigint que el modelem. No és prou bo només registrar les etiquetes de metadades a les coses, de fet heu de registrar el significat per estructures i la relació entre aquestes estructures.

A continuació, tenim a la capa superior, les definicions de negoci, que normalment és una capa que intenta transferir el significat entre metadades, que és una forma de definició de dades que s’adapta a la forma d’organitzar les dades a l’ordinador i el significat humà. De manera que teniu termes comercials, definicions, relacions, conceptes a nivell d'entitat que existeixen en aquesta capa. I si tindrem una incoherència entre aquestes capes, haurem de tenir un model de dades. Realment no és opcional. Com més ho puguis fer en termes d’automatitzar-lo, millor. Però com que té a veure amb el significat, és molt difícil alternar. És prou fàcil agafar les metadades d’un registre i poder obtenir-lo amb una sèrie de significats, però no us indica l’estructura dels registres ni el que signifiquen els registres o el context del registre.

Aleshores, això és el que es tracta del modelatge de dades. Cal destacar: com més complex sigui l'univers de dades, més cal modelar-lo. És a dir, és una mica com si afegíssim no només més casos al món, que correspondrien als registres de dades, sinó que realment estem afegint més significat al món mitjançant la captació de dades de cada cop més. S’està convertint en una sensació cada cop més complexa que hem d’entendre.

En teoria, hi ha un univers de dades i cal tenir-ne una visió. A la pràctica, les metadades reals formen part de l’univers de dades. Per tant, no és una situació senzilla. El model inicial és de dalt a baix i de baix a dalt. Heu de construir les dues direccions i la raó és a dir, les dades tenen significat per a l’ordinador i el procés, que han de processar-lo, però tenen significat per si mateix. Per tant, necessiteu un significat de baix a dalt, que satisfaci el programari que necessita accedir a les dades i necessiteu el significat de dalt a baix per tal que els éssers humans puguin comprendre-ho. La creació de models de metadades no és mai i mai no pot ser un projecte; és una activitat continuada: hauria de ser una activitat permanent en tots els entorns que existeixen. Afortunadament, hi ha molts ambients en els quals, efectivament, no és així i les coses no tenen control.

A l’avanç, el model augmenta amb importància a mesura que avança la tecnologia. Aquesta és la meva opinió. Però si ens fixem en el IoT, podem entendre el mòbil més del que abans, tot i que s’introdueixen noves dimensions: la dimensió de la ubicació amb el mòbil. Un cop arribeu al IoT, examinem problemes extraordinaris de dades que mai no havíem de fer abans i que necessitem, d’una manera o altra, per entendre adequadament el que tenim, exactament com podem agregar-lo, què podem fer quant a obtenir un significat de l’agregació i, per descomptat, què podem fer amb ella, quan l’hem processat.

Crec que jo he dit prou. Passaré a Dez Blanchfield, que dirà una altra cosa completament.

Dez Blanchfield: Gràcies. Sempre és un acte difícil de seguir, però aquest és un tema que vam estar d’acord i en vam parlar breument a l’hora inicial, i si us vau marcar d’hora, probablement haureu agafat un munt de grans joies. Una de les coses per emportar i no vull robar el tro d’aquest particular, però una de les coses de menjar del nostre abast previ que vull compartir, en cas que no l’agafés, estava al voltant del tema de el viatge de les dades, i em va cridar la notificació pensant en el viatge que fan les dades en un context diferent al voltant de la vida generacional (any, mesos, setmana, dia, hora, minut, segon) i el context al voltant de les dades. situat en aquest context. Tant si sóc un desenvolupador del codi en funcionament, com si sóc un especialista en dades i estic pensant en l'estructura i el format i les metadades al voltant de cadascun dels elements, o la manera en què els sistemes i el negoci interactuen amb ell.

És una petita nota interessant per adonar-me, però, de totes maneres, permeteu-me submergir-me. El disseny de dades, en particular, és una frase que faig servir per parlar de totes les dades i concretament del desenvolupament d’aplicacions o d’infraestructures de bases de dades. Crec que el disseny de dades és un terme que només ho capta tot molt bé. Aquests dies en què parlem de disseny de dades, parlem de disseny de dades àgils i moderns, i la meva opinió és que no feia tant temps que els desenvolupadors i els experts en dades treballaven sols; estaven en les seves pròpies sitges i les peces de disseny anaven d’una sitja a una altra. Però estic molt d’opinió en aquests dies, que no només està canviant, sinó que ha de canviar; és una necessitat i això és aquesta aplicació: els desenvolupadors i tot allò que es fa al voltant del desenvolupament que tracta dades, els dissenyadors que realitzen els elements de disseny rellevants d’esquemes i camps i registres i sistemes i infraestructures de ubicació i base de dades, modelatge i tota la gestió. repte al voltant d’això. Ara és un esport d’equip i, per tant, la meva imatge d’un grup de persones que salten d’un avió que actuen com a equip per reproduir aquesta imatge visualment interessant de gent que cau pel cel.

En tercer lloc, què ha passat per provocar això? Bé, hi ha un article del 1986 escrit per un parell de senyors els noms dels quals intentava desesperadament fer justícia, Hirotaka Takeuchi i Ikujiro Nonaka, crec que es pronuncia, van produir un article que van titular "Moving the Scrum Downfield". aquesta idea de una metodologia de guanyar un joc de rugbi que parteix d’aquesta activitat escrúpica, on tothom es desplaça en un lloc i dos equips fonamentalment bloquegen els caps en una cosa que s’anomena escrúixol per intentar controlar la pilota i jugar-la pel terreny. arribar a la línia de prova i tocar el terra amb la pilota i obtenir un punt, anomenat trine, i repeteixes aquest procés i obtindràs més punts per a l’equip.

Aquest article es va publicar el 1986 a la Harvard Business Review i, curiosament, va cridar molt l’atenció. Va cridar molt l'atenció perquè va introduir conceptes sorprenents i aquí teniu una captura de pantalla de la part frontal. Així que van treure aquest concepte de scrum del rugbi del joc i el van portar als negocis i, sobretot, al joc de disseny i lliurament de projectes, concretament a la publicació de projectes.

El que va fer es va donar-nos una nova metodologia en comparació amb els tipus de PRINCE2 o PMBOK que abans havíem utilitzat en el que vam anomenar metodologia de la cascada, ja sabeu, feu aquesta cosa i aquesta cosa i aquesta cosa i seguiu-les en seqüència i connecteu-les tots els punts del voltant, que depèn del que tingueu, o no feu la segona part fins que no hagueu realitzat la primera part, ja que depenia de la primera. El que ens va donar és una nova metodologia per ser una mica més àgil, que és d’on prové el terme, sobre com entreguem les coses, i específicament sobre el disseny i el desenvolupament de projectes de base.

Alguns dels principals llogaters –tant i tot això, aprofito amb això– són els inquilins clau de la consellera. Va introduir la idea de construir la inestabilitat, que efectivament si es pensa en la por del caos, el món existeix en un estat de caos, però el planeta va formar, que és interessant, de manera que es construeix la inestabilitat, la capacitat de rebotar una mica i En realitat fan que les coses funcionin, autoorganitzen equips de projectes, solapant-se favors mitjançant un desenvolupament molt responsable, diferents tipus d’aprenentatge i control a través del viatge de l’entrega del projecte, la transferència organitzativa dels aprenentatges. Llavors, com podem treure informació d'una part del negoci i transferir-la a una altra de persones que tenen una idea, però no desenvolupen codi o no desenvolupen bases de dades i infraestructures, sinó dades a aquestes persones? I específicament els resultats de caixa temporal. Dit d’una altra manera, fem això durant un període de temps, ja sigui un dia com en 24 hores, o una setmana o un parell de setmanes i veiem què podem fer i, després, fem un pas enrere i mirem-ho.

Així, si perdoneu el puny, aquest és realment un joc nou en la publicació de projectes i els tres components bàsics que tindran sentit, a mesura que avancem una mica més aquí. Hi ha el producte: totes aquestes persones tenen la idea i tenen una necessitat de fer alguna cosa i la història que els envolta. Els desenvolupadors que operen en el model àgil d’aconseguir les seves històries i mitjançant plantejaments diaris mitjançant la metodologia scrum per discutir-la i entendre el que han de fer, i només cal que continuïn i ho facin. Aleshores, gent, hem sentit a parlar de mestres d’escrocs que vetllen per tota aquesta cosa i entenen la metodologia prou bé com per conduir-la. Tots hem vist aquestes imatges que vaig trobar a la part dreta de parets i pissarres plenes de notes Post-It i que es van servir com a parets de Kanban. Si no sabeu qui és Kanban, us convido a Google qui era el senyor Kanban i per què va ser un canvi en la manera de moure les coses d'un costat a l'altre en un mur literalment però en un projecte.

D'un cop d'ull, el flux de treball de Scrum fa això: es fa una llista de coses que una organització vol fer, les fa passar per una sèrie de coses que anomenem sprints que es desglossen en períodes de 24 hores, períodes d'un mes i que obté aquesta sèrie incremental de resultats. És un canvi significatiu en la forma en què es lliuren els projectes i es van lliurar fins a aquesta fase, ja que una part d’aquest flueix com l’exèrcit nord-americà que va desenvolupar una gran part de desenvolupar una cosa anomenada PMBOK, com la idea de no portar el tanc al camp. fins que no introduïu les bales, perquè si un tanc al camp no té bales, no serveix per a res. Així doncs, la primera part es posa bales al dipòsit, la segona part es posa el dipòsit al camp. Desgraciadament, però, el que va passar amb els desenvolupadors del món del desenvolupament d’alguna manera va agafar la mà d’aquesta metodologia àgil i es va acabar amb ella, si perdona el puny, en un esprint.

Invariablement el que va passar és, quan pensem en àgil, normalment pensem en desenvolupadors i no en bases de dades i res a veure amb el món de les bases de dades. Va ser un resultat lamentable perquè la realitat és que l’àgil no es limita als desenvolupadors. De fet, el terme àgil segons el meu parer és sovint associat exclusivament a desenvolupadors de programari i no a dissenyadors i arquitectes de bases de dades. Invariablement, els mateixos reptes que afronta en el desenvolupament de programari i d'aplicacions tenen a veure amb tot el que es refereix al disseny, desenvolupament, operació i manteniment, per tant, de la infraestructura de dades i, en particular, de les bases de dades. Entre els actors d’aquest repartiment de dades s’inclouen com els arquitectes de dades, els modeladors, els administradors, els gestors de les infraestructures de bases de dades i les pròpies bases de dades reals fins a analistes de negocis i sistemes i arquitectes, persones que s’asseuen i pensen en com són els sistemes. i les empreses funcionen i com hem arribat a fluir dades a través d’aquests.

És un tema que presento regularment perquè és una frustració constant en la meva part del fet que els especialistes en dades, que no haurien de ser, han d’involucrar íntimament en tots els components de l’entrega del projecte, realment, en particular el desenvolupament. Perquè nosaltres no, realment no ens estem donant la millor oportunitat d’un bon resultat. Sovint hem de fer voltes i pensar en aquestes coses perquè existeix un escenari, arribem a una aplicació que s'està construint i descobrim que els desenvolupadors no sempre són experts en dades. Treballar amb bases de dades requereix competències molt especialitzades, sobretot al voltant de les dades, i genera una experiència. Vostè no només es converteix de forma instantània en un guru de base de dades o expert en coneixement de dades durant la nit; sovint és una cosa que prové d’una experiència de tota la vida i, certament, és del gust del doctor Robin Bloor a Code Today, que va escriure el llibre bastant ricament.

En molts casos, i és lamentable, però és una realitat, que hi ha dues parts d’aquesta moneda, és a dir, que els desenvolupadors de programari tenen un apagat propi en referència a l’especialista de bases de dades i han creat les habilitats que necessita en el disseny de bases de dades, el desenvolupament de models és només el fonamental per a l’enginyeria dels gurus de com s’obtenen les dades i com s’organitza el viatge i com es deu o no s’ha de semblar, o sens dubte, que s’ha ingerit i entendre que s’aconsegueix generalment en habilitats natives per als desenvolupadors de programari. I alguns dels reptes habituals que tenim, només per dir-ho en un context, inclouen els gustos de la creació bàsica i el manteniment i la gestió del propi disseny bàsic de bases de dades, documentar les dades i la infraestructura de bases de dades i reutilitzar aquestes actius de dades, dissenys d'esquemes, generacions d’esquemes, l’administració i el manteniment de l’esquema i l’ús d’aquests, compartir el coneixement al voltant de per què aquest esquema està dissenyat d’una manera determinada i els punts forts i feblesos que comporten amb el pas del temps provoquen canvis de dades amb el pas del temps, el modelatge de dades i els tipus. de models que apliquem als sistemes i les dades que els fem arribar. Generació de codi de base de dades i continua integrant-se i modelant dades al seu voltant i, després, accedim més ràpidament per controlar la seguretat al voltant de les dades, la integritat de les dades estem movent les dades al voltant, ja que mantenim la seva integritat, hi ha prou metadades al voltant En cas que les vendes vegin tots els registres de la taula o només han de veure l’adreça, el nom i el cognom que t’envien coses a la publicació? I, per descomptat, el major repte de tot és que modelar plataformes de bases de dades que sigui totalment una conversa diferent en si mateixa.

Estic molt a l’opinió que tenint en compte tot això per fer possible qualsevol cosa d’aquest nirvana, és absolutament crític que tant els especialistes en dades com els desenvolupadors tinguin les eines adequades i que aquestes eines siguin capaces d’entregar projectes centrats en equip, disseny, desenvolupament i manteniment operatiu continuat. Ja sabeu, coses com col·laborar en projectes entre experts de dades i desenvolupadors de programari, punt de veritat o font única de veritat per a tot el que hi ha al voltant de la documentació de les bases de dades mateixes, les dades, els esquemes, d’on provenen els registres, propietaris d’aquests registres. . Crec que en aquests moments i en l’edat és absolutament crític, aconseguirem que aquest nirvana de dades sigui rei, que les eines adequades han d’estar en marxa perquè el repte és massa gran ara per a que ho puguem fer manualment i si la gent desplaçar-se i sortir d’una organització, és massa fàcil per a nosaltres no seguir el mateix procés o metodologia que pot establir una persona que sigui bona i no necessàriament transferir aquestes habilitats i habilitats endavant.

Tenint això en compte, vaig a dirigir-me al nostre bon amic d'IDERA i escoltaré aquesta eina i com aborda aquestes coses.

Ron Huizenga: Moltes gràcies i tant a Robin com a Dez per posar-vos bé en escena, i veureu una mica de solapament en un parell de coses de les que us he parlat. Però realment han establert unes bases molt sòlides per a alguns dels conceptes que parlaré des d’una perspectiva de modelatge de dades. I moltes de les coses que han dit fan ressò de la meva pròpia experiència quan era consultor que treballava en modelat de dades i arquitectura de dades, juntament amb equips, tant a la cascada dels primers dies com a evolucionar cap a productes més moderns amb projectes en els quals estàvem utilitzant àgils. metodologies per donar solucions.

Llavors, del que parlaré avui es basa en aquestes experiències, així com en una visió de les eines i algunes de les capacitats de les eines que utilitzem per ajudar-nos en aquest viatge. El que vaig a tractar molt breument és que no entraré en escrúpols amb molts detalls; només teníem una panoràmica real de què és això. En parlaré en termes de: què és un model de dades i què significa realment per a nosaltres? I com permetem el concepte de modelador de dades àgils a les nostres organitzacions, en termes de, com implicem els modeladors de dades, quina participació de modeladors i arquitectes durant l’esprint, quins són els tipus d’activitats en què s’han de realitzar? i, com a teló de fons, quines són algunes de les importants capacitats d’eines de modelatge que utilitzem per ajudar realment a fer aquesta feina més fàcil? A continuació, vaig a aprofundir i parlaré una mica sobre alguns dels valors empresarials i els avantatges de tenir un modelador de dades implicat, o de la manera en què explicaré la història, els problemes de no tenir un modelador de dades completament implicat en els projectes i t’ho mostraré que es basa en l’experiència i en un gràfic de defectes d’una imatge abans i després d’un projecte real en què vaig estar involucrat fa molts anys. A continuació, resumirem alguns punts més i, a continuació, tindrem preguntes i respostes.

ER Breu és una suite molt potent que compta amb molts components diferents. L’arquitecte de dades, que és on els modeladors i arquitectes de dades passen la major part del temps fent la seva modelització de dades. Hi ha altres components que també no parlarem del moment, com ara Business Architect, on fem modelatge de processos i Software Architect, per a alguns dels models de UML. Després hi ha el Repositori, on fem el registre i compartim els models i permetem als equips col·laborar en aquests i publicar-los al servidor d'equip de manera que diversos públics interessats que participen en un projecte puguin veure els artefactes que nosaltres. tornem a crear tant des de la perspectiva de les dades com les altres coses que estem fent en el lliurament del projecte.

En el que em centraré avui, seran algunes de les coses que veurem a partir de Data Architect i perquè és realment important que comptem amb la col·laboració d’aspectes basats en dipòsits. Especialment quan comencem a parlar de conceptes com la gestió del canvi que són imprescindibles, no només els projectes de desenvolupament àgils, sinó també qualsevol tipus de desenvolupament.

Parlem, doncs, d’un moment sobre el Modelador de dades àgil. Com ja hem fet referència, com hem dit anteriorment en la presentació, és imprescindible que tinguem modeladors de dades i / o arquitectes completament dedicats als processos de desenvolupament àgils. Ara, el que ha passat històricament és, sí, realment hem pensat en l’àgil des de la perspectiva del desenvolupament, i hi ha un parell de coses que han passat que realment han provocat que es produís. Part d'ella es va deure només a la naturalesa de la manera com es va desenvolupar el desenvolupament. A mesura que el desenvolupament àgil va començar i vam començar amb aquest concepte d’equips d’autoorganització, si beus el Kool-Aid una mica massa pur i estàs al costat de la programació extrema de les coses, hi havia una interpretació literal de coses com la equips autoorganitzadors, que molta gent va interpretar, el que necessitem és un grup de desenvolupadors capaços de crear tota una solució. Tant si es tracta de desenvolupar el codi, les bases de dades o les bases de dades que hi ha al darrere i tot va quedar relegat als desenvolupadors. Però el que passa amb això és perdre's en les habilitats especials que tenen les persones. He descobert que els equips més forts són els que estan formats per persones de diferents àmbits. Com ara una combinació de desenvolupadors de programari forts, arquitectes de dades, modeladors de dades, analistes de negocis i grups d’interès empresarials, tots col·laborant junts per impulsar una solució final.

El que també parlo avui és que ho faré en el context d'un projecte de desenvolupament on desenvolupem una aplicació que, òbviament, també tindrà associat el component de dades. Tanmateix, hem de fer un pas enrere abans de fer-ho, perquè ens adonem que hi ha molt pocs projectes de desenvolupament de Greenfield allà on ens centrem completament en la creació i el consum de dades limitats només dins del mateix projecte de desenvolupament. . Hem de fer un pas enrere i mirar el punt de vista organitzatiu global des de la perspectiva de les dades i la perspectiva del procés. Perquè el que esbrina és que la informació que estem utilitzant pot existir en algun lloc de les organitzacions. Com a modelistes i arquitectes, la traiem a la llum, així sabrem d’on provenir aquesta informació dels propis projectes. També coneixem les estructures de dades implicades perquè tenim patrons de disseny igual que els desenvolupadors tenen patrons de disseny del seu codi. I també cal tenir aquesta perspectiva organitzativa general. No només podem mirar dades en el context de l’aplicació que estem creant. Hem de modelar les dades i assegurar-nos que les documentem perquè viuen molt més enllà de les pròpies aplicacions. Aquestes aplicacions vénen i van, però hem de ser capaços de mirar les dades i assegurar-nos que siguin robustes i estructurades, no només per a l'aplicació, sinó també per a decisions que informin d'activitats, informes de BI i integració a altres aplicacions, internes i externs a les nostres organitzacions també. Per tant, hem de fixar-nos en tota la imatge general de les dades i en què consisteix el cicle de vida d’aquestes dades i comprendre el viatge de peces d’informació a tota l’organització, des del bressol fins a la tomba.

Tornant als equips reals i com hem de treballar realment, la metodologia de la cascada es va percebre com a massa lenta per obtenir resultats. Perquè, tal com es va assenyalar amb l’exemple del tanc, va ser un pas rere l’altre i sovint es va trigar massa temps a obtenir un resultat final viable. El que fem ara és que necessitem tenir un estil de treball iteratiu on desenvolupem de forma creixent components del mateix i elaborant-lo al llarg del temps on produïm codi o artefactes utilitzables, diré, per a cada sprint. L’important és la col·laboració entre els grups d’interès tècnics de l’equip i els grups d’interessos empresarials, ja que col·laborem per portar aquestes històries d’usuaris a una visió de codi implementable i les dades que també admetin aquest codi. I el mateix modelador de dades àgil sovint trobarà que no tenim prou modeladors a les organitzacions, per la qual cosa un model de dades o arquitecte pot donar suport simultàniament a diversos equips.

I l’altre aspecte d’això és que, fins i tot si tenim diversos modelistes, hem d’assegurar-nos que disposem d’un conjunt d’eines que estem utilitzant que permet la col·laboració de diversos projectes que estan en vol alhora i compartir-los. artefactes de dades i les funcions de check-in i check-out. Vaig a sobrepassar-ho molt ràpidament, ja que ja ho vam cobrir a l’apartat anterior. La veritable premissa de l’àgil és que estàs fonamentant coses fora de la història, d’històries o de requeriments. Dins de les iteracions, col·laborem com a grup. Normalment és molt freqüent un esprint de dues setmanes o un mes, segons l’organització. A més, també realitzem reunions diàries i de revisió diàries de manera que eliminem els bloquejants i ens assegurem que avancem tots els aspectes sense deixar d’aturar-nos en diferents àrees a mesura que passem. I en aquests sprints volem assegurar-nos que estem produint lliurables usables com a part de cada sprint.

Una solució lleugerament diferent, ampliant-la encara més, scrum és la metodologia de què parlaré més concretament aquí i només hem augmentat bàsicament aquesta imatge anterior amb algunes altres facetes. Normalment hi ha una llista de producte i després hi ha un retrocés de velocitat. Així, doncs, tenim un esquema global que, al principi de cada reiteració de l'esprint, ens pareixem per dir: "Què anem a crear aquest sprint?" I això es farà en una reunió de planificació de sprint. A continuació, desglossem les tasques associades a això i executem els sprints d’una o quatre setmanes amb les revisions diàries. A mesura que anem fent el seguiment dels nostres avenços mitjançant gràfics de combustió i gràfics desplegables per fer un seguiment bàsic del que queda per construir vers el que estem construint per establir coses com la nostra velocitat de desenvolupament, farem la nostra horari, tot aquest tipus de coses. Tots aquests s’elaboren contínuament durant l’esprint en lloc d’anar uns mesos pel camí i esbrinar que arribareu a la breu i heu d’ampliar el calendari del projecte. I molt important, com a part de tots els equips, al final hi ha una revisió de sprint i una retrospectiva de sprint, així que abans de començar la propera iteració estàs revisant el que vas fer i estàs buscant maneres que puguis millorar la propera vegada a través.

En termes de lliuraments, es tracta bàsicament d’una diapositiva que resumeix els tipus típics de coses que es desenvolupen en els sprints. I és molt centrat en el desenvolupament, de manera que hi ha moltes coses que veiem aquí, com ara dissenys funcionals i casos d’ús, fer proves de codi de disseny, quan mirem aquestes caselles aquí i no les passaré en qualsevol nivell de detall, estan molt orientats al desenvolupament. I, enterrat a sota, hi ha el fet que també necessitem tenir aquests lliuraments de dades que vagin de la mà per recolzar aquest esforç. Així, cada cop que veiem coses com els endarreriments enrere, els requisits i les històries d’usuaris, a mesura que anem passant, hem de mirar quins són els treballs de desenvolupament que hem de fer, quines són les peces d’anàlisi que hem de fer, i què? Disseny de dades o model de dades, què passa amb coses com els glossaris de negocis per associar el significat comercial a tots els artefactes que estem produint? Perquè necessitem estar produint aquests subministraments útils en cada sprint.

Algunes diran que hem de produir un codi usable al final de cada sprint. No és necessàriament el cas, és a dir en una perspectiva de desenvolupament més pura, però amb molta freqüència, sobretot al principi, pot ser que tinguem una cosa com l'esprint zero on ens concentrem exclusivament a posar-nos en peu, fent coses com aconseguir les nostres estratègies de prova. lloc. Un disseny d’alt nivell per iniciar-lo abans de començar a omplir els detalls i assegurar-nos que tenim un conjunt net d’històries o requisits inicials abans de començar a comprometre altres públics i, a continuació, construir-nos com a equip a mesura que avancem. Sempre hi ha una mica de temps de preparació, així que sovint tindrem un sprint zero o fins i tot un sprint zero. Podria ser una mica una fase d’inici abans de fer un vol complet a l’hora d’entregar la solució.

Parlem de models de dades en aquest context molt breument. Quan les persones pensen en models de dades, sovint pensen en un model de dades com una imatge de com s’uneixen les diferents dades d’informació: aquesta és només la punta de l’iceberg. Per encarnar plenament l’esperit de com realment voleu apropar-vos al modelat de dades, ja sigui en desenvolupament àgil i altres coses, és necessari adonar-vos que el model de dades, si es fa correctament, esdevé la vostra especificació completa per a què signifiquen aquestes dades a l’organització i com es desplega a les bases de dades de fons. Quan dic bases de dades, no em refereixo només a les bases de dades relacionals que podem estar utilitzant, sinó a les arquitectures actuals en què tenim grans dades o plataformes NoSQL, ja que prefereixo anomenar-les. També els grans magatzems de dades, perquè potser estem combinant molts magatzems de dades diferents pel que fa a consumir informació i incloure-ho a les nostres solucions, així com com persistim o guardem aquesta informació de les nostres solucions.

És possible que treballem amb diverses bases de dades o fonts de dades simultàniament en el context d’una aplicació determinada. El que és molt important és voler ser capaç de tenir una especificació completa, per tant, una especificació lògica del que això significa per a una perspectiva organitzativa sprint, quines són les construccions físiques en termes de la definició de les dades, de les relacions entre elles. les bases de dades, les restriccions d’integritat referencials, comproveu les restriccions, tots aquells trossos de validació que normalment penseu. Les metadades descriptives són extremadament importants. Com saps com utilitzar les dades de les teves aplicacions? Si no es pot definir i saber què significa o saber d’on prové, per assegurar-se que està consumint les dades correctes en aquestes aplicacions, assegurant-nos que tenim convencions de denominació correctes, definicions completes, cosa que significa un diccionari complet de dades per a no només les taules, però les columnes que inclouen aquestes taules, i les notes de desplegament de detalls sobre com utilitzem això perquè necessitem crear aquesta base de coneixement perquè, fins i tot quan es faci aquesta aplicació, aquesta informació s'utilitzarà per a altres iniciatives, així que hem d'assegurar-nos que tenim tot això documentat per a futures implementacions.

Un cop més, ens referim a coses com ara tipus de claus, claus, índexs, el mateix model de dades inclou moltes de les regles de negoci que es fan en joc. Les relacions no són només restriccions entre diferents taules; sovint ens ajuden a descriure quines són les veritables regles comercials al voltant de com es comporten aquestes dades i com funcionen junts com a unitat cohesionada. I, per descomptat, les restriccions de valor són molt importants. Ara, és clar, una de les coses que tractem constantment, i que cada vegada és més freqüent, són coses com el govern de dades. Així, doncs, des de la perspectiva de governança de dades, també hem de mirar, què estem definint aquí? Volem definir coses com ara classificacions de seguretat. Quins tipus de dades tractem? Què es considerarà la gestió de dades mestres? Quins són els comerços transaccionals que estem creant? Quines dades de referència utilitzem en aquestes aplicacions? Hem d’assegurar-nos que es captura correctament en els nostres models. I també les consideracions sobre la qualitat de les dades, hi ha certes dades que són més importants per a una organització que d’altres.

He participat en projectes on vam substituir més d’una dotzena de sistemes heretats per nous processos empresarials i dissenyant noves aplicacions i magatzems de dades per substituir-los. Calia saber d’on venia la informació. Quin tipus d’informació més important, des d’una perspectiva empresarial, si ens fixem en aquesta diapositiva de model de dades en concret que tinc aquí, veureu que els quadres inferiors d’aquestes entitats particulars, que només són un petit subconjunt, jo. En realitat he sabut capturar el valor del negoci. Ja siguin alts, mitjans o baixos per a aquest tipus de coses per a aquests diferents constructes dins de l'organització. I també he capturat coses com les classes de dades mestres, ja siguin taules mestres, tant si són de referència com si eren transaccionals. Així, podem ampliar els nostres metadades en els nostres models per donar-nos moltes altres característiques fora de les pròpies dades, cosa que ens va ajudar realment amb altres iniciatives fora dels projectes originals i tirar-ho endavant. Ara, això va ser molt en una diapositiva, vaig a passar per la resta de bastant ràpidament.

Ara parlaré molt ràpidament sobre què fa un modelador de dades a mesura que anem passant per aquests diferents sprints. En primer lloc, un participant complet a les sessions de planificació de sprint, on estem donant històries d’usuaris, comprometent-nos a oferir aquest sprint i esbrinant com l’estructurarem i el proporcionarem. El que també faig com a modelador de dades és que sé que vaig a treballar en àrees separades amb diferents desenvolupadors o amb persones diferents. Una de les característiques importants que podem tenir és quan estem fent un model de dades, que podem dividir aquest model de dades en visions diferents, tant si les anomeneu àmbits matèries com a sub-models, és la nostra terminologia. Així, a mesura que anem construint el model, també el mostrem en aquestes diferents perspectives sub-model, de manera que els diferents públics només veuen el que és rellevant per a ells per poder concentrar-se en el que desenvolupen i proposen. De manera que potser algú treballa en una part de programació d’una aplicació, potser algú més treballa en una entrada de comanda on fem totes aquestes coses en un sol sprint, però puc donar-los els punts de vista a través d’aquests sub-models que només aplicar-se a la zona on es treballa. A continuació, els que s’orienten al model global i a tota l’estructura de sub-models per oferir a les audiències diferents el que han de veure.

Els fonaments des d’una perspectiva de modelatge de dades que volem tenir és tenir sempre una línia de referència a la qual podem recórrer, perquè una de les coses que hem de poder fer és, ja sigui al final d’un esprint o al final. de diversos sprints, volem saber per on vam començar i sempre tenim una línia de referència per saber què era el delta o la diferència del que vam produir en un esprint determinat. També hem d’assegurar-nos que podem obtenir un canvi ràpid. Si hi entra com a modelador de dades, però en el paper tradicional de gatekeeper dient "No, no, no ho pots fer, primer hauríem de fer totes aquestes coses", seran exclosos de l'equip quan realment ho necessitin ser un participant actiu en tots aquells equips de desenvolupament àgils. Això vol dir que algunes coses cauen del vagó fent un esprint determinat i les recolliu en els sprints posteriors.

A tall d’exemple, podeu centrar-vos en les estructures de dades només per aconseguir que el desenvolupament tingui en compte la peça d’entrada de comanda de què us parlava. En un sprint posterior, podeu tornar i emplenar les dades, com ara una part de la documentació del diccionari de dades al voltant d'alguns artefactes que heu creat. No completareu aquesta definició tots en un sol sprint; continuareu seguint els vostres lliuraments de manera incremental perquè hi haurà vegades que podreu omplir aquesta informació treballant amb analistes empresarials quan els desenvolupadors estiguin ocupats en crear les aplicacions i la persistència al voltant d'aquests magatzems de dades. Vostè vol facilitar i no ser el coll d’ampolla. Hi ha diferents maneres de treballar amb desenvolupadors. Per a algunes coses, tenim uns patrons de disseny, de manera que som un participant complet al capdavant, de manera que pot ser que tinguem un patró de disseny on direm que el posarem al model, el transmetrem cap a les bases de dades de la caixa de sorra dels desenvolupadors i, després, poden començar a treballar amb ell i sol·licitar canvis.

Hi pot haver altres àrees en què els desenvolupadors han estat treballant, tenen alguna cosa en què estan treballant i prototipen algunes coses per intentar algunes coses en el seu propi entorn de desenvolupament. Prenem la base de dades amb la qual han estat treballant, la incorporem a la nostra eina de modelatge, comparem amb els models que tenim i, després, resolem i emportem els canvis de nou perquè puguin refactoritzar els seus codis perquè siguin les estructures de dades adequades. que necessitem Com que potser han creat algunes coses que ja teníem en altres llocs, així que ens assegurem que treballin amb les fonts de dades adequades. Ens limitem a iterar-ho fins al nostre sprint de manera que aconseguim els lliuraments de dades complets, la documentació completa i la definició de totes aquelles estructures de dades que estem produint.

Els projectes àgils amb més èxit amb els quals he estat involucrat en termes d’entregues molt bones és, teníem una filosofia, modelar tots els canvis a l’especificació completa de bases de dades físiques. En essència, el model de dades es converteix en les bases de dades desplegades amb les quals treballa per a qualsevol cosa nova que creem i que té referències completes dels altres magatzems de dades si la consumim d’altres bases de dades externes. Com a part d'això, produïm scripts incrementals versus fer una generació completa cada vegada. I estem utilitzant els nostres patrons de disseny per donar-nos aquest augment ràpid en termes d’aconseguir que les coses vagin en sprints amb els diferents equips de desenvolupament amb què estem treballant.

A les activitats sprint també es torna a tenir aquesta línia de referència per comparar / combinar, per tant, prenem-nos la idea de modelar cada canvi. Cada cop que fem un canvi, el que volem fer és voler modelar el canvi i el que és molt important, el que ha faltat a la modelització de dades fins fa poc, de fet, fins que l’hem reintroduït, és la capacitat d’associar el modelatge. les tasques i els vostres lliuraments amb les històries i tasques dels usuaris que realment provoquen aquests canvis. Volem poder comprovar els canvis de model, de la mateixa manera que els desenvolupadors comproven els seus codis, fent referència a aquelles històries d’usuaris que tenim, de manera que sabem per què hem fet canvis en primer lloc, això és el que fem. Quan ho fem, generem els nostres scripts de DDL incrementals i els publiquem de manera que es puguin recollir amb els altres lliuraments de desenvolupament i consultar la nostra solució de creació. Un cop més, potser tindrem un model o treballem amb diversos equips. I, com he parlat, algunes coses són originades pel modelador de dades, altres són originades pels desenvolupadors i ens trobem al mig per presentar el millor disseny general i impulsar-lo endavant i assegurar-nos que estigui correctament dissenyat en el nostre estructures de dades generals. Hem de mantenir la disciplina de vetllar per tenir totes les construccions adequades en el nostre model de dades a mesura que avancem, incloses coses com valors nuls i no nuls, restriccions referencials, comprovar bàsicament restriccions, totes aquestes coses en les que normalment pensarem .

Parlem ara d’unes quantes captures de pantalla d’algunes de les eines que ens ajuden a fer-ho. El que crec que és important és tenir aquest dipòsit col·laboratiu, de manera que el que podem fer com a modeladors de dades, i es tracta d’un fragment de part d’un model de dades en segon pla, és quan treballem en coses que volem assegurar-nos que podem treballar només els objectes que necessitem per poder canviar, fer les modificacions, generar els nostres scripts DDL per als canvis que hem realitzat a mesura que revisem les coses. Així doncs, en ER Studio és un exemple, podem consultar objectes o grups d'objectes per treballar, no hem de revisar tot un model o sub-model, podem consultar només aquelles coses que ens interessen. El que volem després d’això és a l’hora de check-out o check-in - ho fem de totes dues maneres perquè diferents equips de desenvolupament funcionen de maneres diferents. Volem assegurar-nos que ho associem a la història o tasca d’usuari que condueixi als requisits i que serà la mateixa història o tasca d’usuari que els desenvolupadors desenvoluparan i comprovarà el seu codi.

Aquí teniu un fragment molt ràpid d'un parell de pantalles d'un dels nostres centres de gestió de canvis. Què fa això, no passaré a grans detalls aquí, però el que estàs veient és la història o la tasca de l’usuari i indentats a sota de cadascun dels quals veieu els registres de canvis reals: hem creat un registre de canvi automatitzat quan fem el check-in i el check-out i també podem incloure més descripció d’aquest registre de canvis. S'associa a la tasca, podem tenir diversos canvis per tasca, com espereu. I quan entrem en aquest registre de canvis podem mirar-lo i més important veure, què hem canviat realment? Per a aquesta particular, la història destacada hi vaig tenir un tipus de canvi que es va fer i quan vaig mirar el registre de canvis real, ha identificat les peces individuals del model que ha canviat. He canviat un parell d'atributs aquí, els he tornat a seleccionar i he aportat les visites que havien de canviar que també eren depenents d'aquests, de manera que es generaran a la DLL incremental. No només es modela en els objectes base, sinó que una eina de modelat de gran potència com aquesta també detecta els canvis que s’han d’arreplegar a través dels objectes dependents de la base de dades o del model de dades.

Si estem treballant amb desenvolupadors, i ho fem en un parell de coses diferents, això és fer alguna cosa a la seva caixa de sorra i volem comparar i veure on es troben les diferències, utilitzem funcions de comparació / fusió on es troba a la part dreta i esquerra. costat. Podem dir, "Aquí és el nostre model a la part esquerra, aquí es troba la seva base de dades a la part dreta, mostra'm les diferències". A continuació, podem triar i triar com resolem aquestes diferències, tant si introduïm les coses a la base de dades com si Hi ha algunes coses que tenen a la base de dades que introduïm al model. Podem anar de forma bidireccional, de manera que podrem anar ambdues direccions actualitzant simultàniament tant la font com la destinació i, a continuació, produïm els scripts DDL incrementals per desplegar aquests canvis al propi entorn de la base de dades, que és extremadament important. El que també podem fer és que també puguem utilitzar aquesta capacitat de comparació i combinació en un moment donat, si estem realitzant instantànies a través del camí, sempre podem comparar l’inici d’un sprint amb l’inici o el final d’un altre sprint perquè puguem veure el canvi incremental complet del que es va fer en un sprint de desenvolupament determinat o en una sèrie de sprints.

Aquest és un exemple molt ràpid d’alter script, qualsevol de vosaltres que hagi estat treballant amb bases de dades haurà vist aquest tipus de coses, això és el que podem treure del codi com un script de manera que ens assegurem que conserva les coses aquí El que vaig treure d’aquí, només per reduir l’enfocament, és el que també fem amb aquests alter scripts és que suposem que també hi ha dades d’aquestes taules, de manera que també generarem el DML que obtindrà la informació de les taules temporals i impulsar-la de nou a les noves estructures de dades, de manera que no només estem analitzant les estructures, sinó les dades que ja podríem contenir en aquestes estructures.

Anem a parlar molt ràpidament sobre sistemes de construcció automatitzats, ja que quan realitzem un projecte àgil amb molta freqüència treballem amb sistemes automatitzats de construcció on hem de revisar els diferents lliuraments junts per assegurar-nos que no trenquem les nostres creacions. El que vol dir és sincronitzar els lliuraments, cal que es registrin els scripts de canvis de què he parlat amb l'script DDL, el codi d'aplicació corresponent s'ha de registrar al mateix temps i, per descomptat, no hi hagi molts desenvolupadors. es fa amb SQL directe contra les bases de dades i aquest tipus de coses. Molt sovint fem servir marcs de persistència o construint serveis de dades. Hem d’assegurar-nos que els canvis d’aquests marcs o serveis es registren exactament al mateix temps. Entren en un sistema de generació automatitzat en algunes organitzacions i si la construcció es trenca, amb una metodologia àgil, tot funciona en la reparació del pont que es construeixen abans que avancem, de manera que sabem que tenim una solució de treball abans d’anar més enllà. I en un dels projectes amb els quals estava involucrat, ho vam arribar a l’extrem: si es va produir un trencament de la creació, en realitat teníem adherit a diversos ordinadors de la nostra zona on estàvem colocats amb els usuaris del negoci, teníem llums intermitents vermelles. com la part superior dels cotxes de la policia. I si la acumulació es trencava, aquestes llums vermelles intermitents començaven a apagar-se i sabíem que era tot plegat a la coberta: arreglar la construcció i continuar amb el que estàvem fent.

Vull parlar d’altres coses, i aquesta és una capacitat única d’ER Studio, realment ajuda quan intentem crear aquests artefactes com a desenvolupadors d’aquests límits de persistència, tenim un concepte anomenat objectes de dades empresarials i el que ens permet fer és que si observeu un model de dades tan simplista com a exemple, ens permet encapsular entitats o grups d’entitats per on es troben els límits de la persistència. Quan nosaltres, com a modelador de dades, puguem pensar en alguna cosa com una capçalera de la comanda de compra i l’alineació de la comanda i altres taules detallades que s’ajusten a la forma en què la construïm i els desenvolupadors de serveis de dades necessiten saber com continuen les coses per a aquestes dades diferents. estructures. Els nostres desenvolupadors estan pensant en coses com l'ordre de compra com a objecte en general i quin és el seu contracte amb la creació d'aquests objectes. Podem exposar aquest detall tècnic perquè la gent que construeixi els servidors de dades pugui veure què hi ha a sota i puguem protegir els altres públics de les complexitats, de manera que només veuen els diferents objectes de nivell superior, que també funciona molt bé per comunicar-se amb el negoci. analistes i grups d’interès empresarials quan parlem també d’interacció de diferents conceptes empresarials.

El més bo d’això també és ampliar i esfondrar constructivament, de manera que puguem mantenir les relacions entre els objectes d’ordre superior, encara que s’originin en construccions que s’inclouen dins dels mateixos objectes de dades comercials. Ara com a modelista, arribeu al final del sprint, al final del rellotge sprint, tinc moltes coses que necessito fer, que anomeno la meva neteja per al proper esprint. Cada esprint que creo és el que anomeno alliberament anomenat, que és el que em proporciona la meva línia de referència per al que ara tinc al final de la versió. Per tant, això vol dir que la meva línia de base avança, totes aquestes línies bàsiques o les publicacions anomenades que creo i guardo al meu dipòsit que puc fer per comparar / combinar, de manera que sempre puc comparar amb qualsevol final de sprint de qualsevol altre sprint, que és molt important conèixer quins van ser els vostres canvis al model de dades durant el viatge.

També creo un script DDL delta mitjançant la comparació / fusió de nou des del principi fins al final del sprint. Potser he comprovat un conjunt de seqüències incrementals, però si ho necessito, ara tinc un script que puc desplegar per presentar altres caixes de sorra, així que només puc dir que és el que teníem al principi d’un sprint. a través de, creem una base de dades com a caixa de sorra per començar amb el següent sprint i també podem utilitzar aquestes coses per fer coses com les instàncies de QA standup i, per descomptat, volem estar impulsant els canvis cap a la producció, de manera que continuem succeint múltiples coses. al mateix temps. De nou, participem plenament en la planificació i les retrospectives de sprint, les retrospectives són realment les lliçons apreses i això és extremadament important, ja que es pot anar molt ràpidament durant l’àgil, cal aturar-se i celebrar els èxits, com ara. Esbrineu el que no funciona, milloreu-ho millor la propera vegada, però també celebreu les coses que van anar bé i aprofiteu-les mentre continueu avançant en els propers sprints.

Ara parlaré molt ràpidament del valor empresarial. Hi va haver un projecte en el qual em vaig involucrar fa molts anys que va començar com un projecte àgil i va ser un projecte extrem, de manera que es tractava d’un pur equip d’autoorganització on es feien només desenvolupadors que ho feien tot. Per fer una història llarga, aquest projecte s’aturava i trobaven que es dedicaven cada cop més a l’hora de remetre i arreglar els defectes que s’identificaven que no pas a impulsar més funcionalitat i, de fet, quan s’ho miraven basats. A les llistes de detalls, haurien d’ampliar el projecte sis mesos a un cost enorme. I quan el vam examinar, la manera de solucionar el problema va ser utilitzar una eina de modelat de dades adequada amb un modelador de dades qualificat implicat en el propi projecte.

Si mireu aquesta barra vertical d’aquest gràfic en concret, es mostren defectes acumulatius enfront d’objectes acumulatius i estic parlant d’objectes de dades o construccions que s’han creat, com les taules amb les restriccions i aquest tipus de coses, si us fixeu en Abans que es va introduir el modelador de dades, el nombre de defectes superava realment i començava a generar una mica de buit respecte el nombre real d'objectes produïts fins a aquest moment. Després de la setmana 21, és a dir quan va entrar el modelador de dades, va tornar a configurar el model de dades basat en el que hi havia per arreglar diverses coses i després va començar a modelar com a part de l’equip del projecte endavant, els canvis a mesura que aquell projecte s’anava avançant. . I vàreu veure un canvi molt ràpid que, al voltant d'un sprint i mig, vam veure una enorme pujada en el nombre d'objectes i construccions de dades que es generen i construïen perquè generem una eina de modelatge de dades en lloc d'un pal de desenvolupament. construint-los en un entorn i eren correctes perquè tenien la integritat referencial adequada i les altres construccions que hauria de tenir. El nivell de defectes respecte a gairebé una línia plana. Mitjançant les accions apropiades i assegurant-se que el modelat de dades estigués totalment implicat, el projecte es va lliurar a temps amb un nivell de qualitat molt més elevat i, de fet, no s’hauria realitzat en absolut si aquests passos no s’haguessin realitzat. Hi ha molts fracassos àgils, també hi ha molts èxits àgils si obtindríeu les persones adequades en els papers adequats. Sóc un gran defensor de l’àgil com a disciplina operativa, però heu d’assegurar-vos que teniu les habilitats de tots els grups adequats implicats com a equips de projecte a mesura que avançeu en un tipus de treball àgil.

En resum, els arquitectes i modeladors de dades han d’estar implicats en tots els projectes de desenvolupament; realment són la cola que ho manté tot plegat perquè, com a modeladors i arquitectes de dades, entenem, no només les construccions de dades del projecte de desenvolupament donat, sinó també allà on les dades existeixen a l’organització i on podem originar aquestes dades i també com s'utilitzarà i es farà servir fora de la pròpia aplicació en què estem treballant. Entenem les complexes relacions de dades i és primordial poder avançar i també des d’una perspectiva de govern per a fer un mapa de documents i entendre com és el vostre paisatge de dades complet.

És com fabricar; Venia d’un bagatge de fabricació. No podeu inspeccionar la qualitat en alguna cosa al final: heu de contribuir a la qualitat en el vostre disseny previ i pel vostre pas, i el modelat de dades és una manera d’incorporar aquesta qualitat al disseny d’una manera eficient i rendible fins al moment. . I una vegada més, alguna cosa que cal recordar, i això no és de veritat, sinó que és la veritat, les aplicacions vénen i van, les dades són l’actiu corporatiu vital i transcendeixen tots els límits de l’aplicació. Cada vegada que introduïu una sol·licitud, probablement se us demani que conserveu les dades d’altres aplicacions anteriors, per la qual cosa només cal recordar que és un actiu corporatiu vital que mantenim al llarg del temps.

I ja està! A partir d’aquí ens farem més preguntes.

Eric Kavanagh: D' acord, bé, deixa'm llançar-ho primer a Robin. Aleshores, Dez, estic segur que teniu un parell de preguntes. Treu-ho, Robin.

Robin Bloor: D'acord. Per ser sincer, mai he tingut cap problema amb els mètodes de desenvolupament àgils i em sembla que el que esteu fent aquí té un sentit eminent. Recordo haver estudiat alguna cosa a la dècada de 1980 que indicava, realment, que el problema amb el qual realment teniu en compte un projecte que no té control, normalment és si deixeu que un error continuï més enllà d’una etapa determinada. Simplement és més i més difícil de solucionar si no aconseguiu aquesta fase correcta, així que una de les coses que esteu fent aquí i crec que es tracta de la diapositiva, però és una de les coses que feu aquí. a Sprint zero, segons la meva opinió, és absolutament important perquè realment intenteu que s'instal·lin els lliuraments. I si no rebeu els lliuraments fixats, els lliuraments canvien de forma.

Aquesta és la meva opinió. També és la meva opinió: realment no tinc cap argument amb la idea que heu d'aconseguir que el modelat de dades sigui correcte fins a un cert nivell de detall abans de passar. El que m'agradaria que proveu de fer perquè no tenia un sentit complet, és simplement descriure un d'aquests projectes quant a la seva mida, quant a com va fluir, quant a qui, ja ho sabeu, on es van solucionar els problemes, es van resoldre? Perquè crec que aquesta diapositiva és el cor més important i, si poguessis elaborar-ne una mica més, estaria molt agraïda.

Ron Huizenga: Clar, i faré servir un parell de exemples de projectes. El que, de forma, es va despenjar dels carrils que es tornaven a fer, implicant realment les persones adequades i fent el modelatge de dades i tot era realment una manera d’assegurar-se que el disseny s’entenia millor i, òbviament, teníem un millor disseny d’implementació. en el camí tot modelant-lo. Ja que quan el modeleu, ja ho sabeu, podeu generar el vostre DDL i tot allò que es faci enrere i fora de l’eina en lloc d’haver d’enganxar la creació d’aquest tipus com la gent normalment podria fer accedint directament a un entorn de bases de dades. I les coses típiques que passaran amb els desenvolupadors és que hi entraran i diran, d’acord, necessito aquestes taules. Diguem que fem entrades de comandes. De manera que podrien crear l’encapçalament de la comanda i les taules de detall de l’ordre i aquest tipus de coses. Però sovint s’oblidaran o s’obliden d’assegurar-se que les restriccions hi són per representar les relacions clau exteriors. És possible que no tinguin les claus correctes. També es pot sospitar que les convencions de nomenament. No sé quantes vegades he entrat en un entorn, per exemple, on veieu un conjunt de taules diferents amb noms diferents, però els noms de columna d’aquestes taules són com ID, Nom o qualsevol cosa, de manera que Realment hem perdut el context sense la taula de què es tracta exactament.

Per tant, normalment quan estem modelant dades, ens assegurem que també apliquem convencions de denominació adequades a tots els artefactes que també es generen al DDL. Però ser més específic sobre la naturalesa dels projectes en sí, en general, parlo d’iniciatives bastant grans. Un d’ells va ser un projecte de transformació empresarial de 150 milions de dòlars on vam substituir més d’una dotzena de sistemes heretats. Vam tenir cinc equips àgils diferents simultàniament. Tenia un equip complet d’arquitectura de dades, de manera que tenia modeladors de dades del meu equip incrustats a tots els altres equips de l’àrea d’aplicació i estàvem treballant amb una combinació d’experts empresarials interns que coneixien el tema, que feien el tema. històries d’usuari per als propis requisits. Teníem analistes empresarials en cadascun d’aquests equips que realment estaven modelant el procés empresarial, amb els esquemes d’activitats o els esquemes de processos de negoci, ajudant a detallar les històries d’usuaris més amb els usuaris abans de consumir-los també la resta de l’equip.

I, per descomptat, els desenvolupadors que estaven construint el codi de l'aplicació a sobre. I també estàvem treballant, crec que van ser quatre proveïdors d’integració de sistemes diferents que estaven construint diferents parts de l’aplicació on un equip estava construint els serveis de dades, l’altre construïa una lògica d’aplicació en una àrea, una altra que tenia experiència. en una altra àrea comercial es construïa la lògica d'aplicació en aquesta àrea. Així doncs, vam comptar amb tota una col·laboració de persones que estaven treballant en aquest projecte. En concret, vam tenir 150 persones a la costa de l’equip i altres 150 recursos a la costa de l’equip que van col·laborar en sprints de dues setmanes per tal d’executar aquesta cosa. I per fer-ho, assegureu-vos que esteu disparant a tots els cilindres i que tothom estigui ben sincronitzat pel que fa als seus lliuraments, i teníeu aquests restabliments freqüents per assegurar-vos que acabàvem els lliuraments de tots els artefactes necessaris. al final de cada esprint.

Robin Bloor: Bé, això és impressionant. I només per obtenir una mica més de detall: heu acabat amb un mapa complet de MDM de tota l'àrea de dades al final d'aquest projecte?

Ron Huizenga: Teníem un model complet de dades que es desglossa amb la descomposició entre totes les diferents àrees de negoci. El diccionari de dades en termes de definicions completes va quedar una mica curt. Teníem la majoria de les taules definides; teníem la majoria de les columnes definides de què volien dir exactament. Hi havia algunes que no hi eren i, interessantment, moltes eren dades que provenien dels sistemes antics en què, després del final del propi abast del projecte, encara es documentava com un conjunt de publicacions artefactes, per tant, fora del propi projecte, perquè era una cosa que necessitava mantenir el suport de l'organització. Al mateix temps, l'organització va tenir un punt de vista molt més gran de la importància de la governança de dades, ja que vam veure moltes mancances en els sistemes heretats i en les fonts de dades heretades que estàvem intentant consumir perquè no estaven documentades. En molts casos només teníem bases de dades que vam haver de revertir l’enginyer i intentar esbrinar què hi havia i per a què servia la informació.

Robin Bloor: No m'estranya aquest aspecte concret. La governança de dades és, anomenem-ho, una preocupació molt moderna i crec que realment hi ha molta feina que, diguem-ne, s’hauria d’haver realitzat històricament en el govern de les dades. Mai va ser perquè podríeu, una mica, sortir amb no fer-ho. Però, a mesura que el recurs de dades acaba creixent i creixent, al final no podries.

De totes maneres, passaré a Dez perquè crec que he tingut el meu temps previst. Dez?

Dez Blanchfield: Sí, gràcies. A tot aquest aspecte, estic veient i pensant en mi mateix que parlem de veure àgilment emprat en ira de moltes maneres. Tot i que això té connotacions negatives; Vaig voler dir-ho de manera positiva. Potser potser ens donen un escenari, vull dir, hi ha dos llocs on puc veure que aquest és un conjunt perfecte: es tracta de projectes nous que només s’han de fer des del primer dia, però crec que sempre, segons la meva experiència, sol ser el cas que quan els projectes siguin prou grans perquè això sigui necessari de moltes maneres, hi ha un repte interessant entre enganxar els dos mons, oi? Pot donar-nos una mica de coneixement sobre algunes històries d’èxit que heu vist on heu entrat en una organització, està clar que tenen un petit xoc entre els dos mons i que heu pogut posar amb èxit això és el seu lloc i ajuntar grans projectes on podrien haver estat al capdavant? Sé que és una pregunta molt àmplia, però només em pregunto si hi ha algun cas concret que puguis, per exemple, apuntar a on ho has dit, ja ho saps, ho posem tot i ha reunit tot l’equip de desenvolupament. l’equip de dades i, en algun cas, hem tractat alguna cosa que d’una altra manera podria haver enfonsat el bot?

Ron Huizenga: És clar, i de fet, el que va passar a ser un projecte de canalització va ser el que vaig fer al·lusió on vaig mostrar aquest gràfic amb els defectes abans i després del modelador de dades. Molt sovint, i hi ha nocions preconcebudes, sobretot si hi ha coses que s’elaboren des d’una perspectiva purament de desenvolupament, només són els desenvolupadors que participen en aquests àgils projectes per lliurar les aplicacions. El que hi va passar, per descomptat, és que es van baixar dels carrils i els seus artefactes de dades en particular, o els lliuraments de dades que estaven produint, van quedar fora de la marca en termes de qualitat i van abordar realment les coses en general. I sovint hi ha aquesta idea errònia que els modelistes de dades retarden els projectes i ho faran si el modelador de dades no té l'actitud adequada. Tal com dic, heu de perdre, de vegades, hi ha modelistes de dades que tenen aquesta tradicional actitud de "gatekeeper", "Estem aquí per controlar el que semblen les estructures de dades" i aquesta mentalitat ha de desaparèixer. Qualsevol que estigui involucrat en un desenvolupament àgil, i en particular els modeladors de dades, ha d’assumir un rol de facilitador per ajudar els equips a avançar realment. I la millor manera d’il·lustrar és mostrar molt ràpidament als equips com de productius poden ser, modelant primer els canvis. I de nou, per això vaig parlar de la col·laboració.

Hi ha algunes coses que podem modelar en primer lloc i generar el DDL per impulsar als desenvolupadors. També volem assegurar-nos que no se sentin restringits. Per tant, si hi ha coses en què treballen, deixeu-los treballar en els seus safareigs de desenvolupament, perquè és allà on els desenvolupadors treballen en els seus propis ordinadors de sobretaula o en altres bases de dades per fer alguns canvis en què estan provant les coses. Col·laboreu amb ells i digueu: “D’acord, treballa amb això”. La introduirem a l’eina, la resoldrem i la tirarem endavant i us donarem els scripts que podeu implementar per actualitzar la vostra les bases de dades per actualitzar-les a allò que serà la visió real de la producció real sancionada a mesura que continuem avançant. I es pot convertir de manera ràpida. Vaig trobar que els meus dies es van omplir on només anava i tornava a iterar-me amb diferents equips de desenvolupament, mirant canvis, comparant, generant scripts, fent-los sortir i vaig poder mantenir-me amb quatre equips de desenvolupament bastant fàcilment una vegada que va aconseguir un impuls.

Dez Blanchfield: Una de les coses que em vénen al cap és que, ja ho sabeu, moltes de les converses que tinc diàriament versen sobre aquest tren de mercaderies que ens arriba, una mena de màquina. -maquina i IoT. I si pensem que tenim moltes dades sobre els nostres entorns actuals a l'empresa, ja ho sabeu, si deixem els unicorns de banda per un moment en què sabem que els googles, els Facebook i els ubers tenen petabytes de dades, però en una empresa tradicional, parlem encara de centenars de terabytes i moltes dades. Però, al meu parer, aquest tren de mercaderies arriba a les organitzacions, i el doctor Robin Bloor hi feia al·lusió anteriorment al IoT. Ja sabeu, tenim molt trànsit web, tenim trànsit social, ara tenim mobilitat i dispositius mòbils, el núvol ha explotat, ha sortit, però ara tenim infraestructures intel·ligents, ciutats intel·ligents i tot aquest món de dades acaba d'explotar.

Per a una organització quotidiana, una organització de mitjana a gran, que s’asseu allà i veu que aquest món del dolor els arriba i no tenen en compte un pla immediat, quines són algunes de les adquisicions, en només un parell de frases. Per a ells, quan i on han de començar a pensar de manera conversa sobre com posar en pràctica algunes d’aquestes metodologies. Quin temps necessiten per començar a planejar gairebé asseure’s i prestar atenció i dir que és el moment adequat per posar algunes eines al seu lloc i formar l’equip i formar una conversa de vocabulari al voltant d’aquest repte? Quanta tarda en la història és massa tard o quan és massa aviat? Com es veu això per a algunes de les organitzacions que veieu?

Ron Huizenga: Jo diria a la majoria de les organitzacions que, si no ho han fet, i han adaptat el modelatge de dades i l'arquitectura de dades amb eines potents com aquesta, el temps que necessiten per fer-ho és ahir. Perquè és interessant que, encara avui, quan es fixen les dades de les organitzacions, tinguem tantes dades a les nostres organitzacions i, en general, en base a algunes enquestes que hem vist, estem utilitzant menys del cinc per cent d’aquestes dades de manera efectiva quan ens fixem en organitzacions. I amb IoT o fins i tot NoSQL, les dades grans (encara que no sigui només IoT, sinó només grans dades en general), on ara comencem a consumir encara més informació que prové de fora de les nostres organitzacions, el repte és cada cop més gran. tot el temps. I l’única manera que tenim la possibilitat d’afrontar-ho és ajudar-nos a comprendre de què es tracta.

Per tant, el cas d’ús és una mica diferent. El que ens veiem fent és quan mirem aquestes dades, la captem, hem de revertir les solucions, veure què hi ha, ja sigui als nostres llacs de dades o fins i tot a les nostres bases de dades internes, sintetitzar què Dades, aplicar-li significats i definicions, de manera que puguem comprendre quines són les dades. Perquè fins que no entenguem què és, no podem assegurar-nos que l’utilitzem correctament o adequadament. Per tant, hem de tenir un pla sobre quines són aquestes dades. I l’altra part d’això, no ho feu perquè podeu, pel que fa a consumir totes aquestes dades externes, assegureu-vos que teniu un cas d’ús que admeti consumir aquestes dades externes. Centreu-vos en les coses que necessiteu més que intentar treure i utilitzar les coses que podríeu necessitar més endavant. Centreu-vos en les coses importants primer i, a mesura que aprofiteu les coses, arribareu a consumir i intentar comprendre l’altra informació des de fora.

Un exemple perfecte d’això és que sé que estem parlant de IoT i de sensors, però el mateix tipus de problema hi ha hagut en moltes organitzacions durant molts anys, fins i tot abans de IoT. Qualsevol que tingui un sistema de control de producció, ja siguin una empresa de canonades, la fabricació, qualsevol empresa basada en processos que tinguin coses en les quals fa molta automatització amb controls i utilitzin fluxos de dades i coses així. aquestes dades de foc que estan tractant de beure, per descobrir, quins són els esdeveniments que han tingut lloc en el meu equip de producció: per què passa i quan? I entre aquest gran flux de dades, només hi ha informació específica o etiquetes que els interessa que necessiten definir, sintetitzar, modelar i comprendre. I poden ignorar la resta fins que arribi el moment de comprendre-ho realment, i aleshores poden ampliar el seu àmbit d’objectiu per aconseguir-ho cada cop més a l’abast, si té sentit.

Dez Blanchfield: De fet, sí. Hi ha una pregunta que em plantejaré que prové d’un senyor que es deia Eric i hem estat xerrant sobre això en privat. Acabo de demanar el seu permís, que li ha donat, per demanar-ho. Com que s’aconsegueix molt bé, només cal acabar-ho, ja que anem una mica amb el pas del temps i li retornaré a Eric. Però la pregunta d’un altre Eric era: és raonable suposar que els propietaris d’una startup estiguin familiaritzats i comprenguin els reptes únics que comporta la modelització de la terminologia, o bé, o s’hauria de lliurar a algú més per a la seva interpretació? Per tant, en altres paraules, una startup ha de ser capaç i preparada i disposada, capaç de centrar-se en això i aportar-ho? O és que haurien de comprar i portar probablement experts?

Ron Huizenga: Suposo que la resposta curta és que realment depèn. Si es tracta d’una startup que no té algú a la casa que sigui un arquitecte o modelador de dades que entengui realment la base de dades, la manera més ràpida d’iniciar-ho és portar a algú amb un fons de consultoria molt ben versat en aquest espai i que pugui obtenir ells anant. Perquè el que trobareu, i de fet, ho vaig fer amb molts compromisos que vaig fer abans de passar a la part fosca en la gestió de productes, és que jo passaria a les organitzacions com a consultor, dirigiria els seus equips d’arquitectura de dades, de manera que poguessin, enfocant-se, enfocar-se i formar la seva gent sobre com fer aquest tipus de coses per tal de sostenir-la i portar a terme la missió. I després passaria al meu proper compromís, si això té sentit. Hi ha molta gent que hi fa això, que té una experiència de dades molt bona que els pot portar a terme.

Dez Blanchfield: És un excel·lent punt per emportar-ho i estic totalment d'acord i estic segur que també ho seria el doctor Robin Bloor. En particular en una startup, estàs centrat en ser una pime sobre el valor particular de la proposta que busques crear com a part del propi negoci de startup i, probablement, no hauràs de ser expert en tot, per tant, un gran consell. Però moltes gràcies, una fantàstica presentació. Respostes i preguntes realment excel·lents. Eric, et tornaré a donar-li a conèixer perquè probablement hem passat deu minuts amb el pas del temps i sé que t’agrada apropar-te a les nostres finestres horàries.

Eric Kavanagh: Està bé. Tenim almenys un parell de bones preguntes. Deixa'm llançar-ne una. Crec que heu respost a alguns dels altres. No obstant això, una observació i una pregunta molt interessants d’un assistent que escriu, de vegades els projectes àgils tenen que el modelador de dades no tingui tota la imatge a llarg termini i, per tant, acabin dissenyant alguna cosa en un sprint i després hagin de redissenyar en sprint tres o quatre. Això no sembla contraproduent? Com podeu evitar aquest tipus de coses?

Ron Huizenga: És només la naturalesa àgil que no anireu a assolir tot absolutament bé en un esprint determinat. I això realment és part de l’esperit d’àgil, és: treballar amb ell - anireu fent prototips on treballeu el codi en un sprint determinat i hi fareu perfeccionaments. I una part d’aquest procés és que estàs lliurant coses que l’usuari final ho veu i diu: “Sí, està a prop, però realment necessito que també faci una mica més.” De manera que no només afecta el disseny funcional. del propi codi, però amb molta freqüència hem de modificar o afegir més estructura de dades a sota d'aquestes coses per oferir el que l'usuari vol. I tot és un joc just i és per això que realment voleu utilitzar les eines d’alta potència, perquè podeu modelar molt ràpidament i fer aquest canvi en una eina de modelatge i, a continuació, generar el DDL per a la base de dades amb la qual els desenvolupadors poden treballar. canviar encara més ràpidament. Els estalvieu que haureu de fer aquesta codificació manual, tal com fos, de les estructures de dades i els deixeu concentrar-vos en la lògica de programació o aplicació que més coneixeu.

Eric Kavanagh: Té sentit complet. Vam tenir un parell de persones només fent preguntes específiques sobre com es pot vincular tot això amb l'eina. Sé que heu passat una bona estona a través d’exemples i heu estat mostrant algunes captures de pantalla sobre com realment feu servir aquest tema. Pel que fa a tot aquest procés de sprint, amb quina freqüència veieu que el joc a les organitzacions enfront de quantes vegades veieu processos més tradicionals en què les coses només s’aconsegueixin, s’amaguen i s’allunyen més temps? Quina importància té l’enfocament de l’estil sprint des de la vostra perspectiva?

Ron Huizenga: Crec que ho veiem cada cop més. Ho sé, diria, probablement en els darrers 15 anys, en particular, he vist molt més una adopció de persones que reconeixen que realment han de tenir un lliurament més ràpid. Així, he vist que cada cop són més les organitzacions que salten a la via àgil. No necessàriament del tot; poden començar amb un parell de projectes pilot per demostrar que funciona, però n’hi ha alguns que són molt tradicionals i s’ajusten al mètode de la cascada. Ara bé, la bona notícia és, per descomptat, que les eines funcionen molt bé en aquestes organitzacions també per a aquest tipus de metodologies, però tenim l'adaptabilitat a l'eina perquè els que salten a bord tinguin les eines a la caixa d'eines a els seus dits. Coses com la comparació i la combinació, com ara les capacitats d’enginyeria inversa, de manera que puguin veure quines són les fonts de dades existents, de manera que poden comparar i generar els scripts DDL incrementals molt ràpidament. I quan comencen a abraçar-ho i veuen que poden tenir la productivitat, la seva inclinació a abraçar-se àgilment augmenta encara més.

Eric Kavanagh: Bé, això és fantàstic. Acabo de publicar un enllaç a les diapositives que hi ha a la finestra de xat, així que comproveu-ho; és una mica per a tu una mica. Disposem de totes aquestes transmissions web per a la seva posterior visualització. No dubteu a compartir-los amb els vostres amics i companys. I Ron, moltes gràcies pel vostre temps avui, sempre us agrada participar al programa, un autèntic expert en la matèria i és obvi que coneixeu les vostres coses. Així doncs, gràcies a vosaltres i gràcies a IDERA i, per descomptat, a Dez i al nostre propi Robin Bloor.

I amb això us acomiadarem, amics. Gràcies de nou pel vostre temps i atenció. Us agraïm que us encaixeu durant 75 minuts, això és un bon signe. Bons nois, en parlarem la propera vegada. Adeu.

Modelització de dades en un entorn àgil