May 2007 - Artículos
+
Esta pregunta suele hacerse en muchas ocasiones.
La tecnología ClickOnce de Microsoft, posibilita que pueda usarse en navegadores Web Microsoft Internet Explorer, pero... ¿podemos usar esa tecnología en navegadores Web Firefox?.
La respuesta es no directamente, pero sí con una ayudita.
James Dobson, ha desarrollado una extensión para Firefox, que permite usar la tecnología ClickOnce en estos navegadores Web. Algo que quizás debería haber hecho Microsoft o sobre lo que debería haberse preocupado, pero eso significaría cierta debilidad admitiendo cierta relevancia o importancia a un navegador Web que compite estrechamente con Internet Explorer.
El caso es que James, ha publicado sucesivas actualizaciones de su extensión, y en estos momentos contamos desde el mes de Abril pasado con la versión 0.6 de la extensión del uso de la tecnología ClickOnce para Firefox.
Podrás acceder a las notas informativas de caracter general en este enlace.
Y podrás acceder a la extensión FFClickOnce 0.6 para Firefox aquí.
Espero que os resulte útil esta información.
El otro día, me puse a hacer un pequeño y simple ejemplo con ASP.NET AJAX 1.0, el típico ejemplo Hola Mundo, nada especial, pero había usado otros controles de AJAX de otros fabricantes y los ejemplos de ASP.NET AJAX que había visto, estaban hechos y sinceramente, tampoco me he pegado mucho con ellos.
Para ello, instalé previamente las extensiones de ASP.NET AJAX 1.0 para Visual Studio 2005.
Instalación correcta y todo funcionando perfectamente (lo normal y esperado vamos).
Inicié Visual Studio 2005 y seleccioné la creación de un nuevo Sitio Web (por aquello de hacer algo).
Dentro de las plantillas que aparecen, me fijé en la plantilla ASP.NET AJAX-Enabled Web Site, una plantilla que contiene la base de creación de una aplicación con ASP.NET AJAX. Pero demasiado fácil pensé,... así que como yo soy así, decidí crear el proyecto como Sitio Web ASP.NET y a partir de ahí meter los controles ASP.NET AJAX que necesitara. Vamos,... iniciar un proyecto en blanco como lo haría creo yo el 99% de los seres humanos que van a iniciar un proyecto ASP.NET...
Así que inicié mi flamante proyecto vacío, inserté en mi formulario Web un control Button, un control ScriptManager y un control UpdatePanel. Dentro del control UpdatePanel un control Label,... y algo de código por supuesto. Un poquito de todo, pero nada del otro mundo.
Ya estoy listo para probar mi primer ejemplo de ASP.NET AJAX 1.0... así que F5 al canto para ejecutarlo y ver que tal... total... es un pequeño ejemplo pero que debería funcionar como un torpedo.
Pero... ¡zás!... error de script en la página... mmmm... analizo el error y observo que hay dos errores en dos sitios diferentes del script de la página Web que dicen: "'Sys' no está definido".
Miro el código fuente generado en la página Web y veo más allá que tengo estas instrucciones con el Sys delante:
Sys.WebForms.PageRequestManager._initialize('ScriptManager1', document.getElementById('form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tUpdatePanel1'], ['Button1'], [], 90);
Sys.Application.initialize();
Vaya... esto se complica... porque juraría que no es Sys, sino System... pero a lo mejor es Sys... sea lo que sea, este error es muy raro..., un sudor frío y porque no decirlo,... el miedo, se apodera de mi ser por un momento, pero claro... tengo otra alternativa para probar si realmente es un error catastrófico o si es algo que no he tenido en cuenta... mi Hola Mundo no hace gran cosa, pero igual se me ha pasado algo... así que iniciaré un nuevo proyecto usando esta vez la plantilla ASP.NET AJAX-Enabled Web Site.
Así que raudo y veloz me tiro en plancha a por esa plantillita, repito mi pequeño ejemplo, pulso F5 y ¡zás!, ¡funciona!.
A ver... tiempo muerto como hacen en un partido de baloncesto. Vamos a analizar la situación. He seguido los mismos pasos, en un sitio da error y en el otro funciona... la diferencia es que en uno no he usado la plantilla de ASP.NET AJAX y en el otro sí... bueno, pues a analizar el código.
Lo primero que observo es que el script es correcto, el famoso Sys es así. Está bien escrito. Bien, descartamos eso.
Lo segundo que observo es que el código de toda la aplicación es el mismo y funciona. Bien, descartamos que tengo zarpas en lugar de manos.
Sigo mirando mi aplicación, y como uno ya tiene experiencia en las peleas con .NET, piensa... ¡ese web.config me está mirando con desconfianza!.
¡Je!, vamos a analizar el web.config.
Lo primero que detecto es que el web.config de la plantilla de AJAX tiene más información que el web.config del Sitio Web por defecto.
La primera acción a acometer es copiar y sobreescribir el web.config del sitio con la plantilla de AJAX en el Sitio Web por defecto. Ejecutamos nuestro Sitio Web (el que daba el error de script), y ahora vemos que funciona perfectamente.
Dentro del web.config, observamos que hay un montón de instrucciones que no lleva el web.config de un Sitio Web por defecto.
Estas instrucciones son las siguientes:
<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/> <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/> <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/> <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/> </sectionGroup> </sectionGroup> </sectionGroup> </configSections> <system.web> <pages> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </controls> </pages> <compilation debug="true"> <assemblies> <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </assemblies> </compilation> <httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> </httpHandlers> <httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </httpModules> </system.web> <system.web.extensions> <scripting> <webServices> </webServices> </scripting> </system.web.extensions> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules> <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </modules> <handlers> <remove name="WebServiceHandlerFactory-Integrated"/> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </handlers> </system.webServer> </configuration> |
ASP.NET AJAX 1.0 son unas clases para .NET que van un poco a su bola para entendernos. Si en una página Web inserto un control ASP.NET AJAX, debería funcionar con AJAX a no ser que utilizará alguna configuración especial de generación o gestión de AJAX. Para hacer justamente eso, ASP.NET AJAX utiliza el web.config.
Así que si te encuentras con que recibes un error en tu página Web que dice "'Sys' no está definido", acuérdate de esto que te he indicado aquí para resolver el posible problema.

¿Qué será esto de Microsoft Popfly? 
Bueno, ahora lo explicaré brevemente, pero primero anunciar que Microsoft ha sacado a la luz Popfly en su versión Alpha.
Para usarlo deberás registrarte primero y esperar turno (como en las pescaderías vamos), pero lo que sí puedes ir haciendo, es entrar en su sitio Web para saber con más precisión de que va esto de Microsoft Popfly.
Os adelantaré que Popfly es una Web enfocada a compartir y crear nuestros gadgets, mashups, experiencias con Silverlight, páginas Web, aplicaciones, etc., dentro de lo que algunos denominan como redes sociales.
Popfly está dividido en dos partes principales Popfly Creator y Popfly Space.
- Popfly Creator está formado por un conjunto de herramientas visuales online que permitirán crear nuestros mashups y páginas Web.
- Popfly Space está formada por la Comunidad online de los creadores anteriores. En este espacio de trabajo, se pueden publicar, compartir, valorar, etc., las contribuciones. Las valoraciones las pueden hacer otros usuarios de la Comunidad con el fin de elegir las contribuciones más populares.
La iniciativa es muy nueva, apenas acaba de ver la luz, está en fase Alfa (Alpha), y bueno, seguramente nos tengamos que armar de paciencia en un principio, pero creo que la iniciativa puede ser muy interesante.
Hay personas de peso en Microsoft, que asemejan esta iniciativa con la revolución de las herramientas Express Edition de Microsoft... veremos dónde acaban los "patitos" de Microsoft Popfly y lo que pueden llegar a hacer por nosotros.
Video presentación (en inglés) sobre PopFly.
Introducción
Muchos conoceréis ya la Web de Microsoft para almacenar videos. Se denomina Soapbox.
La Web está empezando a tener una interesante popularidad, pero todavía le falta un poquito de empuje.
No obstante, la gente de Microsoft está depositando allí cada vez con más asiduidad, videos de demostración y presentaciones de productos Microsoft.
Pero claro, a veces lo que queremos es descargarnos un video en nuestro disco duro, ya sea para verlo más tarde o para hacer simplemente una copia de seguridad de ese video, y ahí es dónde entra la labor de la utilidad que he desarrollado, Soapbox Downloader 1.0.
Esta utilidad gratuita, de la cuál podéis ver una captura de pantalla en la siguiente imagen, tiene por objetivo descargar los videos de Soapbox de forma fácil.

Instrucciones breves de uso rápido
La aplicación funciona de una forma muy sencilla.
Para ver la url del video, debemos situarnos dentro de la página Web de Soapbox (necesitaremos una cuenta Passport para entrar y estar dado de alta), y debajo del video que queremos ver, encontraremos una opción de nombre "video link". Basta con copiar el texto que aparece al lado de "link" y pegarla en la aplicación.
Suponiendo que tenemos ya la url del video, deberemos copiarla en su lugar correspondiente. Si quiere hacer una demostración de ejemplo, pegue por ejemplo la url de este gracioso video http://soapbox.msn.com/video.aspx?vid=71f27a52-804c-4b7a-b9fa-caed8170dddf, y pulse sobre el botón de descarga de la aplicación.
Se iniciará entonces el proceso de descarga de forma automática.
Por defecto, la descarga se realizará en la unidad C:\, sin embargo, podemos indicar la ruta en la cuál queremos almacenar los videos descargados.
Visualizador de videos
Los videos tienen el formato FLV, por lo que para ver estos videos, requeriremos un visualizador de videos FLV.
Yo te recomiendo el uso del visualizador gratuito de videos FLV, Wimpy FLV Player que a mí me funciona bastante bien. De todos los modos, hay otros visualizadores de videos FLV que encontrarás fácilmente en Internet.
Errores o fallos conocidos
No se han detectado problemas o errores, sin embargo, eso no significa que no se me haya dejado algo.
Si encuentras algún problema, error o fallo en la aplicación, rogaría que me lo comentaras para tratar de arreglarlo lo antes posible.
Espero que sea de tu utilidad.
Por cierto,... no me hago responsable del uso de esta utilidad ni de los posibles errores o fallos que presumiblemente o no pueda generar.
Requerimientos mínimos
- Microsoft .NET Framework 2.0
- Idiomas (inglés y español)
Descarga
Soapbox Downloader 1.0 (53 Kb)
Siempre quise tener esto que os traigo hoy.
Siempre quise hacérmelo yo.
Pero ¿para qué hacérmelo si ya existe?.
La verdad es que es de esas funcionalidades que me apetecía más tenerla que a un tonto una tiza, y nunca lo terminé de abordar por unas u otras razones... hasta que me encontré con QT TabBar, utilidad creada por Quizo, un desarrolladores japonés que publicó la última revisión (más estable) el pasado 12 de Mayo.
La utilidad, desarrollada con Microsoft .NET Framework 2.0, posibilita el tener pestañas en nuestras ventanas del explorador de Windows, algo que siempre quise tener y que hecho de menos en Windows (no se porqué no lo han hecho nunca).
Lo mejor, es que su instalación es realmente sencilla y además de las famosas pestañas, tiene un montón de funcionalidades extra que merece la pena disfrutar.
Además ya he hecho de conejillo de indias, y salvo errores no esperados, los resultados son muy buenos.
Así que si te atreves, te recomiendo usarlo. Luego, no te olvides de expresar tus impresiones. ¡Ah!, sigue las instrucciones de instalación (deberás reiniciar el PC).
Obtendrás más información sobre QT TabBar en este enlace (Manual de la aplicación).
Podrás descargarte la última versión de QT TabBar desde este enlace.
Acabo de terminar un pequeño artículo de cómo crear claves de registro para nuestras aplicaciones .NET.
El artículo y su código, está focalizado a Visual Basic 2005, pero su paso a otros lenguajes como C# es muy sencillo de abordar.
Como todos sabeis, casi todas las aplicaciones Software (WinZip, Adobe PhotoShop, Microsoft Office, etc) requieren que introduzcamos un usuario y una clave de registro, y en otras ocasiones únicamente una clave de registro. Este artículo aborda el cómo llevar a cabo la tarea de partiendo de un usuario, crear su clave de registro con la máscara (xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx).
Como veréis en el artículo, la generación de la clave de registro la podemos complicar tanto como deseemos. Lo importante no obstante, es captar la idea y a partir de ella, adecuarla a nuestras necesidades.
Espero que os guste.
Unas personas de Microsoft, publicaron hace tiempo un libro electrónico en alemán sobre Windows PowerShell.
El libro ha resultado ser un éxito. Sus casi 50 páginas ayudan a aquellos que quieren conocer Windows PowerShell, pero el idioma es una barrera, así que han pasado al ataque y han traducido este libro al inglés.
Esto es justamente lo que os traigo en esta entrada, el acceso directo no sólo al libro, sino a los archivos de ejemplos y documentación adicional sobre Windows PowerShell.
Hoy me he llevado una alegría al abrir el buzón de casa.
Dentro he encontrado el número 11 de la revista The Architecture Journal.
Sin embargo, me gustaría tener todos los números anteriores, aunque sean en pdf, así que me he ido a la Web de la revista y los he localizado.
En este punto me he preguntado... ¿cuántos sabrán de la existencia de esta revista y de cómo obtener los números que han sido publicados hasta la fecha?, así que aquí os indico el enlace para que consigáis este material.

