SlideShare una empresa de Scribd logo
1 de 7
DESARROLLO DE
SOFTWARE, MÉTODOS
TRADICIONALES
METODOLOGÍA ÁGIL VS TRADICIONAL
Caracteristicas Metodología agil Metodología tradicional
Estructura organizativa Iterativa Lineal
Escala de proyectos Pequeños y medios Grandes
Requisitos Dinámicos Bien definidos
Implicación del cliente Alta Baja
Modelo de desarrollo Entrega Evolutiva Ciclo de vida
ETAPAS DEL DESARROLLO DE UN
PROYECTO
Planificación
Antes de empezar un proyecto de desarrollo de un sistema de información, es necesario hacer ciertas tareas que influirán decisivamente en el éxito del mismo. Dichas tareas son conocidas como el fuzzy front-end del proyecto, puesto que no están
sujetas a plazos.
Algunas de las tareas de esta fase incluyen actividades como la determinación del ámbito del proyecto, la realización de un estudio de viabilidad, el análisis de los riesgos asociados, la estimación del coste del proyecto, su planificación temporal y la
asignación de recursos a las diferentes etapas del proyecto.
Análisis
Por supuesto, hay que averiguar qué es exactamente lo que tiene que hacer el software. Por eso, la etapa de análisis en el ciclo de vida del software corresponde al proceso a través del cual se intenta descubrir qué es lo que realmente se necesita y se
llega a una comprensión adecuada de los requerimientos del sistema (las características que el sistema debe poseer).
Diseño
En esta fase se estudian posibles opciones de implementación para el software que hay que construir, así como decidir la estructura general del mismo. El diseño es una etapa compleja y su proceso debe realizarse de manera iterativa.
Es posible que la solución inicial no sea la más adecuada, por lo que en tal caso hay que refinarla. No obstante, hay catálogos de patrones de diseño muy útiles que recogen errores que otros han cometido para no caer en la misma trampa.
Implementación
En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a construir. Esta elección dependerá tanto de las decisiones de diseño
tomadas como del entorno en el que el software deba funcionar.
Al programar, hay que intentar que el código no sea indescifrable siguiendo distintas pautas como las siguientes:
Evitar bloques de control no estructurados.
Identificar correctamente las variables y su alcance.
Elegir algoritmos y estructuras de datos adecuadas para el problema.
Mantener la lógica de la aplicación lo más sencilla posible.
Documentar y comentar adecuadamente el código de los programas.
Facilitar la interpretación visual del código utilizando reglas de formato de código previamente consensuadas en el equipo de desarrollo.
También hay que tener en cuenta la adquisición de recursos necesarios para que el software funcione, además de desarrollar casos de prueba para comprobar el funcionamiento del mismo según se vaya programando.
Pruebas
Como errar es humano, la fase de pruebas del ciclo de vida del software busca detectar los fallos cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo antes de que el usuario final se los encuentre. Se dice que una
prueba es un éxito si se detecta algún error.
ROLES Y RESPONSABILIDADES
El Cliente
Se puede pensar que tratar al cliente como parte del equipo de desarrollo es extraño, pero en realidad, no lo es: El cliente es un factor importante en el éxito de un proyecto, tanto como cualquier otro miembro del equipo, por eso es importante contar
con la participación activa del cliente dentro del proyecto.
También es importante entender quién es en realidad “El Cliente”. Tanto si se desarrolla software para clientes actuales, como si se desarrolla para uno mismo, o para la propia empresa u organización, siempre hay un rol de cliente. El cliente, es en
esencia, quien pone en marcha el proyecto, paga las cuentas, o define el resultado final. Aun si no se tiene literalmente un “cliente”, es bueno entender que aun así existe un rol “cliente” en su proyecto. Esto puede ayudar a evitar confusiones. Si hay
varias personas diciendo que características se necesitan, hay que asegurarse de que exista algún responsable de tomar las decisiones cuando estos requisitos sean contradictorios.
El Analista
El analista es alguien que es responsable de entender las necesidades del cliente, y asegurarse de que la solución que está siendo desarrollada se ajusta a esas necesidades.
Las actividades típicas de un analista incluyen la elicitación de requisitos, reuniones con clientes y la redacción de especificaciones funcionales.
Incluso si un proyecto es demasiado pequeño para escribir un verdadero documento de especificación, la comprensión de las necesidades del cliente es un trabajo importante, dado que a menudo el éxito de un proyecto de desarrollo depende de qué tan
cerca está la solución desarrollada de las expectativas del cliente.
El Arquitecto de Software
El papel del arquitecto de software es traducir los requisitos, tal como se define por el analista, en una solución técnica. Él puede crear un diseño técnico, o simplemente algunos bocetos a mano alzada, de cómo el sistema va a estar estructurado. En
cualquier caso, es la responsabilidad del arquitecto a pensar en el sistema antes de que se desarrolle. Si se hace bien, durante la fase de diseño que se abordarán correctamente todos los problemas que se enfrenten en el desarrollo de la solución.
A menudo hay muchas maneras de lograr algo. El arquitecto de una aplicación es el que decide qué camino tomar, en base a la arquitectura global que ha elegido. Cuando el desarrollo se ha iniciado, es responsabilidad del arquitecto realizar un
seguimiento del desarrollo, para ver si todavía se mantiene en consonancia con el diseño general.
El Arquitecto del Sistema
Al igual que el arquitecto de software, el Arquitecto del Sistema es responsable de pensar el sistema antes de construirlo. Asi como el arquitecto de software es responsable para el software, un arquitecto del sistema es responsable del hardware.
Muchas aplicaciones ejecutan completamente en un único servidor. Muchos otros sin embargo se ejecutan en grupos de servidores, con servidores dedicados de bases de datos, servidores web y balanceadores de carga. Un arquitecto del sistema tiene en
cuenta los requisitos de rendimiento y disponibilidad, el número de usuarios / visitantes, etc. y en base a esto, diseña una infraestructura de servidores y una red.
El Desarrollador de Software
El desarrollo efectivo de una aplicacion es hecha por los desarrolladores del equipo. Pero un desarrollador tiene más responsabilidades que solo escribir código. Él es a menudo responsable de hacer el seguimiento de su propio progreso, e informar al
jefe de proyecto de los problemas a los que se enfrenta. Él es también quien implementa las ideas del arquitecto, y como tal, puede tener que discutir las (in)posibilidades de la implementación con el arquitecto.
Una responsabilidad importante es documentar el código. Mientras que muchos desarrolladores piensan que la documentación es algo que será realizado mejor por alguien más, esta es en realidad una responsabilidad importante del desarrollador.
La Documentación de Código tiene como objetivo el explicar a otros desarrolladores aquellas cosas que no resulten evidentes o claras a partir de la lectura del propio código
en sí. Se debe dar una idea de por qué un fragmento de código es de la manera que es. El desarrollador es el único que conoce los pensamientos e ideas detrás del código que
escribe, lo cual lo convierte en el candidato perfecto para documentarlo.
El Jefe de Desarrolladores
Un desarrollador líder, que tiene las mismas responsabilidades que los otros desarrolladores, pero también tiene añadidas algunas más. Un desarrollador líder debe entrenar
a los otros desarrolladores, y ayudarles a resolver los problemas que puedan enfrentar. Este desarrollador, que suele ser el miembro del equipo más experimentado, también
será capaz de asegurarse de que la ejecución sigue de cerca al diseño planteado, y no se dé lugar a lo que se denomina “invasión de características” durante el desarrollo. El
desarrollador líder tiene una gran influencia en la calidad del código.
El Diseñador Gráfico
“Lo de dentro es lo que cuenta.”, es tan cierto, como que también la percepción de los usuarios depende mucho de la mirada y la sensación que le produce una aplicación o
sitio web. No importa lo buena que la aplicación sea, si la interfaz es inconsistente, se sentirá menos robusto.
Es importante reconocer el papel del diseñador en un proyecto. Es bueno tener alguien encargado de la disposición general de una aplicación. Esto puede ir desde el diseño
completo de la interfaz de usuario, hasta el definir sólo algunas directrices de interfaz de usuario que los desarrolladores deban cumplir.
Incluso si el diseño está determinado por los desarrolladores, es una responsabilidad importante crear un diseño consistente en toda la aplicación.
El Tester
Las pruebas son una parte importante para asegurar que el software funciona de la manera que debería. El papel de ‘tester’ se realiza a menudo por los desarrolladores para
los aspectos técnicos y los usuarios para los aspectos funcionales. Un problema que surge de hacer a los desarrolladores probar su propio código es que, no importa lo bueno
que sean, se ven influidos por la forma de su código fue creado. Cuando se prueba, se tendrá en cuenta esas mismas situaciones que que ya se tuvieron en cuenta a la hora de
escribirlo.
Si se prueba código de otra persona, se puede pensar en escenarios que la otra persona no los pensó. Así que incluso si no se tiene un equipo de Testers dedicado, es una
buena idea que cada desarrollador pruebe código de otro desarrollador, en lugar del suyo propio.
El Gerente del Proyecto
Un gerente de proyecto tiene muchas responsabilidades. Es responsable de la planificación del proyecto, de mantener el proyecto dentro del presupuesto, y de la solución de
problemas. En resumen, él resuelve cualquier problema que ponga en peligro el progreso del proyecto.
Muchas de las tareas del gerente del proyecto tienen que ver con la comunicación, la comunicación al cliente sobre el progreso del proyecto y la comunicación con todos los
miembros del equipo. Incluso en los proyectos de desarrollo que no cuentan con un gerente de proyecto, es conveniente asignar el rol de gerente de proyecto a alguien, para
que quede claro quién es responsable de la ejecución del mismo.
El Administrador de Cuentas
Si usted desarrolla proyectos para clientes, sus proyectos pueden beneficiarse de las funciones de un Administrador de Cuentas. Un administrador de cuentas cultiva la
relación con el cliente. Aunque la gestión de proyectos y administración de cuentas se hace a menudo por la mismo persona dentro de un proyecto, hay situaciones en las que
ayuda a dividir estos roles.
Un administrador de cuentas puede mantener una relación más independiente con el cliente, y avisar si el cliente no está contento con la forma en que se ejecuta el proyecto
por parte del gerente del proyecto.
Al separar los roles de Administrador de cuentas, y Gerente de proyecto, también lograremos evitar conflictos de interés.
El director del proyecto puede concentrarse y proyectar lo mejor de sus habilidades para el funcionamiento del proyecto, mientras que el administrador de cuentas puede
tomarse el trabajo de reconocer oportunidades comerciales.
El Administrador de sistemas
El sistema en que la aplicación será instalada es creado por un administrador del sistemas.
Se arman los servidores, se instala el sistema operativo, un servidor web, PHP, una base de datos y cualquier software adicional que se requiera.
Incluso antes de que el proyecto se haya terminado, un administrador del sistema puede tener que construir los entornos de desarrollo y ambientes de prueba.
Más adelante en el proyecto, se ocupara de mantener los sistemas operando.
El Administrador de Código
El Código es importante y debe ser tratado como tal, el código necesita ser gestionado. Si varios de los desarrolladores están trabajando en conjunto, el código que escriben
deben integrarse en algún momento, independientemente del sistema de control de versiones utilizado.
Además, cuando haya terminado, el proyecto debe ser implementado. La implementación del proyecto significa tomar el código y desplegarlo en el servidor. Aunque
usualmente no hay una persona manejando esto, es importante identificar dicho rol.
El Capacitador
Cuando un proyecto se haya completado, los usuarios pueden necesitar ser capacitados, en particular si en el proyecto se desarrollado una aplicación.
No es común capacitar a los usuarios de un sitio web, pero a menudo hay un back-end que los administradores tendrán que ser aprender a usar.
El Capacitador relaciona las soluciones que se han creado con el usuario final.
Una importante responsabilidad del Capacitador es explicar cómo la aplicación resuelve el problema del cliente y, como tal, juega un papel importante en asegurar que las
expectativas del cliente sobre el software están en línea con lo que ha sido creado.
RESUMEN DE DESARROLLO DE PROYECTOS
Al hablar de lo qué es el desarrollo del proyecto se trata de la integración de una serie de procedimientos y actividades
haciendo uso de una metodología definida que permita lograr los objetivos y metas de la manera más eficiente y efectiva.
El desarrollo de proyectos comprende el diseño y formulación de un mapa de ruta para cumplir una meta específica, por
esta razón conlleva una serie de etapas, las cuales son:
Detección de Necesidades: se debe hacer un estudio previo para determinar si algún elemento no cumple con los objetivos o
metas y se debe reestructurar, o bien, se busca un elemento a desarrollar que todavía no exista y cubra alguna necesidad.
Definición del Problema: es delimitar el tema a desarrollar y el alcance de las necesidades que se desean atender para así
definir la estructura para lo que es el desarrollo del proyecto.
Definición de Factibilidad: se debe saber si la realización del proyecto es factible y si al ejecutarlo es posible conseguir la
solución de las necesidades.
Planeación del Proyecto: es crear un esquema de trabajo donde se especifique cómo será la delimitación del problema y se
justifique el planteamiento de los objetivos. En esta etapa se definen las fases o etapas del desarrollo del proyecto, además
de los procesos y el control que se llevará a cabo.
Elaboración del Proyecto: se debe poner en práctica la planificación anterior, realizar el diseño y ejecutar la elaboración y la
integración de todos los elementos.
Documentación: al finalizar el desarrollo de un proyecto se debe explicar de forma detallada todo el proceso, su contenido y
si se logró el propósito.

