Metodologías Ágiles

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Metodologías Ágiles

Durante el desarrollo de un proyecto las metodologías ágiles son el futuro para adaptarse a un dinamismo empresarial actual. En contraste con las metodologías más rígidas de la gestión de proyectos tradicional, de esta forma surge agile, una alternativa que beneficia a la organización y a los clientes.

Este tipo de métodos tiene su origen en el desarrollo de software, pero es frecuente encontrarlo en sectores y aplicaciones de áreas distintas que se benefician de las ventajas que ofrece.

Las metodologías tradicionales en muchas ocasiones tenían una falta de resultados satisfactorios en la aplicación para proyectos informáticos que se caracterizan por la continua implementación de cambios, que muchas veces son demandados por los clientes.

Las metodologías ágiles tienen una mayor efectividad en comparación a los métodos tradicionales que se caracterizaban por una rigurosa documentación, permitiendo minimizar el impacto de las tareas que no sean por completo imprescindibles para el logro de los objetivos del proyecto.

De esta manera el método ágil remarca cuatro valores fundamentales:

Individuos e interacciones por encima de herramientas

La mejor manera de asegurar la productividad tiene que centrarse en el reconocimiento del recurso humano que esté calificado y tenga las capacidades técnicas necesarias que faciliten la adaptación al entorno, el trabajo en equipo y la interacción con el usuario. Dando mayor importancia a la conformación de un buen equipo de trabajo que a los procesos o herramientas.

Software por encima de la documentación

En esta metodología se respeta la importancia de la documentación de un proyecto, no obstante, se prioriza que solo se hagan documentos necesarios que contengan información fundamental y breve.

Colaboración del cliente

Las metodologías ágiles integran al cliente directamente con el equipo de trabajo para obtener mejores resultados, ya que el cliente está involucrado desde el principio del proyecto puede hacer las correcciones que considere necesaria durante todo el proceso de desarrollo.

Respuesta al cambio por encima del seguimiento de un plan

Estas metodologías soportan un ritmo de trabajo que sea capaz de enfrentar cambios con respecto a los requerimientos iniciales de un proyecto utilizando toda la información que se tenga a disposición de forma ágil, los cambios pueden ser ajustes pequeños o hasta cambios legislativos, pudiendo pasar por la actitud de la competencia o nuevas tendencias dentro de la tecnología.

En el horizonte de las metodologías ágiles hay diversas opciones entre las que podemos contar con Extreme Programming, SCRUM, Kanabn, Desarrollo adaptativo, que son algunas de las alternativas. Para conocerlas un poco se describirán un poco sus características de cada una.

Extreme Programming

Está basada en la integración del cliente y el equipo de desarrollo fomentando una interacción frecuente, lo que facilita una mayor adaptación a los cambios minimizando errores. Esto requiere de un equipo formado de pocas personas que desarrollen versiones operativas del sistema sin que tenga todas las funcionalidades para agilizar resultados.

Scrum

Esta se enfoca a proyectos muy cambiantes en los requerimientos, facilitando la solución a problemas específicos que surjan durante el desarrollo del proyecto, aunque hay que mencionar que uno de sus inconvenientes se encuentra en que debido al ritmo de trabajo que se encuentra bajo enorme presión al tener que realizar las entregas parciales a tiempo, genera un gran estrés dentro del equipo.

Kaban

Esta técnica se enfoca en la clasificación de las tareas de acuerdo con su estado determinando los niveles de productividad en cada una de las fases del proyecto. Debido a su simplicidad facilita la planificación y designación de responsabilidades. Aunque la efectividad se ve afectada cuando las tareas son complejas y el nivel de trabajo es alto.

Desarrollo adaptativo de Software

La principal característica que lo define es su orientación hacia los componentes de software más que a las tareas y es tolerante con los cambios. Dentro de las fases principales de esta metodología está la planificación y características del software, el desarrollo de las características, la revisión de calidad y por último la entrega al cliente. Aquí la revisión de componente tiene la función de mostrar errores y aprender de estos para iniciar de nuevo la fase del desarrollo.

Como se ha podido exponer no es una sola metodología que se deba seguir para el desarrollo de algún proyecto, debe tomarse en cuenta las características de cada una para poder tomarla y adaptarla al contexto de cada proyecto.

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Las 3 Metodologías Más Utilizadas Para La Gestión De Proyectos

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Las 3 Metodologías Más Utilizadas Para La Gestión De Proyectos

  • El Diagrama de Gantt y la gestión de proyectos

