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

Proyecto Hogwarts

En los últimos meses, estuve (y sigo) trabajando en un proyecto interno para un cliente (@southworks) llamado el Proyecto Hogwarts. El Product Owner es el bueno de @MartinSalias, y el único miembro permanente del equipo soy yo. Hemos recibido ayuda y retroalimentación de revisores internos, y estamos trabajando duro para entregar una versión beta del entregable inicial.

Pero ¿Qué es el Proyecto Hogwarts? Pudieron haber leígo mis tweets, anunciando cuándo trabajo en el proyecto, pero sin dar mayores detalles. Recuerden, es un proyecto interno para un cliente, así que no está disponible públicamente. Posiblemente, en elfuturo, más información y entregables del proyecto estén públicos. Pero aún así, puedo escribir algunas ideas base y algunos objetivos del proyecto (desde aquí, le pido a mi Product Owner escribir en su blog clarificaciones adicionales :-).

Ya sabemos que el desarrollo de software es una gran tarea, y cada proyecto no trivial necesita del auxilio de montones, parvas de técnicas, habilidades, conocimiento de parte de un grupo de desarrolladores, usualmente trabajando en un equipo. Pero si Uds. tienen una software factory o una consultar, uno de los problemas que enfrentan es la escasez de desarrolladores con experiencia. Una forma de dar más “seniority” a su grupo de programación, es incrementando sus habilidades y conocimientos. Es en este contexto que el Proyecto Hogwarts ha sido creado (el nombre Hogwarts refiere al colegio de magia al que acude Harry Potter)).

Las salidas concretas del proyecto son entregables como notas, presentaciones, ejemplos, ejercicios, evaluaciones, y más (pensamos en videos, libros). Hay varios objetivos en el proyecto, así como una misión y visión. Pero la idea básica es entregar a desarrolladores de software para incrementar sus habildiades, conocimientos y darles más “seniority”.

Hemos escogido estos temas para atacar en los primeros cursos:

- Test Driven Development

- Inversion of Controls

- Mocking y librerías

- Principios SOLID

- El uso de repositorio de código y otras herramientas esenciales

- Escribir parte de una aplicación tipo mundo-real usando los nuevos conocimientos y habilidades adquiridos.

Pero ¿cómo enseñar esto a un grupo de programadores? Estamos explorando caminos a emplear. Siguiendo los principios ágiles, estamos entregando partes del proyecto, para conseguir retroalimentación de nuestros compañeros de trabajo y desarrolladores. Lo recibido será usado para pulir el material, cambiar direcciones, o tomar nuevos rumbos enla forma de hacer las cosas. Pero ahora, en principio, estamos entregando:

- Material para el instructor, así cualquier instructor con experiencia puede tomar el material de cualquier curso y darlo para una audiencia. El material tiene presentaciones, notas explicando los principales puntos, ejemplos, ejercicios, y evaluaciones, podemos agregar máquinas virtuales para usar durante la práctica de algún ejercicio.

- Bibliografía y recursos adicionales.

- Bibliotecas de software que usamos en los ejemplos y ejercicios.

Algunos puntos clave:

- No es sólo práctica. No nos concentraremos en una sola tecnología, plataforma o lenguaje. Las versiones iniciales de los entregables están orientados a .NET y C#, basado en las necesidades actuales del cliente. Pero toda la base de los cursos podría ser readaptada a otras tecnologías y lenguajes. Necesitamos conocer PORQUE aplicamos TDD o un principio SOLID. Queremos gente pensante, no “repeating monkeys” :-)

- No es sólo teoría. Podemos ver este curso como aprender guitarra. Uno necesita practicar lo que el instructor nos enseña.

- Necesitamos ejemplos, no sólo presentaciones con lindos gráficos.

- Necesitamos ejercicios, alguno básico, otros más avanzados.

- Necesitamso practicar en una aplicación real, para integrar lo que aprendimos.

- Necesitamos “malos” y “mejores” ejemplos y soluciones, para ir entendiendo desde la base por qué elegimos un camino u otro, por qué adoptamos tal patrón y cuáles son los problemas que trata de solucionar, en vez de simplemente adoptarlo sin mayor meditación, por nos lo dicen que es “cool” o “buena práctica”.

