Angel "Java" Lopez

NET, Java, PHP y Desarrollo de Software

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

.NET

ASP.NET

Windows Form

VB.NET

C#

Sitios

Blogs

February 2008 - Posts

Jornadas Agiles 2008: los Poppendieck en Buenos Aires

Se siguen preparando las Jornadas Agiles 2008. Se ha confirmado la presencia de Mary y Tom Poppendieck, que darán un curso de dos días sobre Lean Software Development.

Leemos en el sitio del evento:

Ágiles 2008, las primeras jornadas latinoamericanas sobre metodologías de desarrollo ágil, tienen como objetivo ser el principal punto de encuentro de profesionales de IT de la región, interesados en compartir sus experiencias, debatir y capacitarse en temas relacionados con el desarrollo de software a través del uso de estas metodologías.

Esta primera edición, a realizarse en Buenos Aires durante el mes de octubre de 2008, contará con la presencia de especialistas locales y del exterior, quienes compartirán su conocimiento a través de charlas y mesas de debate que se llevarán a cabo durante los dos días que durará el evento. A su vez, previo a la realización de las jornadas, tendrá lugar el dictado de cursos de certificación oficial -como el Certified Scrum Master training- a definirse de acuerdo al interés de los posibles participantes.

Ágiles 2008 es un evento sin fines de lucro, el cual es organizado por entusiastas del tema y abierto a cualquiera que tenga ganas de participar.

Ágiles 2008, the first Latin-American conference about agile development methodologies, hopes to become the main meeting point for IT professionals interested in sharing experiences, discussing and learning about topics related to agile software development.

This 1st edition, to have place in Buenos Aires during October 2008, will have the collaboration of local and foreign agile specialists, who will share their knowledge through lectures, round tables, and discussions during this two-day event. Prior to the conference, special training courses will be held -such as the Certified Scrum Master training and the Lean Software Development course- which will be defined according to the assistants' interests.

Ágiles 2008 is a non-profit event, organized by agile enthusiasts and open to anyone willing to participate. If you want to be part of Ágiles 2008 organization you can post your comments and suggestions, as well as get informed about the latest news, at http://jornadasagileslatam2008.wetpaint.com/

Pueden ver más información y colaborar con sugerencias y organización, en:

http://jornadasagileslatam2008.wetpaint.com/

Ahora, para organizar mejor el evento, hay una encuesta que podemos llenar:

http://www.custominsight.com/start/?agiles2008

No lleva más de 3 minutos, y servirá para tener una mejor idea de las expectativas de los asistentes.

Los interesados en metodologías ágiles, pueden participar de la lista (en español):

http://tech.groups.yahoo.com/group/laasd/

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Posted Saturday, February 16, 2008 9:41 AM by lopez | with no comments

El lenguaje D de Microsoft

Desde hace décadas, está rondando la idea de declarar la intención de un programa, en lugar de especificar los pasos a realizar en un algoritmo. Un intento temprano, ha sido el lenguaje Prolog, que de alguna forma alimentó al llamado proyecto de quinta generación de Japón, en los ochenta del siglo pasado.

Un lenguaje declarativo que ha tenido más éxito y aceptación, es el SQL. De alguna forma, lo podemos considerar declarativo: le indicamos qué queremos, más que cómo conseguir el resultado. El "engine" de base de datos resuelve nuestra consulta, armando un plan de ejecución, sin que tengamos que dar explícitamente cada paso a realizar ante el pedido "select * from customers".

Yo soy un creyente de la abstracción y de los modelos, como se puede ver en mis artículos sobre generación de código. La idea es: no hace falta codificar directamente los pasos y estructuras necesarios para un sistema, sino que se puede describir el modelo abstracto, y luego, mediante transformaciones, usando templates y acciones, pasar a código concreto. Faltaría agregar inteligencia artificial, y otras yerbas, para pasar de un modelo de sistema, a un sistema concreto.

Microsoft ha venido trabajando desde varias puntas, en la adopción de lo declarativo, y de modelos. Por una parte, su soporte de Domain Specific Languages (DSL), la creación de Software Factories, la aparición del Entity Framework, los modelos adoptados en, por ejemplo, Web Service Software Factory, y otros, apuntan a esa dirección.

Ahora, en el proyecto Oslo, están diseñando un lenguaje declarativo, llamado informalmente, lenguaje D, incluido dentro ese proyecto. No tengo mucha información al respecto, pero algunos enlaces y extractos:

http://www.infoworld.com/article/07/10/30/microsoft-oslo_1.html

Oslo is a codename for a set of technical investments that will be delivered in the next major versions of Microsoft's platform products, said Steven Martin, director of product management in the company's Connected Systems division. These products include Visual Studio, System Center, BizTalk Server, BizTalk Services, and the .Net Framework. Beta releases of Oslo technology are due in 2008.

"Oslo is a set of technologies that we think will help take model-driven design mainstream," Martin said.

http://www.infoworld.com/article/08/02/11/gates-declarative_1.html

"You should be able to do things on a declarative basis," Gates continued. But this has not caught on partially because of weak data models -- first Codasyl and then relational. Stronger data models since have emerged, such as rich schemas around XML as well as modeling work being done by Microsoft and others, Gates said. "We're bringing the data models up to be much, much richer, and we think in that environment, a lot of business logic can be done in a declarative form. Now, we haven't totally proven this yet. We're doing a lot of internal developments ourselves that way," including some Microsoft business applications, he said.

(Justamente, en AjGenesis se tomó la base de tener un buen modelo de "datos", para construir sobre él, aunque no es específicamente de datos, sino de entidades genéricas de negocio. El tema a investigar es cómo colocar en un lenguaje declarativo un modelo de la lógica de negocios).

http://www.eweek.com/c/a/Application-Development/Microsoft-Preps-New-Modeling-Language/

Microsoft, which in October officially announced its intent to support model-driven development in a broad strategy known as “ Oslo,” is beginning work on a new declarative programming language, a supporting editing tool and other components of the initiative, according to sources close to the company.

http://blogs.zdnet.com/microsoft/?p=1159

D is a key component of Microsoft’s Oslo software-oriented architecture (SOA) technology and strategy. Microsoft outlined in vague terms its plans and goals for Oslo in late fall 2007, hinting that the company had a new modeling language in the works, but offering no details on what it was or when the final version would be delivered.

D will be a declarative language aimed at non-developers, and will be based on eXtensible Application Markup Language (XAML), sources, who asked not to be named, said.

Sources close to Microsoft confirmed the existence of D, which they described as a forthcoming “textual modeling language.” In addition to D, sources said, Microsoft also is readying a comlementary editing tool, code-namd “Intellipad,” that will allow developers to create content for the Oslo repository under development by Microsoft. (Intellipad is the “Emacs.Net” text editor for which Microsoft has seeking developers over the past couple of months.)

What, exactly is a “declarative” programming language? According to that old standby, Wikipedia, a program is “declarative,” if it describes what something is like, as opposed to how to build it. To some, a declarative program needs to be written in a purely functional programming language. HTML Web pages are examples of declarative programs.

Veremos cómo evoluciona el tema.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Posted Wednesday, February 13, 2008 1:30 PM by lopez | with no comments

Guidance Share: de todo sobre seguridad, rendimiento y más

El bueno de J.D. Meier, Program Manager en Pattern & Practices de Microsoft, ha armado un sitio estupendo, un wiki, para compartir su conocimiento y el de otros, sobre Ingenería de Software, orientada a tecnologías Microsoft, aunque creo que pueden ser de utilidad para otros ambientes y tecnologías.

Pueden visitar

Software Guidance Share

Ahí encontrarán:

Tech Centers

Performance

Security

Excelente, Meier, cumpliendo con el "mindset" Don't be a canuto.

Gracias al "Pibe Woloski", gran comedor de cangrejos, por aportar este enlace.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Posted Sunday, February 03, 2008 2:13 PM by lopez | with no comments

Una breve historia de CMMI

Cuando me inicié en el desarrollo de software, fines de los 70, comienzos de los 80, la situación de software, hardware, recursos, metodologías, formas de trabajo, eran totalmente diferentes a las de ahora. Los mainframe eran (por lo menos en Argentina) el equipo ha usar. Los sistemas eran ejecutados dentro de un centro de cómputos, todo controlado. Los usuarios finales sólo recibían el resultado de proceso, posiblemente, horas y horas de listados de impresoras de puntos, dando información que la gerencia debía digerir, tal vez una vez al mes.

Pero el resto del mundo, ya estaba cambiando. La aparición de la computación personal, y de software para esos sistemas, la adopción luego de las redes para ese tipo de máquinas, el incremento espectacular del acceso a esos recursos por los usuarios finales, y la creación de un nuevo mercado, el software de aplicaciones, cambió todo el horizonte.

Antes de ese cambio, el control y la disciplina en el procesamiento de datos se conseguía por lo que se llamó "estabilidad por limitación". No cualquiera podía programar, no cualquiera accedía a sistemas de información, no cualquiera los operaba y los usaba. Pero al cambiar el entorno, surgieron problemas en mantener la estabilidad de los sistemas. La adopción de nueva tecnología se volvió una ventaja, pero también un problema a manejar. El gobierno de EE.UU. reacciona, estableciendo el Software Engineering Institute en la universidad Carnegie Mellon. El instituto no es una iniciativa privada, sino que está soportado por los impuestos que pagan los norteamericanos. Inicialmente fue "sponsoreado" por el Departamento de Defensa (el DoD), que estaba preocupado por la calidad del software que quería adquirir y soportar (recordemos que en ese tiempo, su preocupación también dió pie a otras iniciativas, como el lenguaje ADA).

En esos momentos, había modelos de manejo de la calidad, principalmente implantados en la industria. La serie ISO 9000 comenzaba a obtener amplia adopción, los japoneses producían innovaciones como entrega Just In Time y Assembly-Line-Control. Six Sigma estaba emergiendo en lugares como Motorola y General Electric.

El SEI toma estudia esas implementaciones, y a los trabajos de americanos expertos y promotores de la calidad, como Philip Crosby, Malcolm Balbridge, George Box y Edwards Deming. Ese esfuerzo dió un primer fruto con la publicación del trabajo de Watts Humphrey en 1987: Managing the Software Process. El libro sintetizaba el pensamiento crítico en el manejo de la calidad, y aplicaba una serie de pasos prácticos, organizados en niveles de maduración. Una empresa podría entonces ir implementando en forma escalonada, esos niveles.

Ese mismo año, el SEI usa lo planteado por Humphrey como base para la primera versión del Capability Maturity Model.

Me gustaría en otros post ir viendo más en detalle qué eso de CMM, y cómo evolucionó, hasta llegar a distintos "flavors", y al CMMI-Dev, por ejemplo. Pero ahora, revisemos dos puntales del CMM.

El CMM está fundado en dos bien conocidos principios de calidad. El primero: "el proceso funciona". Es decir, que si una organización o grupo tiene que producir un resultado, sea producto de software o un auto, se logra asegurar una mejor calidad usando una serie de pasos definidos, un proceso, que usando cada vez lo que se nos ocurra.

El otro gran principio es "la organización que ejecuta es un organización que aprende" ("performing organization is a learning organization"). Ante el cambio continuo de tecnologías y ambiente de mercado, una organización exitosa debe no quedarse en el tiempo, o anquilosarse en un proceso fijo, sino que debe aprender, y aprovechar las lecciones aprendidas para mejorar justamente el proceso. La organización opera siempre en "modo de aprendizaje". La actitud "ya lo sabemos todo" no se acepta. La organización debe tener conciencia de lo que sabe, de lo que aprende, de lo que puede mejorar, y de los cambios que acontecen.

Esos dos principios, si bien venían de otros ámbitos, eran nuevos en la industria del software. El DoD creyó en esos principios, y adoptó el modelo. Luego vendrían otros "early adopters". En 5 años, más de 5000 organizaciones de IT habían adoptado el CMM como el modelo de calidad. Aparecieron varios CMM para distintas disciplinas.

Con el tiempo, se integraron varios de esos "flavors" en el CMMI (I de integrado), en 1999. En 2006, quedó establecido el CMMI-Dev para desarrollo, y el CMMI-ACQ para compras.

En los últimos años, hemos visto cómo cada vez más empresas, fuera de EEUU, y en mi país, Argentina, han ido adoptando e implementando las ideas y niveles de CMMI. Y en los contratos, cada vez más se pide al proveedor cumplir con algún nivel.

Fuente consultada: Process Improvement Essentials, CMMI, ISO 9001, Six Sigma, James R. Persse, O'Reilly. Gracias a la biblioteca de Southworks!

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Posted Saturday, February 02, 2008 8:33 AM by lopez | with no comments

Microsoft Conference Call

El gigante de Redmond tiene una debilidad por las "conference call" con sus equipos externos o internos en otras sucursales. Es frecuente tener que esperar a que la conferencia esté habilitada. Esto es lo que nadie había contando: qué pasa cuando dos "geeks de conference call" escuchan la música de espera....

(Enlace enviado por el gran comedor de cangrejos, "El Pibe" Woloski)

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Posted Friday, February 01, 2008 9:09 AM by lopez | with no comments