{"id":229753,"date":"2022-11-18T20:01:00","date_gmt":"2022-11-18T17:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229753"},"modified":"2022-11-09T16:14:03","modified_gmt":"2022-11-09T13:14:03","slug":"programacion-orientada-a-objetos-en-wordpress-declaracion-de-trabajo","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/programacion-orientada-a-objetos-en-wordpress-declaracion-de-trabajo\/","title":{"rendered":"Programaci\u00f3n Orientada a Objetos en WordPress: Declaraci\u00f3n de Trabajo"},"content":{"rendered":"\n<p>Antes de entrar en el tema del an\u00e1lisis y dise\u00f1o orientado a objetos (que es cuando la mayor\u00eda de nosotros nos divertimos m\u00e1s con lo que hacemos adem\u00e1s de escribir c\u00f3digo), es importante hacer un seguimiento de algunas cosas m\u00e1s relacionadas con la comprensi\u00f3n de los requisitos del cliente. .<\/p>\n<p>En el post anterior mencion\u00e9:<\/p>\n<blockquote>\n<p>Si se toma el tiempo para comprender lo que quieren desde el principio, entonces los requisitos no tienen que ser un documento de 50 p\u00e1ginas que describa c\u00f3mo debe funcionar cada m\u00f3dulo.<\/p>\n<\/blockquote>\n<p>Por ejemplo, cada vez que preparo requisitos (o una Declaraci\u00f3n de trabajo), como suelo llamarlos cuando los env\u00edo a los clientes, rara vez excedo las diez p\u00e1ginas y, a menudo, es menos.<\/p>\n<p>Y aunque hay momentos en que es m\u00e1s largo, creo que parte de la raz\u00f3n por la que desarrollar un conjunto breve de requisitos viene con las discusiones preliminares para asegurarse de que usted y los clientes hayan desarrollado un lenguaje com\u00fan con el que puedan trabajar.<\/p>\n<p>Cuando hace eso, los requisitos y la declaraci\u00f3n de trabajo, como quiera llamarlos, no tienen que ser tan largos.<\/p>\n<h2>Escribir una declaraci\u00f3n de trabajo<\/h2>\n<p>Primero, me gustar\u00eda diferenciar entre una <strong>Declaraci\u00f3n de trabajo<\/strong> y <strong>Requisitos<\/strong> en el contexto de esta publicaci\u00f3n.<\/p>\n<ul>\n<li><strong>Los requisitos<\/strong> son lo que el cliente quiere que se construya.<\/li>\n<li>La <strong>Declaraci\u00f3n de trabajo<\/strong> detalla lo que va a hacer, c\u00f3mo lo har\u00e1 y por cu\u00e1nto.<\/li>\n<\/ul>\n<p>Cubrir\u00e9 esto \u00faltimo con m\u00e1s detalle en esta publicaci\u00f3n. Pero baste decir que los requisitos pueden venir en forma de discusiones, documentaci\u00f3n o ambos en lo que respecta al cliente.<\/p>\n<p>Antes de saltar a las diferentes partes de lo que incluyo en una declaraci\u00f3n de trabajo, hay algunas cosas que creo que vale la pena mencionar:<\/p>\n<ol>\n<li>No escriba una declaraci\u00f3n de trabajo hasta que tenga todos los requisitos del cliente.<\/li>\n<li>Aseg\u00farese de que el cliente sepa qu\u00e9 esperar de una declaraci\u00f3n de trabajo.<\/li>\n<li>Si va a tomarse el tiempo para escribir una Declaraci\u00f3n de trabajo, decida si va a cobrar por el tiempo o no, y aseg\u00farese de que el cliente sepa que tendr\u00e1 que pagarlo o no.<\/li>\n<\/ol>\n<p>Esta es una de esas cosas que se realizan de aut\u00f3nomo a aut\u00f3nomo o de agencia a agencia. Dicho esto, aqu\u00ed est\u00e1n las partes de una Declaraci\u00f3n de trabajo que suelo incluir.<\/p>\n<h3>Preparaci\u00f3n de una declaraci\u00f3n de trabajo<\/h3>\n<p>Cada vez que preparo una declaraci\u00f3n de trabajo, tengo una plantilla que uso. Voy a proporcionar un desglose que cubre gran parte de esto aqu\u00ed.<\/p>\n<p>As\u00ed es como funciona cada secci\u00f3n:<\/p>\n<h4>1 Declaraci\u00f3n de trabajo<\/h4>\n<p>El prop\u00f3sito de este documento es [definir una propuesta de soluci\u00f3n para EL PROYECTO].<\/p>\n<p>Los requisitos del proyecto han sido proporcionados por [NOMBRE DEL CLIENTE], [FUNCI\u00d3N DEL NOMBRE DEL CLIENTE EN EL NOMBRE DE SU EMPRESA]. Los t\u00e9rminos del acuerdo son una combinaci\u00f3n de los acordados por [NOMBRE DEL CLIENTE] y [SU NOMBRE o NOMBRE DE LA AGENCIA].<\/p>\n<h4>2 Descripci\u00f3n general de los requisitos<\/h4>\n<p>El prop\u00f3sito de este documento es [definir una propuesta de soluci\u00f3n para EL PROYECTO].<\/p>\n<p>Los requisitos del proyecto han sido proporcionados por [NOMBRE DEL CLIENTE], [FUNCI\u00d3N DEL NOMBRE DEL CLIENTE EN EL NOMBRE DE SU EMPRESA]. Los t\u00e9rminos del acuerdo son una combinaci\u00f3n de los acordados por [NOMBRE DEL CLIENTE] y [SU NOMBRE o NOMBRE DE LA AGENCIA].<\/p>\n<h4>3 Idiomas y Tecnolog\u00eda<\/h4>\n<p>El servidor web, el software, las herramientas y el enfoque que se utilizar\u00e1 para crear la soluci\u00f3n.<\/p>\n<h4>4 navegadores compatibles<\/h4>\n<p>Si se trata de un proyecto basado en la web, cubra los navegadores compatibles, si habr\u00e1 o no una funcionalidad receptiva y c\u00f3mo se probar\u00e1n los puntos anteriores.<\/p>\n<h4>5 Idiomas y Tecnolog\u00eda<\/h4>\n<p>El servidor web, el software, las herramientas y el enfoque que se utilizar\u00e1 para crear la soluci\u00f3n.<\/p>\n<h4>6 Requisitos e hitos del proyecto<\/h4>\n<p>Por lo general, la secci\u00f3n m\u00e1s larga del documento. Resume:<\/p>\n<ul>\n<li>Los requisitos,<\/li>\n<li>C\u00f3mo se construir\u00e1 y entregar\u00e1 cada requisito,<\/li>\n<li>Cualquier nota adicional que el cliente deba conocer.<\/li>\n<\/ul>\n<h4>7 Cronograma propuesto<\/h4>\n<p>Esto se basa en los hitos descritos en la secci\u00f3n anterior y los comentarios del cliente.<\/p>\n<h4>8 Otros factores<\/h4>\n<p>Cosas miscel\u00e1neas que opta por incluir, como lo que usted o su agencia optan por aportar al proyecto, c\u00f3mo la retroalimentaci\u00f3n retrasada puede afectar el proyecto, etc.<\/p>\n<h4>9 Costo estimado<\/h4>\n<p>Esto incluye el costo total del proyecto y un desglose opcional del calendario de pagos.<\/p>\n<h3>Es necesario<\/h3>\n<p>Lo s\u00e9: he dicho esto antes en publicaciones anteriores de esta serie. Esta no es la parte m\u00e1s glamorosa de lo que hacemos. En su lugar, saltar\u00edamos directamente a la programaci\u00f3n.<\/p>\n<p>Pero, \u00bfc\u00f3mo sabes qu\u00e9 construir (y construirlo bien) si no hemos tratado adecuadamente el problema que estamos tratando de resolver?<\/p>\n<p>Y eso es lo que nos da todo lo que conduce al an\u00e1lisis y dise\u00f1o orientado a objetos.<\/p>\n<h2>An\u00e1lisis orientado a objetos<\/h2>\n<p>Ahora que hemos eliminado el papeleo (o incluso las &quot;cosas comerciales&quot;, como algunos pueden llamarlo) fuera del camino, es hora de comenzar a trabajar en la programaci\u00f3n.<\/p>\n<p>Sin embargo, antes de hacer eso, es importante analizar los requisitos y determinar qu\u00e9 partes del proyecto servir\u00e1n para qu\u00e9 prop\u00f3sito. Por ejemplo:<\/p>\n<ul>\n<li>\u00bfNecesitamos alg\u00fan software preexistente?<\/li>\n<li>\u00bfNecesitamos escribir alg\u00fan adaptador o c\u00f3digo de capa de datos?<\/li>\n<li>\u00bfC\u00f3mo construiremos la capa de aplicaci\u00f3n y las entidades dentro de ella?<\/li>\n<li>\u00bfQu\u00e9 pasa con la parte delantera?<\/li>\n<\/ul>\n<p>Y para muchos, aqu\u00ed es donde comienza la diversi\u00f3n. As\u00ed que estoy ansioso por comenzar a hablar sobre esto tambi\u00e9n. Comenzaremos en la siguiente publicaci\u00f3n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La Declaraci\u00f3n de trabajo detalla lo que va a hacer, c\u00f3mo lo har\u00e1 y por cu\u00e1nto.<\/p>\n","protected":false},"author":1,"featured_media":165194,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,840],"tags":[1172],"class_list":["post-229753","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=229753"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/229753\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/165194"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=229753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=229753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=229753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}