Explicando Scrum a mi abuela
Introducción
El otro día me encontraba hablando con un compañero de trabajo a través del teléfono móvil, cuando mi abuela me escuchó nombrar palabras raras en la conversación.
Una de esas palabras era Scrum, y por la forma en la que hablaba fue lo que más atención la llamó, así que cuando colgué, lo primero que me preguntó fue con quién hablaba, de qué hablaba, y que era eso de Scrum.
Imaginaros la cara que se me quedó, porque... ¿cómo explicar Scrum a mi abuela?.
Aunque mi abuela es muy avanzada para la mayoría de la gente de su edad, la verdad es que no es fácil explicarla muchos de los aspectos tecnológicos emergentes, pero bueno, es mi abuela y tenía que intentar explicárselo de forma convincente.
Aquí, os transcribo aquella inverosímil conversación.
La conversación y sus explicaciones
¿De que hablabas?, parecía interesante eso que decías de Scrum. ¿Qué es exactamente?
¡Ah sí! Scrum es una metodología.
¿Y para que se utiliza?
Se utiliza en mi profesión, en el desarrollo del Software concretamente, aunque hay gente por ahí que la usa o la quiere usar en otras profesiones y áreas.
¿Y para eso del desarrollo del Software tenéis que usar ese tal Scrum?
En realidad no. No es estrictamente necesario.
Scrum por sus características no es válido para cualquier proyecto ni para cualquier persona o equipo de personas. Es más, Scrum según muchos especialistas de esta metodología, es óptima para equipos de trabajo de hasta 8 personas, aunque hay empresas que han utilizado Scrum con éxito con equipos más grandes.
Yo diría que para el 90% de los proyectos y empresas, es una metodología válida, pero no es una metodología válida al 100%. Es más, no hay metodología mejor que otra ni válida al 100% para todas las personas y empresas.
Scrum es por lo tanto, una metodología más de las muchas que hay, y ésta en concreto, se basa en la filosofía del desarrollo ágil que fue expuesto por dos japoneses alrededor del año 1986.
Siempre estos japoneses... has dicho desarrollo ágil varias veces... ¿que es eso exactamente?, a mí eso sí que me suena a japonés o a chino
El desarrollo ágil pone de manifiesto básicamente lo siguiente:
- El mercado actual es altamente competitivo y la tecnología es muy cambiante. En el desarrollo del Software se pide básicamente rapidez, calidad y reducción de costes, pero para asumir estos retos, es necesario tener agilidad y flexibilidad.
- Los ciclos de desarrollo por otro lado, acostumbran a ser largos, y lo que se exige por otra parte, es que esos ciclos sean lo más cortos posibles.
El desarrollo ágil aboga por estas premisas principalmente.
Hay más detalles, pero no los voy a abordar ahora para no marearte con información que nos desvíe la atención de la propia explicación de Scrum.
Información adicional
Empiezo a entender algo más esto...pero... ¿en qué consiste exactamente eso de Scrum?
Scrum es como decía antes, una metodología ágil.
Obedece a las necesidades anteriormente citadas, y no responde a ninguna moda, sino a una necesidad realmente demandada en el desarrollo del Software.
Scrum no es ni la mejor metodología ni la única, antes te decía que hay muchas, pero sí, es una metodología que está empujando muy fuerte por la facilidad de implantación y por su agilidad en cuanto a cambios y lo que propiamente aporta en comparación con otras metodologías.
Por un lado, Scrum evita la burocracia y la generación documental. No es que con Scrum no se deba o no se pueda documentar, si no que con Scrum no se exige documentar nada para iniciar un proyecto, algo que en otras metodologías es impensable.
Con Scrum por otro lado, la idea principal es la de ponerse a trabajar prácticamente desde el primer momento y empezar a sacar frutos de ese trabajo para que el cliente vaya viendo los avances y se quede satisfecho con lo que se está haciendo y cómo se está haciendo.
Sí sí, vale... pero ¿cómo muestras al cliente esos progresos en el trabajo?.
Bien bien, no te he contado aún mucho sobre Scrum, sólo el cascarón que lo envuelve, pero ya que preguntas y te veo realmente interesada, te voy a contar todo lo que hay con más detalle.
De forma resumida y global, en Scrum vamos a diferenciar dos aspectos importantes, los actores y las acciones.
Vaya, esto se pone interesante, sigue sigue que me está empezando a gustar esto del Scrum.
¡Ja!, pues espera a que te cuente, que esto no ha hecho nada más que comenzar.
Te decía que hay dos aspectos fundamentales a diferenciar, los actores y las acciones.
Los actores son los que ejecutarán obviamente las acciones.
Estos de forma general, serán:
- Product Owner
- Scrum Master
- Scrum Team
- Usuarios o Clientes
Algo que no te he dicho aún, es que para que un proyecto Software tenga éxito, el Usuario o Cliente, debe involucrarse sí o SÍ.
Esto vale para todos TODOS los proyectos, aunque no todos los Usuarios y Clientes lo entienden así, pero nuestra misión es también hacérselo ver.
Prosigo.
El Product Owner conoce y marca las prioridades del proyecto o producto.
El Scrum Master es la persona que asegura el seguimiento de la metodología guiando las reuniones y ayudando al equipo ante cualquier problema que pueda aparecer. Su responsabilidad es entre otras, la de hacer de paraguas ante las presiones externas.
El Scrum Team son las personas responsables de implementar la funcionalidad o funcionalidades elegidas por el Product Owner.
Los Usuarios o Cliente, son los beneficiarios finales del producto, y son quienes viendo los progresos, pueden aportar ideas, sugerencias o necesidades.
¿Y lo de las acciones?
Te veo con hambre de conocimiento, eso está bien.
Las acciones tienen relación directa con los actores. Sin ellas, todo sería un caos.
En Scrum se indican claramente las acciones a acometer y como acometerlas. Nuestra responsabilidad es hacerlo siempre de una forma adecuada y algo rígida para impedir que se aplique erróneamente esta metodología.
Las acciones de Scrum forman parte de un ciclo iterativo repetitivo, por lo que el mecanismo y forma de trabajar que a continuación se indica, tiene como objetivo minimizar el esfuerzo y maximizar el rendimiento en el desarrollo.
Las acciones fundamentales de Scrum son:
- Product Backlog
- Sprint Backlog
- Daily Scrum Meeting
El Product Backlog corresponde con todas las tareas, funcionalidades o requerimientos a realizar. Antes decía que el Product Owner es la persona que se encarga de marcar las prioridades, y es al fin y al cabo, la persona que mantiene y actualiza dado el caso, la lista de tareas.
El Sprint Backlog corresponde con una o más tareas que provienen del Product Backlog. Es decir, del Product Backlog se saca una o más tareas que van a formar parte del Sprint Backlog. Las tareas del Sprint Backlog se deben acometer (recomendado) en unas 2 semanas ó 4 semanas. Hay Sprint Backlogs de 2 semanas y hay Sprint Backlogs de 4 semanas. Eso debe de ser marcado antes de iniciar el Sprint Backlog, de hecho, del Product Backlog se sacará la tarea o tareas realistas para acometer el Sprint Backlog. Una norma fundamental es que mientras un Sprint Backlog se inicia, éste NO puede ser alterado o modificado. Hay que esperar a que concluya el Sprint Backlog para realizar la correspondiente modificación o alteración cuya tarea, formaría parte de otro Sprint Backlog.
El Daily Scrum Meeting es una tarea iterativa que se realiza todos los días que dure el Sprint Backlog con el equipo de desarrollo o de trabajo. Se trata de una reunión operativa, informal y ágil, de un máximo de 30 minutos, en la que se le hace 3 preguntas a cada integrante del equipo.
- Qué tareas ha realizado desde la última reunión (que he hecho).
- Sobre qué va a trabajar en el día actual (que voy a hacer hoy).
- Identificación de obstáculos o riesgos que impiden o pueden impedir el normal avance (que ayuda necesito). El Scrum Master, debe eliminar aquí cualquier obstáculo que encuentre.
Una pregunta más... has dicho que del Product Backlog se sacan tareas que van al Sprint Backlog, pero entiendo que no todas las tareas del Product Backlog van a la vez al Sprint Backlog, así que... ¿que se hace cuando una tarea del Sprint Backlog se finaliza?
Bien, esta es una pregunta típica.
Quizás no me he explicado bien, pero el Sprint Backlog, una vez que se inicia, ni se toca.
Es decir, que una tarea se acaba, y punto.
Se continúa con otra tarea del Sprint Backlog y así hasta que se acaben.
Lo que debemos tener claro, es que al finalizar un Sprint Backlog (ya sea de 2 semanas ó de 4 semanas), debemos haber acabado las tareas del Sprint Backlog.
Reitero que las tareas del Sprint Backlog deben de ser realistas.
Así que cuando se ha finalizado un Sprint Backlog, deberíamos tener algo, un entregable o algo que se pueda mostrar y que enseñe los avances acometidos en el Sprint.
En el Product Backlog tendremos más tareas, y es posible incluso que hayan salido nuevas tareas o que otras hayan desaparecido, por lo que es cuando se acaba el Sprint Backlog, cuando debemos hacer varias cosas importantes y que te indico a continuación.
Esto me está gustando muchísimo...
Me alegro, a mí me parece interesantísimo, y es más, Scrum es de sentido común, tanto, que yo sin saberlo ya lo utilizaba hace algunos años sin saber que era realmente Scrum.
Bueno, prosigo con esta explicación.
Como te decía, adicionalmente a las acciones anteriormente comentadas encontramos otras acciones más.
Antes para no saturarte, no te dije que entre el Product Backlog y el Sprint Backlog, hay algo, una reunión concretamente, que se denomina Sprint Planning Meeting.
- El Sprint Planning Meeting es una reunión que tiene por objetivo, planificar el Sprint a partir del Product Backlog. El objetivo de esta reunión es la de mover las tareas del Product Backlog al Sprint Backlog. En esta reunión, suelen participar el Product Owner que es como te dije antes quien prioriza las tareas, el Scrum Master y el Scrum Team.
- Del Sprint Planning Meeting, sale también el Sprint Goal, que es un pequeño documento o una breve descripción que indica lo que el Sprint intetará alcanzar.
- En el Sprint Review se revisa en unas 2 horas como máximo el Sprint finalizado. Al llegar a este punto, debemos tener "algo" que el Cliente o el Usuario pueda ver y tocar. En esta reunión, suelen asistir el Product Owner, el Scrum Master, el Scrum Team y personas que podrían estar involucradas en el proyecto. El Scrum Team es quién muestra los avances realizados en el Sprint.
- Al finalizar un Sprint Backlog y el Sprint Review, se inicia el Sprint Retrospective. El Product Owner revisará con el equipo los objetivos marcados inicialmente en el Sprint Backlog concluido, se aplicarán los cambios y ajustes si son necesarios, y se marcarán los aspectos positivos (para repetirlos) y los aspectos negativos (para evitar que se repitan) del Sprint.
Mira, te pintaré un diagrama que espero te ayude a entender todas las acciones de Scrum.
¿Y porque es eso de las 2 ó 4 semanas?. ¿No sería más fácil que cada equipo pusiera su franja de tiempo?
Sí claro, cada equipo, cada empresa, cada proyecto, puede poner la franja horaria y frecuencia temporal que considere oportuno así como cambiar aspectos de Scrum, pero te voy a poner un sencillo ejemplo con el cuál entenderás que es mejor hacer esto así que de otra forma.
Supongamos el caso de la construcción de un rascacielos o de un edificio.
Si con el fin de controlar el proyecto y que no se te escape nada ni metamos la pata en algo, me preguntas cada día en varias ocasiones como estoy haciendo las cosas, como lo llevo y cuales son mis avances, te aseguro que no terminaremos la construcción del edificio en el tiempo planificado ni de broma. Además, seguro que querrás cambiar o modificar algo cada día o incluso varias veces en el mismo día.
Si me preguntas cada 6 meses por ejemplo, avanzaré mucho sin interrupciones, pero a buen seguro que el riesgo de desviaciones es mucho mayor y seguramente si ocurren, reajustar esas desviaciones al proyecto tendrá costes elevados asociados.
Un término medio es el ajuste temporal de 2 ó 4 semanas que está basado en la experiencia de muchas personas en muchos proyectos. No es lo mismo reconducir el proyecto perdiendo 2 ó 4 semanas, que reconducirlo perdiendo 6 meses por ejemplo.
La idea de la metodología ágil es fundamentalmente que adopte los cambios, que se pueda reconducir el proyecto en un momento dado, y que afecte lo menos posible a los costes, los tiempos y al equipo de trabajo.
No es la metodología ideal. Yo siempre digo que si hubiera algo ideal, todo el mundo lo usaría, pero sí te digo, que Scrum se acerca bastante a esa idea general de la gestión ideal de proyectos.
A mí personalmente es la que más me gusta y la que por experiencia, mayor satisfacción suele dar, tanto al cliente o al usuario final como al equipo de trabajo.
Y no te creas que hay mucho más que saber de Scrum, esta es la filosofía o idea general que espero te haya quedado clara y te haya servido para entender lo que hablaba con mi compañero de trabajo.
Sin duda que me ha parecido muy interesante. Muchas gracias.
Nota: queda prohibida la reproducción parcial o total de este artículo sin la correspondiente autorización.
P.D.: muchas gracias a mi amigo y compañero Rodrigo Corral, el Máster de Scrum, quién me ha aleccionado sobre Scrum y quien me ha revisado esta historieta.
Microsoft ha publicado la nueva versión de la herramienta SSMA o SQL Server Migration Assistant for Oracle v3.0 son un conjunto de herramientas o utilidades que permitirán o facilitarán la migración de bases de datos Oracle a SQL Server 2005, reduciendo tiempos, costes y esfuerzos.
SSMA no obstante, está diseñado para trabajar con bases de datos Oracle 7.3 o superior, y con SQL Server 2005 exceptuando la versión Express Edition.
La descarga está disponible en este enlace y su tamaño es de unos 4.6 Mb.
Poseso, que Microsoft ha decidido oficialmente cambiar el nombre de MSN Hotmail por Windows Live Hotmail.
Ahora, los usuarios de cuentas de Hotmail, podrán aumentar su cuenta hasta los 2 Gb sin coste adicional y por el momento. Parece ser que el tamaño estándar serán esos 2 Gb, que son los que tendrá una cuenta de correo nueva que se crea en Hotmail (decir Hotmail es válido tanto ayer como a partir de hoy).
Ahora lo que yo tengo ganas de ver, es el Windows Live Mail, ya que la beta que tengo, me da más fallos que una escopeta de feria, y me gustaría tener el producto final instalado.
A veces alucino con Microsoft.
Eso es lo que me ha ocurrido al encontrarme con el material que os traigo, una presentación de Microsoft Power Point (ppt) en la que nos cuentan desde el punto de vista de las empresas de TI, lo que no se nos puede olvidar justo antes de irnos de vacaciones.
Son los poco más de 10 consejos útiles que debemos tener en cuenta antes de salir de la oficina.
La presentación no está nada mal, muchas de las cosas son de sentido común, aunque no por ello quiere decir que las tengamos en cuenta todas, pero sí, me ha sorprendido mucho encontrarme esto en las páginas de Microsoft porque me recuerda a esas campañas de tráfico antes de vacaciones, o las campañas preventivas de los Ministerios o gobiernos de turno.
No está mal recordarlo, la verdad.
La presentación no llega a 1 Mb y está disponible únicamente en inglés.
La podréis obtener directamente en este enlace.
Microsoft ha publicado unos HOL (Hands-on-Labs) sobre Microsoft Windows Workflows, para que profundicemos más aún sobre WWF.
Además de los HOL, el paquete de Microsoft contiene manuales y código fuente de ejemplo, y están disponibles en C# y VB.NET.
La descarga que oscila de 8 Mb a 24 Mb, contiene todo este material.
Cada laboratorio tiene una duración aproximada de 60 minutos, y para poder ejecutar los laboratorios en nuestro sistema, necesitaremos obviamente Microsoft .NET Framework 3.0.
La descarga la encontraréis en este enlace.
El conocido Lutz Roeder (.NET Reflector entre otros), ha publicado varios ejemplos sobre el uso de Silverlight 1.1 Alpha.
Los ejemplos de Lutz, no es que sean la bomba respecto a la innovación tecnológica, pero sí en cuanto a lo que nos puede llegar a ofrecer Silverlight.
Yo os recomiendo descargar los ejemplos, probarlos e intentarlos... la verdad es que por algo se empieza ¿no creéis?.
Podría haber titulado este post también como... ¿Guerra de los navegadores de Internet?, o... ¿Microsoft se come a Yahoo?, o... ¿Microsoft y Yahoo se unen?... y muchos más titulares diferentes... porque la verdad es que parece que puede haber aires de cambio en el horizonte.
A nadie se le escapa que hace ya más de 1 año y medio (Octubre del 2005), Microsoft llegó a un acuerdo con Yahoo con el fin de buscar convergencias y unir sus esfuerzos respecto a Messenger. Y este no es el único acuerdo que ha habido entre Microsoft y Yahoo.
Ahora bien, los rumores que han saltado hoy, apuntan a una compra, fusión o acuerdo tecnológico global entre Microsoft y Yahoo... es como si lo del Messenger se les hubiera quedado pequeño y quisieran ir a lo grande, pero creo que hay muchas más razones y muy poderosas todas ellas por las cuales Microsoft ha contraatacado (reitero que son rumores de momento, parece que fundados, pero rumores al fin y al cabo).
El caso es que este 4 de Mayo, se ha despertado con este interesante rumor, rumor del que se han hecho eco las mejores plumas del país norteamericano, como lo muestra el New York Post, el Wall Street Journal, o el mismísimo Financial Times, y es que cuando el río suena...
Lo que ocurre es que uno no sabe si esto va en serio o es un movimiento especulativo, porque la única realidad es que las acciones de Yahoo han subido hasta un 18% hoy, y uno cuando habla de la bolsa, piensa en eso, en una bolsa de aire caliente que empieza a subir hasta que se enfría y baja hasta estrellarse, y ya sabemos que cuatro, son los que manejan a cuatro millones.
El otro día a Microsoft la hicieron pupa quitándola de las manos DoubleClick (Google), y eso podría haber servido para que Microsoft moviera ficha, y ¿que mejor ficha que Yahoo, el competidor directo de Google?.
Google con DoubleClick, logra una posición dominante dentro de la guerra Internet/Buscadores/Publicidad. Microsoft lo sabe y aunque tanteó por DoubleClick, Google fue quién se llevó el gato al agua y quien sacó tajada, tajada que ha hecho que los órganos anti-monopolio estudien el tema, pero igual el tema podía caerse sobre su propio peso si se confirma que Microsoft y Yahoo llegan a un acuerdo.
Esto es muy entretenido, es como los hermanos caprichosos, si uno dice que quiere pan, el otro también, pero si el otro dice ahora leche, el uno también quiere leche, y así, se pasan todo el rato.
Cuanto menos, y mirándolo desde la ventana de mi cuarto, esto es realmente divertido.
Microsoft ha sacado el paquete denominado Microsoft Visual Earth 3D en versión Beta, que permite añadir capacidades realistas 3D a la búsqueda en línea de mapas con Live Search Maps.
Este paquete ocupa apenas 8,3 Mb y está disponible en inglés.
Nota: La descarga es realmente de apenas 1 Mb, pero esta lanza la descarga completa del paquete final que es el que se instala en el sistema.
Para que veamos una muestra de como resulta la búsqueda del mapa sin el paquete 3D instalado y como resulta una vez instalado, os muestro estas capturas:


He experimentado algunos fallos (este paquete está aún en versión beta) en cuanto al refresco de imágenes, pero supongo que poco a poco se irá mejorando.
Además, no creo que estén todos los mapas del mundo añadidos aún, por lo que encontraréis zonas en las que no podreis ver el mapa en 3D como el que muestro en las capturas.
Pede ser
El otro día, informé en mi blog de la aparición del Windows Media Center SDK 5.0.
Sin embargo, Microsoft ha hecho público una serie de información adicional que complementa este paquete.
En concreto, se tratan de unos documentos que tratan de ayudar a los desarrolladores que son nuevos con el desarrollo de aplicaciones para Media Center.
Estos documentos son los siguientes:
- Creando aplicaciones para Windows Media Center (paso a paso):
- Creando un instalador basado en WiX para Windows Media Center (paso a paso):
- Código fuente utilizado en los documentos anteriores:
¡Ah!, y los foros de discusión (en inglés) por si alguien tiene alguna duda o problema. ;-)
¡Espero que os sirva!
Microsoft ha sacado la nueva versión de su Microsoft Interop Forms Toolkit 2.0 para Visual Basic .NET y Visual Basic 2005.
Este toolkit, permite que los desarrolladores de Visual Basic .NET y Visual Basic 2005, puedan desarrollar sus formularios y controles para incorporarlos en sus aplicaciones Visual Basic 6.0.
A mí no es que me guste mucho este tipo de "inventos", pero reconozco en determinadas circunstancias, puede resultarnos especialmente útil.
La descarga de poco más de 5 Mb, puede ser obtenida en el siguiente enlace.
¿No has podido ir al MIX'07 de Las Vegas (USA)?.
¿Te gustaría obtener las sesiones del MIX'07?.
En el siguiente enlace podrás obtener las sesiones, no se si todas, pero si un gran número de ellas.
Aviso a navegantes: tampoco se si estará abierto por mucho tiempo, pero de momento sí se pueden descargar.
¡Espero que las disfrutes!
Microsoft ha sacado a la luz la actualización del Windows Mobile 6 Professional y Standard SDK Refresh.
El paquete de desarrollo contiene como cualquier SDK, documentación, códigos de ejemplo, imágenes para el emulador, herramientas, etc., para poder desarrollar aplicaciones para Windows Mobile 6.
La descarga está dividida en dos paquetes, uno para la versión Professional (455 Mb aproximadamente) y otro para la versión Standard (210 Mb aproximadamente).
Si tienes una versión previa de Windows Mobile 6 SDK, se recomienda desinstalarla para instalar esta actualización.
Los requerimientos son muy sencillos de cumplir. Sistema operativo Windows XP SP2, Windows Server 2003 SP2 ó Windows Vista. Además de Microsoft .NET Compact Framework 2 SP2 el correspondiente Software de sincronización y Visual Studio 2005 Standard o superior (Visual Studio 2005 Express Edition no está soportado).
La descarga puede ser encontrada en este enlace.
Más artículos
Página siguiente >