{"id":461,"date":"2022-02-26T14:20:09","date_gmt":"2022-02-26T13:20:09","guid":{"rendered":"https:\/\/ubiqware.net\/?p=461"},"modified":"2022-02-28T10:05:37","modified_gmt":"2022-02-28T09:05:37","slug":"vision-general-de-la-fase-plan-de-devops","status":"publish","type":"post","link":"https:\/\/ubiqware.net\/es\/vision-general-de-la-fase-plan-de-devops\/","title":{"rendered":"Visi\u00f3n general de la fase PLAN de DevOps"},"content":{"rendered":"\n<p>Tras nuestro <a href=\"https:\/\/ubiqware.net\/es\/nuestro-enfoque-devops\/\">post inicial sobre nuestro enfoque de mejora en la gesti\u00f3n del ciclo de vida del software en torno a DevOps<\/a>, \u00e9ste es el primero de una serie de ocho posts en los que desgranamos en detalle cu\u00e1l es nuestro enfoque de mejora en cada una de las fases de DevOps. As\u00ed que hoy es turno para la fase PLAN.<\/p>\n\n\n\n<p>En la fase PLAN, los objetivos principales son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Validar con el cliente que tenemos recogidos todos los <strong>requisitos<\/strong> y ambas partes los comprendemos de la misma manera. \u00c9ste es el punto principal de fricci\u00f3n en la mayor\u00eda de proyectos software.<\/li><li>Definir todas las <strong>tareas<\/strong> de proyecto y distribuirlas a lo largo del tiempo, de forma que hagamos entrega de una versi\u00f3n que pueda ser probada por el cliente. Muchos clientes necesitan tocar y probar software para darse cuenta de lo que realmente quieren.<\/li><li>Recoger el resultado de las <strong>pruebas<\/strong> del software para cada una de las tareas del proyecto, validando que \u00e9stas hayan sido correctamente ejecutadas. A su vez, la validaci\u00f3n de correcta finalizaci\u00f3n del conjunto de tareas cuyo origen es un mismo requisito, validar\u00e1 que hemos satisfecho dicho requisito.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>La herramienta de seguimiento para todo lo anterior es la <strong>tabla de<\/strong> <strong>seguimiento de requisitos<\/strong>, que toda herramienta de gesti\u00f3n de proyecto debe ofrecer. En ella podremos definir en cada fila un requisito, con su descripci\u00f3n textual, la lista de tareas de proyecto que (una vez ejecutadas) van a satisfacer ese requisito; e informaci\u00f3n adicional, como los componentes o las versiones del software asociados a los distintos requisitos.<\/p>\n\n\n\n<p>Seg\u00fan vaya creciendo el n\u00famero de requisitos, tareas de proyecto, componentes, versiones y cualquier otro criterio de estructuraci\u00f3n del trabajo a realizar, ser\u00e1 de especial importancia la capacidad de nuestra herramienta para ordenar y filtrar toda esta informaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"506\" src=\"https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-1024x506.png\" alt=\"\" class=\"wp-image-464\" srcset=\"https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-1024x506.png 1024w, https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-300x148.png 300w, https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-768x380.png 768w, https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-1536x760.png 1536w, https:\/\/ubiqware.net\/wp-content\/uploads\/2022\/02\/Post-0003-ReqsTable-ES-2048x1013.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>En la figura anterior, podemos ver un wireframe mostrando c\u00f3mo una tabla de este tipo nos ayuda a asociar requisitos con tareas de proyecto. Normalmente, usaremos <a href=\"https:\/\/www.usability.gov\/how-to-and-tools\/methods\/wireframing.html\">wireframes<\/a> en nuestras publicaciones para ayudar a abstraernos del aspecto y funcionalidad concretos de una herramienta espec\u00edfica.<\/p>\n\n\n\n<p>La figura anterior muestra c\u00f3mo el grado de finalizaci\u00f3n de las tareas contribuye al grado de finalizaci\u00f3n del requisito al que cada una est\u00e1 asociado y c\u00f3mo todo esto permite definir el grado de progreso del proyecto completo. Por ejemplo, el requisito REQ 0001 se satisface mediante la finalizaci\u00f3n de las tareas de proyecto PROY-001 a PROY-005; la estimaci\u00f3n de su grado de finalizaci\u00f3n (90%, 35%, 8%, 0% and 0%, respectivamente) permite estimar que REQ 0001 est\u00e1 al 35% de progreso de estar completamente satisfecho, seg\u00fan se ha especificado en la herramienta de gesti\u00f3n de proyecto.<\/p>\n\n\n\n<p>A su vez, la estimaci\u00f3n de avance de cada uno de los requisitos (35%, 9%, 0%, \u2026, 0%) permite estimar el avance total del proyecto (3%).<\/p>\n\n\n\n<p>Hay muchos aspectos de detalle que comentar en torno a la planificaci\u00f3n, lo cual haremos en futuras publicaciones. De momento, anticipamos que <a href=\"https:\/\/www.agilealliance.org\/agile101\/\"><strong>el desarrollo \u00e1gil de software<\/strong><\/a> ser\u00e1 una de nuestras principales gu\u00edas, que el hecho exclusivo de <strong>usar un tablero Scrum o Kanban<\/strong> en una herramienta o en nuestra pared <strong>no es ser \u00e1gil<\/strong> y que uno de los principales problemas en los proyectos software es la <strong>falacia del precio y el alcance cerrados<\/strong>.<\/p>\n\n\n\n<p>El hecho de que la \u201cdefinici\u00f3n\u201d de las tareas de proyecto de la figura anterior recuerde a una <strong>historia de usuario<\/strong> no es casualidad, y hablaremos de <strong>pila de producto<\/strong> en lugar de \u201ctareas de proyecto\u201d, y de <strong>\u00edtem<\/strong> o elemento de la pila de trabajo en lugar de \u201ctarea de proyecto\u201d.<\/p>\n\n\n\n<p>Tambi\u00e9n veremos c\u00f3mo, si nos apoyamos para definir las tareas del proyecto (o elementos de la pila de trabajo) en la definici\u00f3n de pruebas que determinen cu\u00e1ndo \u00e9stas se dar\u00e1n por bien hechas, avanzaremos hacia el <a href=\"https:\/\/www.agilealliance.org\/glossary\/tdd\/\"><strong>desarrollo guiado por pruebas<\/strong><\/a>.<\/p>\n\n\n\n<p>Y, por encima de todo, como todo el trabajo de organizaci\u00f3n y t\u00e9cnico tiene que estar inmerso en una <a href=\"https:\/\/agilemanifesto.org\/iso\/es\/manifesto.html\"><strong>cultura<\/strong> realmente <strong>\u00e1gil<\/strong><\/a>: equipos auto-organizados y colaboraci\u00f3n m\u00e1xima entre los miembros.<\/p>\n\n\n\n<p>Volvemos en breve. \u00a1Seguid conectados!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tras nuestro post inicial sobre nuestro enfoque de mejora en la gesti\u00f3n del ciclo de vida del software en torno a DevOps, \u00e9ste es el primero de una serie de ocho posts en los que desgranamos en detalle cu\u00e1l es nuestro enfoque de mejora en cada una de las fases de DevOps. As\u00ed que hoy [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":482,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,24],"tags":[],"class_list":["post-461","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-plan"],"_links":{"self":[{"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":0,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/media\/482"}],"wp:attachment":[{"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubiqware.net\/es\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}