- Quien aprende necesita ser evaluado. Y tanto más importante, necesita recibir retroalimentación sobre sus fortalezas y debilidades, para ayudarlo en su plan de carrera, en su mejora continua.

Una vez las versiones iniciales sean revisadas y mejoradas, el próximo paso será entregarlas a gente de la comunidad. Uno de los objetivos (uno ambicioso) es crear un movimiento sostenido para ayudar a desarrolladores de software para que aumenten sus habilidades, mejoren en su profesión, acá en Argentina, y esperamos, en otros países.

Estamos trabajando en la primera implementación de los cursos de TDD y de IoC, que están siendo revisados internamente. Quiero ir escribiendo posts, dando visibilidad a recursos, ideas, material producido, de que se está armando en Hogwarts.

Wingardium Leviosa!!

Nos leemos!

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

Published Fri, Mar 26 2010 14:10 by lopez

Comments

# re: Proyecto Hogwarts@ Friday, March 26, 2010 3:58 PM

Iniciativa impecable.

Espero ansioso poder ver algo del material y conocer que ideas/formas de aplicación tienen.

Aplauso, medalla y abrazo!

Sigan adelante toda una comunidad agradecida.

luis petek

# Social comments and analytics for this post@ Friday, March 26, 2010 4:08 PM

This post was mentioned on Twitter by codear: Proyecto Hogwarts http://goo.gl/fb/y4nc #net #cursos #desarrollodesoftware #tdd

uberVU - social comments

# re: Proyecto Hogwarts@ Saturday, March 27, 2010 1:17 PM

Muy buena iniciativa Angel, se nota tu marca personal (aka Don't be a "canuto"!) y con el respaldo de una organización como Southworks, ni hablar, estoy seguro de que dará excelentes frutos.

Por ahora tengo muchos interrogantes e ideas, pero no quiero inundarte con muchas de ellas, pues entiendo que progresivamente se irá liberando más información y habrá menos reserva. El caso es que este asunto a mi, como a muchos, me interesa mucho, pues, como sabes hace tiempo que trabajo en una iniciativa similar, ALT.NET Hispano, y estoy convencido de que vale la pena trabajar duro por este tipo de iniciativas.

Precísamente noto que uno de los objetivos es forjar "un movimiento" para promover el desarrollo ágil de software, para llenar ese gran vacío que aún tenemos en la región, pero bueno, tal vez eso sea un tema para un blog post. Uno a veces quisiera contar con más tiempo extra y recursos, son tantas las ideas que hay por materializar!, por ejemplo, en ALT.NET Hispano hemos querido iniciar un grupo de estudio o club de lectura, un libro y proyecto OSS colaborativo...

Algo que pensamos alguna vez y que veo que pueden realizar ustedes, es el armar un paquete completo de recursos (proyectos de software, libros, screencasts, webcasts, etc.) en serie, siguiendo un orden lógico, progresivo y complementario, que pueda ayudar hasta al más novato a ir escalando en su "seniority", osea, poder componer una KB apropiada para todos los niveles de experiencia y conocimiento, gradualmente, claro.

Para todo esto es vital el respaldo de una organización y por lo que conozco de Martín Salías y SouthWorks, estoy seguro que le imprimirán mucha calidad a este proceso. Ahora, sin metérmeles mucho a la cocina... no me queda claro es que tan abierto a la participación y contribución va a ser este proyecto, mencionas que SouthWorks es el cliente y a la vez hay un gran interés generoso para la comunidad de desarrolladores en general; no digo que esto sea contradictorio, al contrario, me parece un buen complemento, solo que quisiera saber cómo es el mecanismo de colaboración, los intereses y limitaciones para las partes, disculpa si soy imprudente con mis inquietudes, no son cuestionamientos sino, simplemente quiero saber más :D .

En cualquier caso, nuevamente te felicito a ti, a Martín y a la gente de SouthWorks; si en algo puedo proporcionar mi humilde colaboración, en algún momento, lo haré con gusto y estoy seguro de que más de uno estaría gustoso.

Jorge Gamba

# Más allá de hablar de buenas prácticas@ Sunday, April 04, 2010 4:43 AM

Esta semana pasada, Hari Hariri ( @hhariri ) escribió un interesante post: Loved the show but I have

Angel "Java" Lopez

# re: Proyecto Hogwarts@ Thursday, April 15, 2010 4:00 PM

Qué bueno... por los involucrados está condenado al éxito ;-)

