12/2/08

12 de febrer de 2008 - Com treballem a NO

A petició de l'Abel (company d'Altentic) us explicaré tècnicament amb quines eines i quins entorns treballem a la meva empresa actual (evito ficar noms d'empresa en el blog perque estic descrivint una mica el com funciona... i paso de problemes que aquestes coses últimament estan molt de moda!)

La meva empresa que l'anomenare NO distribueix un programa de prevenció i detecció de fraus bancaris, estafes, terrorisme, etc... En definitiva.. el tema que esta de moda actualment (una empresa que ha sabut nèixer en l'època adecuada i en el lloc adecuat). Aquest producte s'instala als diferents clients que són bancs i companyies d'assegurances de tot el món. Cadascú té la seva versió personalitzada del producte (com es lògic).

Com aconsegueixen separar les diferents fases dels projectes?? Tenim el NO Core que es el cos central de l'aplicació. Aquest és el principi bàsic per a que aquesta funcioni (conté tots els conectors amb la base de dades, la gestió de les capes MVC, etc...) Està fet en Java Struts, Java Spring i Java Hibernate! Tot aixó ben presentat en els seus corresponents arxius XML i amb els seus properties, JavaDocs, etc... Tot aquest codi el manté un equip que només s'encarrega de que el Core estigui sempre al 100% (van amb el Bugzilla com bojos), son el Core Dev Team. Alhora, hi ha el QA Core Team que s'encarrega nomes de fer proves i mes proves amb JUnit i Jtest sobre el core i reporta errors mitjancant Bugzilla al Core Dev Team.

El core, té una eina feta per NO que permet dissenyar pantalles, acoplar-les a la base de dades, disenyar workflows, etc.. (una pasada d'editor!). Mitjancant aquest editor estem els de Customer Engineering Team (CET) que ens dediquem a tunejar el Core per a que s'adapti als requeriments de cada client. El CET esta dividit en diferents clients i som uns 5 - 6 per client (depenent de les coses que aquests demanin). Aquests CET el que realitzem és desenvolupar els requeriments, bugs, etc.. dels clients mitjantcant el screen configurator (la eina que us he comentat abans) i tocant XML i codi Java directament.

A part, l'eina de NO té moltes subeines que depenent si el client paga més o menys es van acoplant al Core. El CET tambe treballem realitzant noves eines o mantenitn-les. Per exemple: jo ara estic en un equip de 13 persones, jo estic fent els REPORTS (informes) que ha de treure una nova eina que es diu Enterprise Investigator Management. Els reports (per a qui li interessi) els fem mitjancant Apache Escape Velocity (una eina per fer plantilles per a reports). Aquests reports van directes a les organitzacions mundials de recerca del crim organitzat i dels fraus bancaris. (TOT UN MÓN)

Com esta tot organitzat? Tenim un CVS on tenim tot el codi font i després, cada projecte va fent els seus Tags, Branches, etc... tot depenent de les releases que es comprometi a fer cada equip amb el client.

El QA Team (quality team) s'encarrega de provar exahustivament cada release (sigui pel client que sigui) i ens reporta qualsevol problema.

El programa de NO esta dissenyat per funcionar en qualsevol servidor (Websphere, JBOSS, Apache, etc..) i per qualsevol base de dades potent actual (Oracle, MySql, DB2, etc...).

Nosaltres desenvolupem mitjantcant Eclipse Europe (principalment) encara que hi ha gent amb l'IBM Websphere i altres instalat... com que és independent del servidor.. cadascú tria lo que li agrada mes!

A part tenim un Microsoft Sharepoint on pots trobar qualsevol cosa de documentació. Mitjançant el Sharepoint, pots editar, visualitzar, controlar versions etc.. de cada document que es genera) Ahhhh i per cert... es genera documentació per a tot (Disenys funcionals, tècnics, excels de control, proves, documents de les reunions, etc....!)

1 comentaris:

Santa ha dit...

la mare que em va parir que ben organitzat tot plegat... com a foros xD pinta molt bé això nanu!