Desarrollo de aplicaciones con Django en MacOS High Sierra

En este artículo quiero comenzar a introducir mis experiencias en el desarrollo de aplicaciones con Django en un equipo Mac OS High Sierra. El sistema operativo como ya lo mencioné es macOS High Sierra versión 10.13.2, procesador: Intel Core i5 2.5 Ghz, memoria ram: 8 GB 1600 Mhz DDR3. La versión de Python es la 3.6.3 y la versión de Django es la 1.11.7, para los desarrollos de prueba utilicé la base de datos MySql 5.7.20.

Para que funcione Django tanto desde la terminal como desde Eclipse, que es el IDE que utilizo para programar, copié la carpeta de Django al directorio donde se encuentra instalado Python3 en Mac: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/

Por otra parte, también creé una carpeta para colocar mis aplicaciones de prueba en el directorio raíz del usuario en Mac: /Users/abrun/Documents/workspace-django
Para la administración de la base de datos Mysql, instalé PhpMyAdmin 3 y activé el servidor apache que trae por defecto MacOS, así como PHP que también viene por defecto con MacOS.

Una vez instaladas todas las herramientas adecuadas, es importante comenzar con la puesta en marcha del desarrollo, para esto, se debe crear la base de datos, yo lo realizo mediante PhpMyAdmin que facilita esta acción.

Luego se debe crear la aplicación en Django, lo que se realiza mediante el siguiente comando desde la terminal de MacOS ubicado en el directorio donde queremos que quede esta aplicación:

django-admin startproject mysite

donde mysite corresponde al nombre que se le quiere poner a la aplicación. Este comando crea un contenedor donde se podrán colocar todas las aplicaciones que pertenezcan a esta aplicación principal. Luego podemos proceder a crear la primera aplicación principal mediante el siguiente comando:
python3 manage.py startapp polls, ubicados en la terminal dentro del directorio creado con el comando anterior.

Luego se deben ejecutar los siguientes comandos desde la terminal de MacOS ubicado en el directorio de la aplicación que se acaba de crear:

$python3 manage.py migrate (Crea las tablas de las aplicaciones base de Django)
$python3 manage.py makemigrations polls (Crea sql para la aplicación polls)
$python3 manage.py migrate polls (Crea las tablas de la aplicación polls en la base de datos)
$python3 manage.py createsuperuser (Crea el usuario administrador para la aplicación polls)

Para poder ver funcionando la aplicación en el navegador web, se utiliza el servidor de desarrollo con el que viene Django, mediante el siguiente comando se pone en marcha este servidor de prueba:

$python3 manage.py runserver

Para detener el servidor, lo único que se debe realizar es presionar la combinación de teclas Ctrl+C

De esta manera doy comienzo a esta serie de artículos orientados al desarrollo de aplicaciones con Django sobre MacOS.

Una pincelada sobre la Gestión de proyectos ágiles con Microsoft Sure Step Evolved

Basado en mi experiencia como jefe de proyectos en Chile, trabajando para una consultora especializada en la implementación de Microsoft Dynamics, pude comprobar que la implementación de proyectos bajo metodologías ágiles es una tendencia que están buscando las empresas de todos los rubros actualmente. Tuve la fortuna de implementar exitosamente más de una docena de proyectos, y en la mayoría de estos la tendencia fue trabajar con metodologías ágiles.

Actualmente Microsoft viene trabajando con una metodología que ellos desarrollaron llamada Microsoft Sure Step Evolved, enfocada en las implementaciones de proyectos de TI para la suite de productos Microsoft Dynamics, basada en el método iterativo, es una evolución de su metodología Microsoft Sure Step, la cual es una adaptación de la metodología en cascada.

La implementación de proyectos ágiles con la metodología Microsoft Sure Step Evolved, reduce la documentación y se enfoca principalmente en entregar incrementos de valor de producto con menores tiempos, aumentando la participación del cliente durante todos los ciclos de implementación del proyecto. Es importante resaltar que el involucramiento del cliente permite aumentar el éxito del proyecto, ya que satisface al máximo cada uno de los requerimientos del cliente incluídos dentro del alcance del proyecto, se mantiene la motivación y el nivel de participación del cliente, se reduce el doble trabajo y se optimizan al máximo los recursos, así mismo se fomenta una excelente relación cliente-proveedor que genera mejores frutos a futuro para ambas compañías manteniendo una relación a largo plazo.

El proceso de implementación con esta metodología se descompone principalmente en las siguientes etapas: diagnóstico, iniciación de proyecto, ejecución iterativa, estabilización, operación/despliegue y soporte.

Describiendo brevemente cada una de estas etapas podemos decir que durante la etapa de diagnóstico se establecen las metas del proyecto, se define el enunciado del trabajo y los términos contractuales; se realiza un bosquejo de toda la solución incluyendo los tiempos y el resultado deseado; se define la WBS general del proyecto y se formaliza la estructura del equipo de trabajo.

La etapa de iniciación de proyecto consiste en la preparación del proyecto en general, el involucramiento del equipo de trabajo para el proyecto, y en el caso de las implementaciones de Microsoft Dynamics, involucra también la preparación de los ambientes de configuración y pruebas, incluye igualmente el diseño del gobierno del proyecto y la reunion de inicio de proyecto.

En la etapa de ejecución iterativa se desarrolla el núcleo del proyecto ya que se define el estado de los futuros procesos de negocio, se definen y detallan los requerimientos funcionales, los datos y las integraciones necesarias. Así mismo, durante esta etapa se definen los diseños funcionales para los sistemas a implementar. En la etapa de ejecución iterativa se comienza con la construcción de la solución y comienza la interacción e iteración directa con el cliente.

Durante la etapa de estabilización se realizan todas las pruebas necesarias para comprobar la estabilidad del sistema implementado y su consistencia de acuerdo con las integraciones realizadas con otros sistemas. Es en esta etapa donde se realiza el mayor esfuerzo y trabajo en conjunto entre el cliente y la empresa que implementa el software para conseguir un sistema estable, funcional y que pueda satisfacer todos los requerimientos del cliente, planteados y acordados durante la definición del alcance del proyecto. Una vez que se han ejecutado y aprobado a satisfacción las pruebas del sistema implementado, así como también acordados los requerimientos que no podrán cumplirse dentro de las restricciones propuestas al proyecto, se realiza una reunion entre los representantes del cliente y de la empresa consultora para definir la puesta en operación del sistema implementado.

Operación, es la etapa en la cual se da la puesta en marcha del sistema implementado, se realizan las últimas pruebas de aceptación de los usuarios y se comienzan las capacitaciones a los usuarios finales y los administradores del sistema implementado. Una vez los usuarios están listos para comenzar a utilizar el nuevo sistema, se realiza la migración del sistema desde el servidor de configuración hacia el servidor definitivo en producción y comienzan los usuarios a trabajar en la nueva aplicación.

La etapa de soporte consiste principalmente en identificar nuevas necesidades del negocio o de los usuarios durante el uso del sistema implementado y planear posibles nuevos planes de trabajo y mejoras.

La metodología Microsoft Sure Step Evolved es un excelente acercamiento a la implementación exitosa de proyectos ágiles aportando en calidad y optimización de recursos para conseguir la satisfacción del cliente y obteniendo relaciones duraderas.

Mayor información en español: http://www.comunidad365.com/