Mantengan a la audiencia informada, espero saber más desde Twitter también.

Ezequiel

# ALT.NET Hispano VAN sobre TDD@ Friday, April 16, 2010 4:40 AM

De nuevo, este sábado tendremos des-conferencia virtual, organizada por la gente de la comunidad ALT

Angel "Java" Lopez

# re: Proyecto Hogwarts@ Monday, April 19, 2010 10:25 AM

Muy bueno, me gusta porque me parece un enfoque muy completo.

Me refiero a:

- No es sólo teoría. Podemos ver este curso como aprender guitarra. Uno necesita practicar lo que el instructor nos enseña.

- Necesitamos ejemplos, no sólo presentaciones con lindos gráficos.

- Necesitamos ejercicios, alguno básico, otros más avanzados.

- Necesitamso practicar en una aplicación real, para integrar lo que aprendimos.

Daniel Calvin

# Un ejemplo de TDD@ Thursday, April 22, 2010 12:42 PM

Ya comenté sobre el Proyecto Hogwarts : el desarrollo de material, entregables, que sirva de soporte

Angel "Java" Lopez

# Ejemplo de TDD: Implementando una pila (parte 1)@ Wednesday, April 28, 2010 5:42 AM

Siguiendo con los ejemplos que se han armado para el material del Proyecto Hogwarts , quiero hoy publicar

Angel "Java" Lopez

# Ejemplo de TDD: Implementando una pila (Parte 2)@ Tuesday, June 29, 2010 10:11 AM

Ya he escrito sobre el: Proyecto Hogwarts y publicado dos posts sobre el tema TDD (Test-Driven Development

Angel "Java" Lopez

# Proyecto Hogwarts: Taller de TDD en Buenos Aires@ Tuesday, July 06, 2010 8:26 AM

Como parte del: Proyecto Hogwarts se están preparando varios cursos (TDD, Inversion of Control, Mocks

Angel "Java" Lopez

# TDD: Primeros pasos en Visual Studio@ Tuesday, July 06, 2010 9:43 AM

He estado escribiendo algunos posts sobre TDD (Test-Driven Development) relacionados con el curso en

Angel "Java" Lopez

# Introducción a IoC y DI: Hello, world, flexible@ Tuesday, July 13, 2010 5:29 PM

Dentro del Proyecto Hogwarts , estamos produciendo material para un curso de Inversion of Control y Dependency

Angel "Java" Lopez

# re: Proyecto Hogwarts@ Tuesday, July 20, 2010 1:30 PM

alguna vez lo vas a poner en publico tu proyecto????

Kevin

# re: Proyecto Hogwarts@ Tuesday, July 20, 2010 3:59 PM

Kevin: Si, la idea es ponerlo publico esta semana, con el material de TDD.

Nos leemos!

Angel "Java" Lopez

lopez

# Introducción a IoC y DI: Un ejemplo web@ Wednesday, July 21, 2010 5:21 AM

Sigo posteando material de lo que se está produciendo en el Proyecto Hogwarts . Esta vez, sobre el tema

Angel "Java" Lopez

# Proyecto Hogwarts: Sitio en línea, Southworks Professional Improvement Program@ Friday, July 23, 2010 4:42 AM

Después de haber publicado varios posts de avance sobre el Proyecto Hogwarts , finalmente pudimos hacer

Angel "Java" Lopez

# Introducción a IoC y DI: otro ejemplo web@ Wednesday, July 28, 2010 5:23 AM

Sigamos explorando Inversion of Control y Dependency Injection, dentro del Proyecto Hogwarts . Anteriores

Angel "Java" Lopez

# Definiendo Inversion of Control and Dependency Injection@ Thursday, August 12, 2010 3:50 AM

Después de algunos ejemplos de código, dentro del Proyecto Hogwarts : Introducción a IoC y DI: Otro ejemplo

Angel "Java" Lopez

# chex system@ Wednesday, January 12, 2011 9:01 PM

greta page

chex system

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: