Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Las técnicas de modelado mejoran la productividad del equipo de desarrollo. Una vez tienes el modelo de datos,
de comportamiento,… los puedes usar para generar código automáticamente. Para aplicaciones “típicas” (tipo
“data-entry” con muchos formularios tipo CRUD) puedes llegar a generar todo el código para otras una parte
considerable.
2. Reduce los defectos en el código. Hay un buen número de herramientas para verificar, testear y validar tus
modelos que permiten detectar errores analizando sólo los modelos. Y ya sabes, cuánto antes detectes un
defecto más barato es repararlo.
3. Los modelos te permiten explorar diferentes alternativas de diseño y arquitectónicas antes de empezar a
desarrollar usando técnicas de simulación.
4. Los modelos simplifican el mantenimiento y la evolución del proyecto (por ejemplo, ayudando a localizar
rápidamente las partes del código a tocar después de un cambio en los requisitos). También facilitan la
reutilización del software en proyectos futuros (el modelado mejora el ROI especialmente cuando la empresa
desarrolla proyectos similares).
5. Los modelos capturan eficientemente el conocimiento del sistema. Los modelos son la mejor documentación. Lo
que simplifica la integración de nuevos miembros al equipo.
6. Muchos de tus clientes te van a pedir los modelos del software que desarrolles para ellos. En muchas
administraciones públicas, seguir un proceso de ingeniería de software bien formalizado (y por tanto con sus
fases de análisis y diseño y los modelos correspondientes) es obligatorio para participar en los concursos
públicos. Recuerda que el modelado no está reñido con el desarrollo ágil.
7. Los que hacen dibujitos cobran más que los que programan. A lo mejor dibujar es menos “sexy” pero ser bueno
analizando sistemas software (y expresando estos análisis mediante el uso de modelos software) está mejor
pagado que dominar los últimos frameworks JavaScript. Hay excepciones pero ésta es la regla habitual.
2DA PREGUNTA
Para que la implantación de un software empresarial llegue a buen puerto, es muy importante que el empresario se
implique mucho en el proceso de implantación ya que suele requerir una inversión elevada de tiempo.
El cometido de la implantación de un software de gestión suele ser las ganancias, cosa que se consigue con los
programas de gestión empresarial , ya que agilizan el procesamiento de datos para hacer la compañía lo más eficiente
posible.
Cabe reseñar, que implementar un software de gestión empresarial también conlleva algunos riesgos. La tecnología
informática produce grandes beneficios, pero no es barata y llevar el proceso de implantación de manera incorrecta
puede tener efectos negativos en la empresa.
Enumeramos algunos pasos que deben seguir los empresarios para la exitosa implantación de un software empresarial
en sus empresas.
Esto le ayudara a evitar procesos redundantes, agilizar procesos y mejorar la colaboración para hacer que la compañía
sea más eficiente. También le ayudara a transmitir de manera más eficiente estos conceptos al implantador de la
solución informática.
2. Realizar un presupuesto adecuado
Realizar un presupuesto teniendo en cuenta todas las variables que entran en juego cuando se implementa una solución
empresarial, teniendo en cuenta los costes evidentes y también los ocultos. Desde el coste del software inicial,
actualizaciones, equipos, licencias, mantenimiento, coste de las horas de formación, etc…
3. Planificar la implantación
Establecer plazos para la implantación del software empresarial, reservar días de formación y tener planes alternativos
en caso de que se produzcan retrasos en el proceso de implantación.
Cuando el dueño de la empresa no se involucra totalmente en el proceso de implantación, está provocando su propio
fracaso. La implantación de un sistema de gestión empresarial requiere de un gran esfuerzo – tanto físico como
emocional. Para que el sistema produzca los beneficios esperados su implantación deberá ser una de las prioridades más
importantes de la compañía.
Una de las causas más importantes detrás de los fracasos en las implantaciones es que algunos empleados no conozcan
los beneficios del nuevo sistema. Esto es natural que suceda, por eso es importante formar bien a los empleados para
aprovechar al máximo el nuevo sistema que se ha implantado.
Una implantación no termina cuando se entra en producción, los mantenimientos y las actualizaciones son frecuentes
en estos sistemas para que sigan funcionando de la mejor manera posible y la empresa aproveche las mejoras de las
nuevas versiones.
En conclusión, invertir en un software empresarial supone riesgos, pero cuando se lo lleva a cabo de manera correcta
produce muchos beneficios a la empresa. Mejorando el servicio a los clientes y la facturación, teniendo los inventarios y
los gastos al día y contando con información oportuna para la toma de decisiones acertadas.
3ERA PREGUNTA
Tus creadores dispusieron de 12 principios para definir la filosofía de las metodologías ágiles.
1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan
el cambio para proporcionar ventaja competitiva al cliente.
3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de
tiempo más corto posible.
4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el
proyecto.
5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que
necesitan, y confiarles la ejecución del trabajo.
6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es
la conversación cara a cara.
12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y
perfeccionar su comportamiento en consecuencia.
Descubre qué es y qué no es un proyecto de la mano del especialista Juan Francisco Esquembre en el Webinar: Gestión
de proyectos para desafíos globales
En primer lugar es importante entender que las metodologías ágiles nacen para privilegiar la interacción en los
procesos y facilitar la colaboración con el cliente ante la necesidad de cambios durante el armado del proyecto.
Uno de los aspectos más importantes de las metodologías ágiles es que tienen como principal característica realizar
entregas rápidas y continuas de software funcionando.
La capacidad de “dividir” al proyecto en partes capaces de adaptarse sobre la marcha, complementarse y resolverse en
poco tiempo, ayuda a que si hay que realizar cualquier modificación, sólo se hacen cambios en la parte implicada y en
poco tiempo.
Además de los beneficios en los procesos, también brinda fomenta el trabajo multidisciplinario, la autonomía y
transparencia.
Como todas las partes persiguen un objetivo en común y trabajan con fluidez y flexibilidad, permite que los equipos
obtengan resultados más efectivos.
Gracias a las revisiones continuas y la adaptación al cambio, permite obtener una mirada predictiva sobre el resultado y
esto por descarte minimiza los riesgos de cometer errores inmodificables.
Claro está que gracias a un vínculo fluido con los clientes y una trabajo multidisciplinario, se consiguen resultados
realmente satisfactorios lo que el cliente se convierte en un miembro más del equipo, causando proyectos eficientes y
por lo tanto una gran experiencia de los clientes.
Si bien existen diversas metodologías ágiles como Agile Inception o Design Sprint, incluso muchas empresas deciden
combinarlas, estas son las más utilizadas:
Scrum
Su gran característica es que esta metodología se lleva adelante en “Sprints”, es decir, procesos de trabajo que deben
ser lo más cortos posibles. Al finalizar cada sprint, el equipo debe entregar una versión mejorada del proyecto para que
sea analizada por el Owner y los demás interesados, los cuales darán una devolución, para luego iniciar con el proceso
de mejora.
Otro aspecto muy característico de esta metodología es que propone una forma de trabajar donde se presentan
diversos roles, tales como:
Scrum Master: facilita la aplicación del método de trabajo y gestiona cualquier cambio necesario.
Product Owner: representa a los stakeholders (clientes u otras figuras interesadas en que el proyecto salga
correctamente)
Kanban
Existen plataformas online que traducen muy bien esta metodología, tales como: Monday o Trello y que te ayudarán a
entender su particularidad.
Kanban es una palabra japonesa que traducida al español significa “tarjeta visual”. Esta metodología propone una
comunicación en tiempo real, controlando el trabajo a través de una línea de producción, en la cual se crean tres
columnas: pendientes, en proceso y terminadas.
Esto permite clasificar las tareas y visualizar fácilmente el avance de las mismas.
Extreme Programming o XP
El punto clave que debes comprender de esta metodología es que fue creada para responder a ambientes muy
cambiantes donde se necesita una retroalimentación permanente.
Busca poner más énfasis en la adaptabilidad de un proyecto que en su previsibilidad, ya que asegura que así se
conseguirá el resultado esperado.
En consecuencia, quienes participan en esta metodología entienden que los cambios son inevitables y, de hecho, más
beneficiosos que un crecimiento estático.
¿Qué metodología crees que sería la adecuada para tu organización? ¿Estás preparado para los cambios que se
avecinan?
Las Metodologías Ágiles se orientan a la obtención rápida de resultados y a la satisfacción del cliente. Se prescinde de la
excesiva burocracia. Se tiende a la simplicidad y a la mejora continua tanto del producto del Proyecto como del propio
proceso de gestión del Proyecto. Se consiguen entregas tempranas, continuas y con valor.
Tratamos de controlar la incertidumbre del Proyecto para que, en la media de los posible, esta disminuya.
Para controlar la incertidumbre intentamos definiendo todo el Proyecto desde el principio, estableciendo un plan
detallado del Proyecto.
Tenemos controlados todos los parámetros de control del Proyecto, la calidad, el tiempo, los costes, etc.
Las metodologías ágiles proponen un modelo más adaptativo respecto a la incertidumbre del Proyecto.
Contemplemos el modelo de refactorización, es decir, construir el Proyecto sobre lo ya hecho, en base a agregar valor a
lo que ya tenemos hecho, poco a poco, paso a paso.
En lugar de establecer un plan detallado de todo el Proyecto, lo que hacemos es trabajar sobre unas funcionalidades
básicas que se definen al inicio del Proyecto y que, poco a poco, y teniendo en cuenta el parámetro just in time, para
que no haya puntas excesivas o descontroladas durante el proceso, conseguir un flujo continuo para realizar entregas y
establecer mejoras en el Proyecto.
En lugar de contratos estrictos procuramos tener una relación continuada con el cliente del Proyecto incluso, en algunas
ocasiones. llegamos a contratos de alcance variable que nos convierten no tanto en un proveedor como en un partner
de nuestro cliente.
El objetivo es agregar valor y detectar el error cuanto antes para poder resolverlo y mejorarlo.
En las metodologías ágiles el cambio forma parte del proceso natural del proyecto. Nos sirve de aprendizaje continuo
Pensamos que el Proyecto está perfectamente definido desde el inicio hasta el final y, por lo tanto, el Proyecto no
debería tener muchos cambios.
Cuando hay cambios no suele haber una correcta retroalimentación con el cliente del Proyecto, esto puede acarrear
un desfase importante en el proyecto.
Mientras que en la metodologías tradicionales su naturaleza es resistirse al cambio, en las metodologías ágiles el
cambio forma parte del proceso natural del proyecto.
Los cambios nos sirven como aprendizaje continuo, tanto para el proyecto en vigor, como para proyectos futuros.
El desfase de Proyecto que hemos comentado en las metodologías predictivas no ocurre, o se minimiza, con las
metodologías ágiles, porque continuamente vamos a estar teniendo relación con el cliente y retroalimentándonos para
saber que lo que le estamos entregando es lo que nos han pedido y que es lo que realmente se busca con la realización
del proyecto y, por lo tanto, los entregables del proyecto, están aportando valor al cliente.
Uno de los principios básicos que estructuran y diferencian ambas metodologías (ágiles vs tradicionales) es que las
metodologías ágiles enfocan la gestión de los proyecto a las personas.
El principio básico del manifiesto ágil es que las personas y su interacción están por encima de los procesos.
En las metodologías ágiles el cliente del proyecto forma parte del equipo de proyecto.
Entendemos a las personas que forman parte de nuestro equipo como clientes internos del proyecto.
Entendemos como clientes externos a aquellas personas que nos solicitan el proyecto. Por tanto, el cliente del proyecto,
de alguna manera, forma parte del equipo de proyecto. Lo es en la medida en que lo tenemos en cuenta como una
persona con la que interactuar continuamente.
Tratamos de fomentar una competición individual con un beneficio individual lo cual conlleva, en caso de error, a
castigos y penalizaciones, si bien es cierto las buenas prácticas recomiendan remuneraciones y recompensas.
Nuestro objetivo es generar un flujo de valor continuo para el cliente del proyecto y generar una colaboración, en lugar
de una competencia, para conseguir un beneficio común.
Las evaluaciones en las metodologías ágiles, por tanto, no son individuales sino que hay evaluación de trabajo en
equipo.
Luego se verá quién ha trabajado más o menos, pero el objetivo es común si ganamos, ganamos todos y, si perdemos,
perdemos todos.
La responsabilidad en el proyecto sea adquirida por compromiso, en vez de ser asignada por un project manager.
Evitamos puntas de trabajo desequilibradas y evitando convertirnos en equipos de especialistas, lo contrario a equipo
mulifincionales.
Cuando se necesita un recurso concreto en un proyecto demasiado especializado, siempre vamos tener la opción
de solicitarlo como externo al equipo.
Si todas las personas del equipo de proyecto intentan aprender cada día de lo que hacen los demás y se echan una mano
lao unas a las otras, al final, acabaremos convirtiéndolos en un equipo muy potente y tener un personal muy motivado.
Nos adaptamos dependiendo del entorno, del equipo, o del contexto en el que nos vayamos a mover.
Debemos modificar las lineas bases afectadas por el cambio que se ha producido en el proyecto.
En ágiles podremos reencaminar el proyecto rápidamente cuando las cosas no estén funcionando como teóricamente
estaba previsto en el inicio del proyecto.
En la metodología tradicional priorizamos en base a la visión propia de la dirección del proyecto y no siempre en base a
la visión del negocio
En las metodologías ágiles priorizamos en base a las necesidades del cliente del proyecto en cada momento.
Esto nos hace llevar unos costes más ajustados porque, como establecemos sobre mínimos, en base a funcionalidades y
utilidades del cliente, evitando documentación y detalles exhaustivos, estos costes son más ajustados y es más fácil
escalarlos para obtener beneficios con el proyecto.