El Diagrama de Gantt lleva utilizándose durante cerca de siete décadas y es una de las más famosas metodologías para la gestión de proyectos. La simplicidad de su estructura y lo manejable de su planteamiento lo configuran como la herramienta ideal tanto para quienes están iniciándose en la Dirección de Proyectos como para quienes ya cuentan con una nutrida experiencia en el project management. El Diagrama de Gantt como metodología para la gestión de proyectos, podría resumirse así:

Se compone de dos ejes donde se recogen las tareas y actividades que componen un proyecto y se asocian a un cronograma, quedando reflejada su duración, momento de inicio y plazo de entrega previsto. 

En este eje de coordenadas también hay espacio para marcar las distintas fases que forman el proyecto y para resaltar los eventos o acontecimientos que suponen un hito reseñable para los participantes en el mismo. 

Las principales dificultades del Diagrama de Gantt se derivan del establecimiento de prioridades y la detección de dependencias entre actividades. 

Aporta una visión clara y realista de la situación pero requiere e actualización continua para garantizar su validez. 

Su aplicación no es recomendable para proyectos sujetos a muchos cambios, porque no les resultaría de utilidad; ni para los que se basan en un planteamiento demasiado sencillo, ya que incorporar esta metodología complicaría innecesariamente la gestión.

  • Pert/ CPM, aliados en la gestión de proyectos

Pert es una de las metodologías para la gestión de proyectos más utilizadas, en especial porque suele actuar como complemento de CPM y del Diagrama de Gantt. Esta técnica consiste en:

Determinar las actividades en que se desglosa el proyecto, sus dependencias y su duración para aplicar una función probabilística que ayude a calcular el tiempo total de ejecución en base a una perspectiva optimista, pesimista o normal que, combinadas permiten determinar el tiempo estimado para cada actividad.

Con los datos obtenidos se puede diseñar una malla compuesta por nodos que permite determinar la ruta crítica y su desviación estándar, así como la varianza para cada actividad.

Esta metodología resulta muy práctica cuando el proyecto combine actividades que se ejecutan en secuencia y en paralelo.

CPM, el Camino de la Ruta Crítica muestra la trayectoria óptima de un proyecto y sus actividades. Hallar este recorrido simplifica la gestión del proyecto, sin embargo, basarse sólo en esta herramienta resulta arriesgado ya que no contempla la incertidumbre. Otros aspectos que se deben conocer acerca de CPM son:

Conociendo las actividades que componen el proyecto, sus prioridades y sus dependencias pueden asociarse a un plazo determinado. De esta forma, es posible establecer los recursos necesarios en cada caso y distribuir las cargas de trabajo.

Con estos datos se puede visualizar la ruta crítica, que se calculará en función de las actividades sucesivas cuya holgura sea igual a cero.

En su aplicación ha de tenerse en cuenta que puede existir más de una ruta crítica y que es fundamental la actualización.

  • Gestión de proyectos por el Método de la Cadena Crítica

El Método de la Cadena Crítica es el más joven de todas las metodologías para la gestión de proyectos propuestas y, sin embargo, la más aplaudida por sus excelentes resultados en cuanto a la gestión de proyectos. Está especialmente indicado para proyectos complejos por su cualidad de simplificar el seguimiento y control a ejercer. Los aspectos más destacables de esta técnica son:

Facilita el establecimiento de prioridades y la toma de decisiones. Garantiza una efectiva protección de proyecto.

Su funcionamiento se basa en la detección de las actividades que marcan la duración máxima del proyecto, que pasan a ser consideradas como actividades críticas.

Para lograr la eficiencia se reducen los plazos estimados para la consecución de las actividades, según el planning inicial y, en su lugar, se establecen amortiguadores de tiempo que se sitúan en puntos estratégicos.

Pueden distinguirse tres tipos de amortiguadores (de proyecto, de alimentación y de recurso), cada uno de los cuales cuenta con una función de protección distinta, siendo todas ellas complementarias y necesarias.