Más contenido relacionado

Similar a Desarrollo de software, métodos tradicionales.pptx

Fases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrolloFases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrolloYip-yip
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxNicolas Ormeño
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Osver Fernandez V
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un softwarejafigueroa26
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un softwareCESARCONTRERAS009
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un softwareCESARCONTRERAS009
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un softwarejafigueroa26
 
García _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxGarcía _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxVictorEduardoHerrera3
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
fases de programacion
fases de programacionfases de programacion
fases de programacioncamila1727
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariaJoshernandezcar
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 

Similar a Desarrollo de software, métodos tradicionales.pptx (20)

Fases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrolloFases del ciclo de la vida de desarrollo
Fases del ciclo de la vida de desarrollo
 
Calidad del diseno
Calidad del disenoCalidad del diseno
Calidad del diseno
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
 
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
Introduccion a la Ingenieria en Sistemas de Informacion, Examen Dos, Guia & R...
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
Proceso y diseño de un software
Proceso y diseño  de un   softwareProceso y diseño  de un   software
Proceso y diseño de un software
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
García _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptxGarcía _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptx
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Miguel achagua
Miguel achaguaMiguel achagua
Miguel achagua
 
fases de programacion
fases de programacionfases de programacion
fases de programacion
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
 
Examen omar
Examen omarExamen omar
Examen omar
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 

Más de JasonPadilla9

Más de JasonPadilla9 (6)

Principios de calidad.pptx
Principios de calidad.pptxPrincipios de calidad.pptx
Principios de calidad.pptx
 
Ciclo de vida del software.pptx
Ciclo de vida del software.pptxCiclo de vida del software.pptx
Ciclo de vida del software.pptx
 
EDT.pptx
EDT.pptxEDT.pptx
EDT.pptx
 
itil.pptx
itil.pptxitil.pptx
itil.pptx
 
Pmbok.pptx
Pmbok.pptxPmbok.pptx
Pmbok.pptx
 
PMI.pptx
PMI.pptxPMI.pptx
PMI.pptx
 

Desarrollo de software, métodos tradicionales.pptx

  • 2. METODOLOGÍA ÁGIL VS TRADICIONAL Caracteristicas Metodología agil Metodología tradicional Estructura organizativa Iterativa Lineal Escala de proyectos Pequeños y medios Grandes Requisitos Dinámicos Bien definidos Implicación del cliente Alta Baja Modelo de desarrollo Entrega Evolutiva Ciclo de vida
  • 3. ETAPAS DEL DESARROLLO DE UN PROYECTO Planificación Antes de empezar un proyecto de desarrollo de un sistema de información, es necesario hacer ciertas tareas que influirán decisivamente en el éxito del mismo. Dichas tareas son conocidas como el fuzzy front-end del proyecto, puesto que no están sujetas a plazos. Algunas de las tareas de esta fase incluyen actividades como la determinación del ámbito del proyecto, la realización de un estudio de viabilidad, el análisis de los riesgos asociados, la estimación del coste del proyecto, su planificación temporal y la asignación de recursos a las diferentes etapas del proyecto. Análisis Por supuesto, hay que averiguar qué es exactamente lo que tiene que hacer el software. Por eso, la etapa de análisis en el ciclo de vida del software corresponde al proceso a través del cual se intenta descubrir qué es lo que realmente se necesita y se llega a una comprensión adecuada de los requerimientos del sistema (las características que el sistema debe poseer). Diseño En esta fase se estudian posibles opciones de implementación para el software que hay que construir, así como decidir la estructura general del mismo. El diseño es una etapa compleja y su proceso debe realizarse de manera iterativa. Es posible que la solución inicial no sea la más adecuada, por lo que en tal caso hay que refinarla. No obstante, hay catálogos de patrones de diseño muy útiles que recogen errores que otros han cometido para no caer en la misma trampa. Implementación En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a construir. Esta elección dependerá tanto de las decisiones de diseño tomadas como del entorno en el que el software deba funcionar. Al programar, hay que intentar que el código no sea indescifrable siguiendo distintas pautas como las siguientes: Evitar bloques de control no estructurados. Identificar correctamente las variables y su alcance. Elegir algoritmos y estructuras de datos adecuadas para el problema. Mantener la lógica de la aplicación lo más sencilla posible. Documentar y comentar adecuadamente el código de los programas. Facilitar la interpretación visual del código utilizando reglas de formato de código previamente consensuadas en el equipo de desarrollo. También hay que tener en cuenta la adquisición de recursos necesarios para que el software funcione, además de desarrollar casos de prueba para comprobar el funcionamiento del mismo según se vaya programando. Pruebas Como errar es humano, la fase de pruebas del ciclo de vida del software busca detectar los fallos cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo antes de que el usuario final se los encuentre. Se dice que una prueba es un éxito si se detecta algún error.
  • 4. ROLES Y RESPONSABILIDADES El Cliente Se puede pensar que tratar al cliente como parte del equipo de desarrollo es extraño, pero en realidad, no lo es: El cliente es un factor importante en el éxito de un proyecto, tanto como cualquier otro miembro del equipo, por eso es importante contar con la participación activa del cliente dentro del proyecto. También es importante entender quién es en realidad “El Cliente”. Tanto si se desarrolla software para clientes actuales, como si se desarrolla para uno mismo, o para la propia empresa u organización, siempre hay un rol de cliente. El cliente, es en esencia, quien pone en marcha el proyecto, paga las cuentas, o define el resultado final. Aun si no se tiene literalmente un “cliente”, es bueno entender que aun así existe un rol “cliente” en su proyecto. Esto puede ayudar a evitar confusiones. Si hay varias personas diciendo que características se necesitan, hay que asegurarse de que exista algún responsable de tomar las decisiones cuando estos requisitos sean contradictorios. El Analista El analista es alguien que es responsable de entender las necesidades del cliente, y asegurarse de que la solución que está siendo desarrollada se ajusta a esas necesidades. Las actividades típicas de un analista incluyen la elicitación de requisitos, reuniones con clientes y la redacción de especificaciones funcionales. Incluso si un proyecto es demasiado pequeño para escribir un verdadero documento de especificación, la comprensión de las necesidades del cliente es un trabajo importante, dado que a menudo el éxito de un proyecto de desarrollo depende de qué tan cerca está la solución desarrollada de las expectativas del cliente. El Arquitecto de Software El papel del arquitecto de software es traducir los requisitos, tal como se define por el analista, en una solución técnica. Él puede crear un diseño técnico, o simplemente algunos bocetos a mano alzada, de cómo el sistema va a estar estructurado. En cualquier caso, es la responsabilidad del arquitecto a pensar en el sistema antes de que se desarrolle. Si se hace bien, durante la fase de diseño que se abordarán correctamente todos los problemas que se enfrenten en el desarrollo de la solución. A menudo hay muchas maneras de lograr algo. El arquitecto de una aplicación es el que decide qué camino tomar, en base a la arquitectura global que ha elegido. Cuando el desarrollo se ha iniciado, es responsabilidad del arquitecto realizar un seguimiento del desarrollo, para ver si todavía se mantiene en consonancia con el diseño general. El Arquitecto del Sistema Al igual que el arquitecto de software, el Arquitecto del Sistema es responsable de pensar el sistema antes de construirlo. Asi como el arquitecto de software es responsable para el software, un arquitecto del sistema es responsable del hardware. Muchas aplicaciones ejecutan completamente en un único servidor. Muchos otros sin embargo se ejecutan en grupos de servidores, con servidores dedicados de bases de datos, servidores web y balanceadores de carga. Un arquitecto del sistema tiene en cuenta los requisitos de rendimiento y disponibilidad, el número de usuarios / visitantes, etc. y en base a esto, diseña una infraestructura de servidores y una red. El Desarrollador de Software El desarrollo efectivo de una aplicacion es hecha por los desarrolladores del equipo. Pero un desarrollador tiene más responsabilidades que solo escribir código. Él es a menudo responsable de hacer el seguimiento de su propio progreso, e informar al jefe de proyecto de los problemas a los que se enfrenta. Él es también quien implementa las ideas del arquitecto, y como tal, puede tener que discutir las (in)posibilidades de la implementación con el arquitecto. Una responsabilidad importante es documentar el código. Mientras que muchos desarrolladores piensan que la documentación es algo que será realizado mejor por alguien más, esta es en realidad una responsabilidad importante del desarrollador.
  • 5. La Documentación de Código tiene como objetivo el explicar a otros desarrolladores aquellas cosas que no resulten evidentes o claras a partir de la lectura del propio código en sí. Se debe dar una idea de por qué un fragmento de código es de la manera que es. El desarrollador es el único que conoce los pensamientos e ideas detrás del código que escribe, lo cual lo convierte en el candidato perfecto para documentarlo. El Jefe de Desarrolladores Un desarrollador líder, que tiene las mismas responsabilidades que los otros desarrolladores, pero también tiene añadidas algunas más. Un desarrollador líder debe entrenar a los otros desarrolladores, y ayudarles a resolver los problemas que puedan enfrentar. Este desarrollador, que suele ser el miembro del equipo más experimentado, también será capaz de asegurarse de que la ejecución sigue de cerca al diseño planteado, y no se dé lugar a lo que se denomina “invasión de características” durante el desarrollo. El desarrollador líder tiene una gran influencia en la calidad del código. El Diseñador Gráfico “Lo de dentro es lo que cuenta.”, es tan cierto, como que también la percepción de los usuarios depende mucho de la mirada y la sensación que le produce una aplicación o sitio web. No importa lo buena que la aplicación sea, si la interfaz es inconsistente, se sentirá menos robusto. Es importante reconocer el papel del diseñador en un proyecto. Es bueno tener alguien encargado de la disposición general de una aplicación. Esto puede ir desde el diseño completo de la interfaz de usuario, hasta el definir sólo algunas directrices de interfaz de usuario que los desarrolladores deban cumplir. Incluso si el diseño está determinado por los desarrolladores, es una responsabilidad importante crear un diseño consistente en toda la aplicación. El Tester Las pruebas son una parte importante para asegurar que el software funciona de la manera que debería. El papel de ‘tester’ se realiza a menudo por los desarrolladores para los aspectos técnicos y los usuarios para los aspectos funcionales. Un problema que surge de hacer a los desarrolladores probar su propio código es que, no importa lo bueno que sean, se ven influidos por la forma de su código fue creado. Cuando se prueba, se tendrá en cuenta esas mismas situaciones que que ya se tuvieron en cuenta a la hora de escribirlo. Si se prueba código de otra persona, se puede pensar en escenarios que la otra persona no los pensó. Así que incluso si no se tiene un equipo de Testers dedicado, es una buena idea que cada desarrollador pruebe código de otro desarrollador, en lugar del suyo propio. El Gerente del Proyecto Un gerente de proyecto tiene muchas responsabilidades. Es responsable de la planificación del proyecto, de mantener el proyecto dentro del presupuesto, y de la solución de problemas. En resumen, él resuelve cualquier problema que ponga en peligro el progreso del proyecto. Muchas de las tareas del gerente del proyecto tienen que ver con la comunicación, la comunicación al cliente sobre el progreso del proyecto y la comunicación con todos los miembros del equipo. Incluso en los proyectos de desarrollo que no cuentan con un gerente de proyecto, es conveniente asignar el rol de gerente de proyecto a alguien, para que quede claro quién es responsable de la ejecución del mismo.
  • 6. El Administrador de Cuentas Si usted desarrolla proyectos para clientes, sus proyectos pueden beneficiarse de las funciones de un Administrador de Cuentas. Un administrador de cuentas cultiva la relación con el cliente. Aunque la gestión de proyectos y administración de cuentas se hace a menudo por la mismo persona dentro de un proyecto, hay situaciones en las que ayuda a dividir estos roles. Un administrador de cuentas puede mantener una relación más independiente con el cliente, y avisar si el cliente no está contento con la forma en que se ejecuta el proyecto por parte del gerente del proyecto. Al separar los roles de Administrador de cuentas, y Gerente de proyecto, también lograremos evitar conflictos de interés. El director del proyecto puede concentrarse y proyectar lo mejor de sus habilidades para el funcionamiento del proyecto, mientras que el administrador de cuentas puede tomarse el trabajo de reconocer oportunidades comerciales. El Administrador de sistemas El sistema en que la aplicación será instalada es creado por un administrador del sistemas. Se arman los servidores, se instala el sistema operativo, un servidor web, PHP, una base de datos y cualquier software adicional que se requiera. Incluso antes de que el proyecto se haya terminado, un administrador del sistema puede tener que construir los entornos de desarrollo y ambientes de prueba. Más adelante en el proyecto, se ocupara de mantener los sistemas operando. El Administrador de Código El Código es importante y debe ser tratado como tal, el código necesita ser gestionado. Si varios de los desarrolladores están trabajando en conjunto, el código que escriben deben integrarse en algún momento, independientemente del sistema de control de versiones utilizado. Además, cuando haya terminado, el proyecto debe ser implementado. La implementación del proyecto significa tomar el código y desplegarlo en el servidor. Aunque usualmente no hay una persona manejando esto, es importante identificar dicho rol. El Capacitador Cuando un proyecto se haya completado, los usuarios pueden necesitar ser capacitados, en particular si en el proyecto se desarrollado una aplicación. No es común capacitar a los usuarios de un sitio web, pero a menudo hay un back-end que los administradores tendrán que ser aprender a usar. El Capacitador relaciona las soluciones que se han creado con el usuario final. Una importante responsabilidad del Capacitador es explicar cómo la aplicación resuelve el problema del cliente y, como tal, juega un papel importante en asegurar que las expectativas del cliente sobre el software están en línea con lo que ha sido creado.
  • 7. RESUMEN DE DESARROLLO DE PROYECTOS Al hablar de lo qué es el desarrollo del proyecto se trata de la integración de una serie de procedimientos y actividades haciendo uso de una metodología definida que permita lograr los objetivos y metas de la manera más eficiente y efectiva. El desarrollo de proyectos comprende el diseño y formulación de un mapa de ruta para cumplir una meta específica, por esta razón conlleva una serie de etapas, las cuales son: Detección de Necesidades: se debe hacer un estudio previo para determinar si algún elemento no cumple con los objetivos o metas y se debe reestructurar, o bien, se busca un elemento a desarrollar que todavía no exista y cubra alguna necesidad. Definición del Problema: es delimitar el tema a desarrollar y el alcance de las necesidades que se desean atender para así definir la estructura para lo que es el desarrollo del proyecto. Definición de Factibilidad: se debe saber si la realización del proyecto es factible y si al ejecutarlo es posible conseguir la solución de las necesidades. Planeación del Proyecto: es crear un esquema de trabajo donde se especifique cómo será la delimitación del problema y se justifique el planteamiento de los objetivos. En esta etapa se definen las fases o etapas del desarrollo del proyecto, además de los procesos y el control que se llevará a cabo. Elaboración del Proyecto: se debe poner en práctica la planificación anterior, realizar el diseño y ejecutar la elaboración y la integración de todos los elementos. Documentación: al finalizar el desarrollo de un proyecto se debe explicar de forma detallada todo el proceso, su contenido y si se logró el propósito.