En el año 2001 Kent Beck y otros 16 notables desarrolladores escritores y consultores conocidos como la alianza agil firman el manifiesto de desarrollo agil
el cual establecia.
Hemos descubierto mejores formas de desarrollar software al construirlo por nuestra cuenta y ayudar a otros a hacerlo por medio de este trabajo hemos llegado a valorar.
A los individuos y sus interacciones sobre procesos y herramientas
El software en funcionamiento sobre documentacion extensa
La colaboracion del cliente sobre la negociacion de un contrato
La respuesta al cambio sobre el seguimiento de un plan
aun que los terminos a la derecha tienen su valor, nosotros valoramos mas los terminos a la izquierda.
hoy en dia vemos que las soluciones de software necesitan presentarse en el menor tiempo posible ya que la perdida de este recurso tan valioso resultaria en una desactualizacion o inutilidad del software requierido y de hecho no se pueden definir de manera precisa todos los requisitos por ejemplo para una pagina web x, esto nos haria pensar que la ingenieria de software pueda quedar atras, pero tambien podemos decir que la ingenieria de software debe evolucionar. un problema importante encontrado por expertos a los metodos prescriptivos es recordar que las personas que desarrollan el software no son robots, con estilos y variedad de trabajo diferente, asi como creatividad, esto lleva a que los metodos mas prescritivos deben presentar alto grado de disciplina por parte de la gente para seguirlos y obtener buenos resultados y segun cockburn la genete se adapta mejor a practicas tolerantes aun que esto talves sea menos productivo.
Que es agilidad: un equipo es agil si es rapido y responde de manera adecuada a los cambio. y va mas alla tambien estimula la comunicacion entre los diferentes integrantes del equipo como se menciona en el manifiesto.
no se debe cometer el error de pensar que la agildad da permiso de inventarse soluciones, ser requiere un proceso y disciplina para lograr software de calidad.
la alianza agil establece 12 principios.
1. Nuestra mayor prioridad es satisfacer al cliente mediante entrega tempranda y continua de software valioso.
2. Bienvenidos los requisitos cambiantes, incluso en fases tardias de desarrollo la estructura de los procesos agiles cambia para la ventaja competitiva del cliente.
3. entregar con frecuencia software en funcionamiento desde un par de semanas hasta un par de meses con preferencia por la escala de tiempo mas corta.
4. La gente de negocios y los desarrolladores deben trabajar juntos a lo largo del proyecto.
5. Construir proyectos al rededor de individuos motivados, darles el ambiente y soporte que necesitan y confiar en ellos para obtener trabajo realizado.
6. el metodo mas eficienta para que la informacion fluya hacia dentro del equipo y hacia afuera es la conversacion cara a cara.
7. el software en funcionamiento es la medida primaria del progreso.
8. Los procesos agiles promueven el desarrollo sustentable los patrocinadores desarrolladores y usuarios deben ser capaces de mantener un paso constante de manera indefinida.
9. la atencion continua a la excelencia tecnica y al buen diseño mejora la agilidad.
10. La simplicidad el arte de maximizar la cantida de trabajo no realizado es escencial
11. las mejores arquitecturas, los mejores requisitos y los mejores diseños emergen de equipos auto-organizados.
12. a intervalos regulares el equipo refleja la forma que se puede volver mas efectivo, entonces su comportamiento se ajusta y adecua en concordancia.
La agilidad se puede aplicar a cualquier proyecto en la medida que el proceso sea diseñado para que el equipo pueda adaptar y coordinar las tareas, conducir la planeacion en una forma que busque la fluidez de un enfoque de desarrollo agil, eliminar productos que no son importantes y los que se mantienen mantenerlos controlados, asi como mantener una estrategia de entregas incrementales al cliente.
QUE ES UN PROCESO AGIL
1. Resulta dificli predecir que requisitos persistiran y cuales cambiaran.
2. El diseño y la construccion estan intercalados en muchas ocaciones.
3. El analisis,diseño y construccion no son predecibles.
es importante no entrar en discucion y tener que elegir entre agilidad o ingenieria de software, es mejor definir un enfoque de ingenieria de software agil.
El dearrollo agil hace enfasis en el ser humano en sus talentos y habilidades el punto clave es que el proceso se ajuste a las personas y habilidades no al reves. Las personas deben desarrollar.
Competencia
Enfoque comun
colaboracion
Habilidad para toma de desiciones
Capacidad de resolucion de problemas confusos
Confianza y respeto mutuo
Organizacion propia
MODELOS AGILES
PROGRAMACION EXTREMA XP
XP utiliza un enfoque orientado a objetos y sigue el siguiente conjunto de reglas y practicas
La planeacion inicia creando historias de usuario similares a los casos de usos a estas el cliente le da un valor o prioridad los miembros del equipo evaluan la historia y asigna un costo el cual se mide en semanas de desarrollo
El diseño sigue el principio de mantenerlo simple, las tarjetas CRC identifican y organizan las clases orientadas a objetos que son relevantes para el incremento actual.
Luego de diseñar las historias y realizar el trabajo de diseño el equipo debe desarrollar una serie de pruebas de unidad, XP apoya la programacion en parejas.
las pruebas de aceptacion en XP se derivan de las historias de usuario
DESARROLLO ADAPTATIVO DE SOFTWARE DAS
Este sea apoya en la colaboracion humana y la organizaicon propia del equipo
la colaboracion efectiva con el cliente ocurrira de manera efectiva solo si desaparecen las expresiones como yo y ustedes.
METODO DE DESARROLLO DE SISTEMAS DINAMICOS DSDM
Nos da un marco para construir y mantener sistemas con un marco de tiempo muy corto mediante la construccion de prototipos en un ambiente controlado por medio de una filosofia tomada del principio de Pareto el 80% de la aplicacion se puede entregar en un 20% del tiempo que tomaria entregar el 100%. esto para cada iteracion.
las tareas de dsdm son
estudio de factibilidad
estudio de negocio
iteracion de modelo funcional
iteracion de construccion y diseño
implementacion
MELE o EN INGLES SCRUM
Los equipos pequeños estan organizados
El proceso debe adaptarse a los cambios tecnicos y de negocio
El proceso produce incrementos frecuentes de software
El trabajo de desarrollo y el equipo estan divididos en particiones o paquetes bajo acoplamiento.
Conforme se realizan los productos se produce pruebas y documentacion constante
Los procesos de mele proporcionan la capacidad de declarar un producto como realizado siempre que esto se requiere
mele incorpora un conjunto de patrones de proceso que resaltan las prioridades del proyecto, la division del trabajo las unidades de trabajo la comunicacion y la retroalimentacion frecuente del cliente.
SPRINT son unidades de trabajo que se requieren para satisfacer un requisito definido en los retrasos en un periodo predefinido.
REUNIONES MELE son reuniones cortas 15 minutos y se responden las preguntas
¿que hiciste desde la ultima reunion?
¿que obstaculos encontraste?
el maestro mele o scrum manager preside la reunion
DEMOSTRACION se entrega el incremento de software al cliente
Scrum supone la existencia de caos
CRISTAL
es una familia de metodos agiles con el fin de lograr un enfoque de desarrollo de software que coloca un premio en la manejabilidad caracterizado como un juego cooperativo de inventiva y comunicacion con recursos limitados con una meta primaria la entrega de software util y una meta secundaria preparase para el juego siguiente
cada equipo debe decidir que miebro de la familia cristal se adapta mejor a ellos.
Los metodos agiles surgieron como necesidad a inicios de este siglo por lo altamente cambiante de requerimientos que se desean automatizar y los pedidos en el menor tiempo y se enfocan en hacer talves un poco de menos la documentacion y concentrarse en elementos de software utilies al cliente, pero por supuesto siempre es necesario llevar un proceso que se adapte a las necesidades de la gente de desarrollo para poder generar un software de calidad.
¿que esperas para la siguiente reunion?
el cual establecia.
Hemos descubierto mejores formas de desarrollar software al construirlo por nuestra cuenta y ayudar a otros a hacerlo por medio de este trabajo hemos llegado a valorar.
A los individuos y sus interacciones sobre procesos y herramientas
El software en funcionamiento sobre documentacion extensa
La colaboracion del cliente sobre la negociacion de un contrato
La respuesta al cambio sobre el seguimiento de un plan
aun que los terminos a la derecha tienen su valor, nosotros valoramos mas los terminos a la izquierda.
hoy en dia vemos que las soluciones de software necesitan presentarse en el menor tiempo posible ya que la perdida de este recurso tan valioso resultaria en una desactualizacion o inutilidad del software requierido y de hecho no se pueden definir de manera precisa todos los requisitos por ejemplo para una pagina web x, esto nos haria pensar que la ingenieria de software pueda quedar atras, pero tambien podemos decir que la ingenieria de software debe evolucionar. un problema importante encontrado por expertos a los metodos prescriptivos es recordar que las personas que desarrollan el software no son robots, con estilos y variedad de trabajo diferente, asi como creatividad, esto lleva a que los metodos mas prescritivos deben presentar alto grado de disciplina por parte de la gente para seguirlos y obtener buenos resultados y segun cockburn la genete se adapta mejor a practicas tolerantes aun que esto talves sea menos productivo.
Que es agilidad: un equipo es agil si es rapido y responde de manera adecuada a los cambio. y va mas alla tambien estimula la comunicacion entre los diferentes integrantes del equipo como se menciona en el manifiesto.
no se debe cometer el error de pensar que la agildad da permiso de inventarse soluciones, ser requiere un proceso y disciplina para lograr software de calidad.
la alianza agil establece 12 principios.
1. Nuestra mayor prioridad es satisfacer al cliente mediante entrega tempranda y continua de software valioso.
2. Bienvenidos los requisitos cambiantes, incluso en fases tardias de desarrollo la estructura de los procesos agiles cambia para la ventaja competitiva del cliente.
3. entregar con frecuencia software en funcionamiento desde un par de semanas hasta un par de meses con preferencia por la escala de tiempo mas corta.
4. La gente de negocios y los desarrolladores deben trabajar juntos a lo largo del proyecto.
5. Construir proyectos al rededor de individuos motivados, darles el ambiente y soporte que necesitan y confiar en ellos para obtener trabajo realizado.
6. el metodo mas eficienta para que la informacion fluya hacia dentro del equipo y hacia afuera es la conversacion cara a cara.
7. el software en funcionamiento es la medida primaria del progreso.
8. Los procesos agiles promueven el desarrollo sustentable los patrocinadores desarrolladores y usuarios deben ser capaces de mantener un paso constante de manera indefinida.
9. la atencion continua a la excelencia tecnica y al buen diseño mejora la agilidad.
10. La simplicidad el arte de maximizar la cantida de trabajo no realizado es escencial
11. las mejores arquitecturas, los mejores requisitos y los mejores diseños emergen de equipos auto-organizados.
12. a intervalos regulares el equipo refleja la forma que se puede volver mas efectivo, entonces su comportamiento se ajusta y adecua en concordancia.
La agilidad se puede aplicar a cualquier proyecto en la medida que el proceso sea diseñado para que el equipo pueda adaptar y coordinar las tareas, conducir la planeacion en una forma que busque la fluidez de un enfoque de desarrollo agil, eliminar productos que no son importantes y los que se mantienen mantenerlos controlados, asi como mantener una estrategia de entregas incrementales al cliente.
QUE ES UN PROCESO AGIL
1. Resulta dificli predecir que requisitos persistiran y cuales cambiaran.
2. El diseño y la construccion estan intercalados en muchas ocaciones.
3. El analisis,diseño y construccion no son predecibles.
es importante no entrar en discucion y tener que elegir entre agilidad o ingenieria de software, es mejor definir un enfoque de ingenieria de software agil.
El dearrollo agil hace enfasis en el ser humano en sus talentos y habilidades el punto clave es que el proceso se ajuste a las personas y habilidades no al reves. Las personas deben desarrollar.
Competencia
Enfoque comun
colaboracion
Habilidad para toma de desiciones
Capacidad de resolucion de problemas confusos
Confianza y respeto mutuo
Organizacion propia
MODELOS AGILES
PROGRAMACION EXTREMA XP
XP utiliza un enfoque orientado a objetos y sigue el siguiente conjunto de reglas y practicas
La planeacion inicia creando historias de usuario similares a los casos de usos a estas el cliente le da un valor o prioridad los miembros del equipo evaluan la historia y asigna un costo el cual se mide en semanas de desarrollo
El diseño sigue el principio de mantenerlo simple, las tarjetas CRC identifican y organizan las clases orientadas a objetos que son relevantes para el incremento actual.
Luego de diseñar las historias y realizar el trabajo de diseño el equipo debe desarrollar una serie de pruebas de unidad, XP apoya la programacion en parejas.
las pruebas de aceptacion en XP se derivan de las historias de usuario
DESARROLLO ADAPTATIVO DE SOFTWARE DAS
Este sea apoya en la colaboracion humana y la organizaicon propia del equipo
la colaboracion efectiva con el cliente ocurrira de manera efectiva solo si desaparecen las expresiones como yo y ustedes.
METODO DE DESARROLLO DE SISTEMAS DINAMICOS DSDM
Nos da un marco para construir y mantener sistemas con un marco de tiempo muy corto mediante la construccion de prototipos en un ambiente controlado por medio de una filosofia tomada del principio de Pareto el 80% de la aplicacion se puede entregar en un 20% del tiempo que tomaria entregar el 100%. esto para cada iteracion.
las tareas de dsdm son
estudio de factibilidad
estudio de negocio
iteracion de modelo funcional
iteracion de construccion y diseño
implementacion
MELE o EN INGLES SCRUM
Los equipos pequeños estan organizados
El proceso debe adaptarse a los cambios tecnicos y de negocio
El proceso produce incrementos frecuentes de software
El trabajo de desarrollo y el equipo estan divididos en particiones o paquetes bajo acoplamiento.
Conforme se realizan los productos se produce pruebas y documentacion constante
Los procesos de mele proporcionan la capacidad de declarar un producto como realizado siempre que esto se requiere
mele incorpora un conjunto de patrones de proceso que resaltan las prioridades del proyecto, la division del trabajo las unidades de trabajo la comunicacion y la retroalimentacion frecuente del cliente.
SPRINT son unidades de trabajo que se requieren para satisfacer un requisito definido en los retrasos en un periodo predefinido.
REUNIONES MELE son reuniones cortas 15 minutos y se responden las preguntas
¿que hiciste desde la ultima reunion?
¿que obstaculos encontraste?
el maestro mele o scrum manager preside la reunion
DEMOSTRACION se entrega el incremento de software al cliente
Scrum supone la existencia de caos
CRISTAL
es una familia de metodos agiles con el fin de lograr un enfoque de desarrollo de software que coloca un premio en la manejabilidad caracterizado como un juego cooperativo de inventiva y comunicacion con recursos limitados con una meta primaria la entrega de software util y una meta secundaria preparase para el juego siguiente
cada equipo debe decidir que miebro de la familia cristal se adapta mejor a ellos.
Los metodos agiles surgieron como necesidad a inicios de este siglo por lo altamente cambiante de requerimientos que se desean automatizar y los pedidos en el menor tiempo y se enfocan en hacer talves un poco de menos la documentacion y concentrarse en elementos de software utilies al cliente, pero por supuesto siempre es necesario llevar un proceso que se adapte a las necesidades de la gente de desarrollo para poder generar un software de calidad.
¿que esperas para la siguiente reunion?
Comentarios