La forma de controlar el desarrollo del proyecto se reduce a monitorizar la velocidad de consumo de los buffers y tomar las acciones necesarias cuando convenga.

 

 

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Consejos Para El “Desarrollo Seguro De Aplicaciones”

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Consejos Para El “Desarrollo Seguro De Aplicaciones”

    • 1. Ningún componente es confiable hasta demostrar lo contrario
    • Un error común en el desarrollo de software es englobar funcionalidad sensible en un ambiente de ejecución sobre el cual no tenemos ningún tipo de control. No es debido suponer que los componentes del sistema son confiables hasta que esto pueda ser demostrado. Por ejemplo, si tenemos un entorno de cliente-servidor, se deben tomar las precauciones contra posibles clientes adulterados desplegando mecanismos de verificación. Debemos pensar que éste se encuentra en el dominio del usuario, quien no siempre tendrá las mejores intenciones.
    • 2. Delinear mecanismos de autenticación difíciles de eludir
    • La autenticación es el proceso que nos permite acreditar la identidad del usuario y asignarle un identificador único. El desarrollo de métodos autenticación centralizados que cubran cada posible camino de ingreso es uno de los pilares en la construcción de aplicaciones seguras. Si se trata de páginas web, debemos pensar qué sitios requerirán el manejo de usuarios autenticados, y cuidar que terceros indebidos no se entrometan en el sistema desde URLs no protegidas. La utilización de múltiples factores de autenticación nos permitirá reforzar el sistema comprobando no sólo lo que el usuario sabe sino, por ejemplo, también lo que éste posee.
    • 3. Autorizar, además de autenticar
    • La autorización es el proceso que designa si un usuario autenticado puede o no realizar una acción que cambia el estado del sistema. Los procesos de autorización sobre usuarios autenticados deben ser pensados desde el diseño y previenen contra sesiones que han caído en las manos equívocas.
    • 4. Separar datos de instrucciones de control
    • Este punto es clave cuando se trabaja con código capaz de modificarse a sí mismo, o lenguajes que compilan dicho código en tiempo de ejecución -tales como JavaScript-, donde las mismas instrucciones se reciben como datos. Entonces, se vuelve de suma importancia sanear las entradas que recibe el sistema para evitar que atacantes puedan manipular el flujo de ejecución ingresando datos maliciosos.
    • 5. Validar todos los datos explícitamente
    • Las entradas al sistema deben evaluarse con una filosofía de lista blanca por sobre lista negra: determinar qué se permitirá, y denegar todo aquello que no se corresponda. Debemos pensar que un atacante interpreta los datos como posibles lenguajes de programación, con la intención de manipular el estado del sistema. Por esto, se torna necesario inspeccionar estos datos de entrada, generando los procedimientos automáticos para llevarlos a formas canónicas bien conocidas.
    • 6. Utilizar criptografía correctamente
    • La comprensión de las nociones criptográficas que aplican al sistema en desarrollo es necesaria para poder entender qué elementos y qué característica de los mismos se busca proteger, contra qué formas de ataque, y consecuentemente, cuál es la mejor manera de lograr este objetivo. La creación de propias soluciones criptográficas, como siempre, es una decisión riesgosa que puede derivar en un sistema defectuoso, y por tanto es rotundamente desaconsejada. En cambio, se debe acudir al correcto asesoramiento para encontrar las librerías y herramientas que nos permitan aumentar el costo de ataque para el cibercriminal.
    • 7. Identificar datos sensibles y cómo se los debería gestionar
    • Resulta complicado proteger nuestra información si no tenemos en claro qué es lo que realmente buscamos cuidar. La definición de los datos cuya protección resulta fundamental para el funcionamiento del sistema es crítica, puesto que a partir de ella podremos comenzar a esbozar los procesos para el diseño de la seguridad desde el mismo comienzo del ciclo de desarrollo, y no como un añadido en las etapas de implementación o despliegue.
    • 8. Considerar siempre a los usuarios del sistema
    • Un sistema técnicamente perfecto que no cubre las necesidades de los usuarios es un sistema inservible. La seguridad utilizable debe ser una de las metas a alcanzar cuando se plantean los objetivos de seguridad para el sistema. Por un lado, no es prudente transferir al usuario cuestiones de seguridad que pueden resolver los mismos desarrolladores, a fin de evitar la fatiga. 9. La integración de componentes cambia la superficie de ataque
    • Las aplicaciones actuales constituyen sistemas complejos con muchos componentes interactuando de manera simultánea. Cada vez que se realiza un cambio en el sistema, el panorama de seguridad cambia y debe ser revaluado. Esta rexaminación es el resultado de la coordinación entre las áreas y proyectos.
    • 10. Considerar cambios futuros en objetos y actores
    • Desde el diseño, debemos considerar que las propiedades del sistema y sus usuarios cambian constantemente. Algunos factores a considerar son el crecimiento de la población de usuarios, cómo las migraciones afectan al sistema, o cómo afectarán vulnerabilidades futuras sobre componentes que se han desplegado a gran escala.
    • En resumen…
    • Las organizaciones actuales han comenzado a comprender que la identificación y remediación temprana de problemas posee un costo inversamente proporcional al tiempo que el error permanece en el sistema.
  •   
No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

10 Tips Para Ser Un Buen Consultor De SAP

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

10 Tips Para Ser Un Buen Consultor De SAP

1.- Tener buena relación con el equipo: Siempre que nos enfrentamos a un nuevo proyecto, es importante trabajar en equipo tanto con los miembros del usuario final como los colegas, no importa que tengas todo el conocimiento y todos los años de experiencia. Siempre habrá algo nuevo que aprender.

2.- Mantener una imagen profesional: Es importante mantener una imagen corporativa acorde a las políticas de vestuario del cliente, de igual manera observar un comportamiento adecuado en las fiestas corporativas, compartir con el cliente y gente del equipo sin pasarse de copas.

3.- Saber decir “NO”: Si realmente no conoces algún tema en específico nunca digas que sí lo conoces, puedes llegar a cometer errores en el sistema que complicarán el avance del proyecto, sino estas seguro de poderlo hacer es mejor decir NO a tiempo.

4.- Capacitarse y mantenerse actualizado: Es muy importante mantenerte actualizado y capacitarte constantemente, una certificación en SAP en el módulo en el cual eres experto te abrirá muchas puertas, muchos clientes piden que el consultor esté certificado. Si igual tienes muchos años de experiencia y no te certificaste, hacerlo ahora te dará la oportunidad de ser más competitivo.

5.- Pensar fuera de la caja: A veces pueden existir situaciones en las diferentes fases del proyecto que lo hacen difícil, lo importante es detectar las fallas a tiempo y comentar con el equipo para tener diferentes opciones de solución, levantar la mano a tiempo si algo no se puede resolver para encontrar una solución alterna siempre será bienvenido.

6.- Entender las necesidades del cliente: Es importante escuchar al cliente para entender cuáles son sus expectativas y aterrizarlas cuando haga falta, explicar claramente lo que se hará y cómo se hará para involucrarlo, pues gran parte del éxito depende de su apoyo y disposición.

7.- Adaptarse a los cambios: Parte de la vida como consultor es viajar, por ello es importante saber adaptarse para estar mucho tiempo solo y sin familia, si tienes tiempo libre aprovéchalo para conocer nuevos lugares, hacer ejercicio, leer, meditar y cultivar hábitos que te hagan estar confortable contigo mismo en cualquier lugar. Es importante tener un balance entre la vida y el trabajo.

8.- Ser comprometido con tu proyecto: Como consultor no sólo tienes la responsabilidad de hacer un trabajo impecable sino entregar y documentar todo correctamente, dejar una buena impresión del trabajo realizado. Por corta que sea tu participación dará para hablar muy bien de ti y seguro tendrás más contratos, al final del día en el mercado todo se sabe y un buen nombre te hará más confiable, cualquier empresa va a querer trabajar contigo.

9.- Ser bilingüe: Es relevante para no perderte la oportunidad de trabajar con importantes compañías a nivel global.

10.- Saber comunicarse: Expresar bien y a tiempo las dudas, preocupaciones, situaciones familiares, problemáticas del proyecto, diferencias con el cliente, con el equipo, problemas en la implementación, entre otros, hará que puedas encender las alarmas a tiempo. No hay nada que no tenga solución, pero siempre avisa a la compañía que te contrató sobre todo lo que consideres relevante o que veas que afectará tu desempeño, nunca te quejes con el cliente final.

Estos ‘tips’ son de gran utilidad si usted quiere ser un buen consultor de SAP. Recuerde que si su empresa está interesada en tener este tipo de perfiles, en Southern Cross Recruitment contamos con más de 10 años de experiencia en el reclutamiento de perfiles SAP en todos los módulos del ERP (FI, CO, MM, SD, EWM, HCM, BO, BI, BW, BPC, CO, EC, LO,IM, IS, SD, SM, PP,PM,PS, QM, SD, SOP, BASIS, LE, LMS, TR) y en las nuevas tecnologías como: HANA, ARIBA, SUCESSFACTORS, FIORI, C4C, S4 HANA, HYBRIS.

No olvides compartir...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn