¿Qué es un proyecto? Elementos fases y tipos

Standard

¿Qué es un proyecto?

Es un esfuerzo temporal que se emprende con el objetivo de crear un producto o servicio único. Una iniciativa de este tipo requiere de una planificación, orientada al largo plazo, donde se diseñe el modo en que se utilizarán los recursos de la organización para alcanzar las metas planteadas. En este sentido, puede determinarse que todo proyecto tiene un principio y un final, recursos definidos y unos objetivos.

Elementos principales

No es posible conocer qué es un proyecto si no se tienen nociones sobre cuáles son sus principales elementos, los que lo definen, los que personalizan su configuración y sin los que no se puede partir de un punto para llegar a otro.

Son los siguientes:

1.- Planificación estratégica: respaldada por una visión y una misión, revela el propósito y alcance del proyecto, desgranando a modo de cronograma, la sucesión de actividades, las distintas tareas, fases y eventos que componen el ciclo de vida del proyecto, determinando necesidades, limitaciones, riesgos, roles y responsabilidades.

2.- Desarrollo de producto: suele coincidir con la etapa de ejecución aunque, por supuesto, siempre requiere de un esfuerzo previo de diseño y uno posterior de pruebas. A esta fase se asocia también la producción de la documentación necesaria en las condiciones establecidas para ello.

3.- Comunicación: es vital para mantener los niveles de información y actualización necesarios para la toma de decisiones y, a la vez, imprescindible para garantizar la buena salud de las relaciones entre los distintos grupos de interés.

4.- Recursos: desde los temporales a los materiales, incluyendo equipos, herramientas, instalaciones, presupuesto y, por supuesto, también a las personas, el activo más valioso y determinante para la consecución de cualquier proyecto.

Fases

Al plantearse qué es un proyecto es imprescindible visualizar las fases de que se compone. Independientemente del tipo de proyecto, estas etapas siempre son las mismas:

  • Iniciación.
  • Planificación.
  • Ejecución.
  • Monitorización.
  • Finalización.

Tipos

Existen proyectos de todo tipo y enumerarlos todos es casi misión imposible. El área, el presupuesto, la localización, la finalidad, el objetivo, los medios… son muchas las variables que pueden servir para determinar en qué categoría se engloba un proyecto: grande o pequeño, público o privado, de nueva creación o de mejora, de construcción o de montaje, nacional o internacional… Sin embargo, a la hora de, por ejemplo, seleccionar las herramientas de gestión más adecuadas hay que saber discernir entre proyectos simples y complejos. Está claro lo que es un proyecto sencillo: aquél exento de dificultad aparente, de corta duración, objetivos alcanzables, recursos suficientes y niveles de incertidumbre y riesgo muy reducidos. Pero, ¿qué es un proyecto complejo? En este grupo podrían incluirse a todos aquéllos que supongan dificultades de control como:

  • Proyectos de gran volumen con comunicaciones complejas.
  • Proyectos dispersos geográficamente o en los que participan personas y/o empresas de diferentes nacionalidades e idiomas.
  • Proyectos que requieren altos estándares técnicos.
  • Proyectos de larga duración con rotación de personal.
  • Proyectos con múltiples subcontratistas.

¿Proyecto o emprendimiento?

Standard

Esta gráfica sirve en la definición de un proyecto o emprendimiento:

Si entiendes la tecnología y las necesidades de tus usuarios, pero no tienes objetivos de negocio, entonces no tienes un emprendimiento, tienes un hobby

Si tienes la tecnología y objetivos de negocio, pero no entiendes las necesidades de tus usuarios, entonces terminarás con un producto que nadie va a querer usar

Si tienes objetivos de negocio y entiendes las necesidades de tus usuarios, pero no tienes la parte de tecnología, entonces solo tienes una idea, pero no un producto ni un negocio.

fc4f7468-7926-4dca-9a42-cb9e6902cb82-original

Comunicación Satelital a la medida

Standard

Que tal amigos lectores, es un placer como siempre volver a tener la oportunidad de compartirles un poco de conocimiento. Esta vez hablaremos de una tecnología que puede ser de mucha utilidad para algún proyecto que planeen capitalizar.

Imaginen que necesitan supervisar el estado de un proceso en otro país, o en un lugar muy lejano donde no tengan acceso a ningún tipo de red como Internet, redes móviles como 3G, en fin, ustedes entenderán a lo que me refiero. Para este tipo de situaciones existe la posibilidad de utilizar la tecnología de comunicación Satelital.

iridium_next_605px Continue reading

Software + Hardware = ?

Standard

Que tal amables lectores, me da gusto compartirles un poco de información nuevamente.

Esta vez el contenido de esta publicación está dirigido a todos aquellos profesionistas electrónicos/mecatrónicos y también para informáticos/sistemasComputaciones/TIC’s.
Personalmente yo como mecatrónico en muchas ocasiones he presenciado y también he experimentado algunos roces con profesionistas afines a la informática cuando trabajamos en conjunto para un determinado proyecto. Sobre todo en cuanto a programación se refiere. Los mecatrónicos y electrónicos somos personas que utilizamos plataformas  de sistemas embebidos como Arduino, (la cual ya he publicado bastante anteriormente) que nos sirve para realizar una serie de acciones como respuesta a ciertos eventos utilizando programación, y nos va muy bien ya que el manejo de software nos brinda mucha flexibilidad ante cualquier modificación funcional. Esto es muy importante, ya que si desarrollamos utilizando solamente hardware para lograr nuestro objetivo, hay que tener en cuenta que cualquier modificación implica agregar y/o quitar dispositivos físicos lo que ocasiona prolongar bastante los tiempos de desarrollo. Es por esa razón que las plataformas de software embebido se mantienen en crecimiento constante.

Continue reading

Hablando de API’s (Parte 2)

Standard

Hola de nuevo, ¿cómo están?

Vamos a retomar el tema de las API’s. Como quedamos la entrega anterior, vamos a empezar a desarrollar una API REST, esto para que nos quede un poco más claro todo este tema. Desarrollaremos nuestra API sobre el tema medico, con la cual podremos ofrecer a un profesional de la salud un servicio donde pueda registrar a sus pacientes, llevar a cabo una consulta y que pueda agendar dichas consultas. Esto con el fin de que pueda tener un registro de sus pacientes con información básica; así como también un historial por cada paciente de los hallazgos en sus consultas y los temas que se trataron en ella. Como ya les había mencionado, para el desarrollo de nuestra API utilizaremos Ruby on Rails en su versión 5. Sin mas que decir, empecemos nuestro desarrollo.

Lo primero que haremos sera crear un nuevo proyecto en Rails, especificando que utilizaremos una base de datos mysql, al cual yo nombrare como healthcareapi

rails new healthcareapi -d mysql --api

Continue reading

Aprender a Programar Jugando

Standard

Hola a todos, en mi post anterior nos pusimos serios revisando los tipos de competencias que un buen programador debe de contar en su arsenal de conocimientos y habilidades. En este post vamos a enfocarnos en el aprendizaje continuo, pero jugando. 😃

Habiendo actualmente tantos recursos donde aprender como:

  • Libros.
  • Blogs.
  • Tutoriales.
  • Videos.
  • MOOC (Massive Online Open Courses)
  • Degrees y Nanodegrees. (De estos dos últimos hablaré en algún post a futuro).
  • otros…
Destaca uno en particular que son los juegos, que te ayudan a reforzar los conceptos de programación, inteligencia artificial (AI)  o herramientas, tratan de hacerlo divertido en el proceso y promueven que aprendas “ensuciandote las manos”.
Les voy a compartir tres juegos que he usado y estoy usando actualmente en tres plataformas y herramientas diferentes: VIM, R y Ruby.
zelda-nes
Zelda NES Screenshot (tomada de http://www.EmuParadse.me)

Continue reading

Quemar bootloader de arduino en microcontrolador ATMEGA328P

Standard

Que tal amigos lectores, es un placer para mí redactar nuevamente. Esta ocasión traigo ante ustedes algo muy interesante y orientado a beginners makers con afinidad al diseño electrónico. Este tipo de personas suelen ser aquellas que prefieren desarrollar sus propias placas con el objetivo que realicen una labor específica. Esto difiere de las placas de desarrollo tradicionales, las cuales son fabricadas para un propósito general. La ventaja que representa el diseñar tu propia tarjeta electrónica es que se logran optimizar las dimensiones. Lo que acabo de explicar, se aprecia en la siguiente imagen:

13901871_10153827781923634_1741285343_o

Lo que acaban de observar son 2 tarjetas que utilizan la plataforma open-source Arduino para el desarrollo de software. A la izquierda se aprecia la tarjeta oficial Arduino UNO con la cual podemos desarrollar tantos proyectos, como lo permita su capacidad. A la derecha, tenemos una tarjeta que diseñamos en esta compañía en la cual su microcontrolador es el ATMEGA328P, el mismo chip que tiene Arduino UNO. Sin embargo, el circuito de la derecha, lo diseñamos con el único propósito de tomar lecturas de algunos sensores. En el fondo estamos hablando de lo mismo, pero el diseñar tu propia placa genera limpieza, estética y se aprecia como un trabajo más profesional. Continue reading

Matriz de Competencias del Programador

Standard

Esta publicación es el resultado de la experiencia como programador y de la lectura de varios libros, no tanto de una tecnología o plataforma en concreto, si no más bien de conceptos, patrones y buenas prácticas.

En particular decidí escribir al respecto por un par de blogs y un libro que fueron seminales para esta idea:
– La discusión por la cuál nació la idea de este post, aquí se referencia la matriz, y a aparte hay una discusión muy interesante a favor y en contra de estos puntos.
– La matriz de la cual me tomé la libertad de traducir y agregar mis comentarios.
– 97 cosas que todo programador debería saber. A través de historias y anécdotas de programadores experimentados, van ilustrando algunos de los puntos considerados en esta matriz.
Cabe mencionar que más que volvernos expertos en herramientas, yo valoro los atributos como que este fuerte en los conceptos necesarios para ser programadores exitosos, ya que debido a la experiencia, las herramientas, frameworks, etc., pueden variar, pero las buenas bases y prácticas aceleran la adopción de nuevas tecnologías y mejora el desempeño de los equipos.
Gran parte de estos puntos los estamos utilizando activamente en Hunabsys, para definir que buscamos en nuestros equipos de desarrollo, en qué los vamos a entrenar y como base para seleccionar algún nuevo integrante.

Continue reading

El problema que daña a la productividad

Standard

Hola, de nuevo, este momento de hacer una nota de Blog, en los siguientes seguiré hablando de productividad,

Documentar… A muchas personas les molesta documentar, lo  ven como algo inútil, una perdida de tiempo, algo poco funcional y para nada rentable; cuando escucho eso, pienso que esas personas deben tener una excelente memoria. Documentar no solo es para cumplir con una norma, o certificación, documentar nos sirve para evidenciar lo que hicimos de manera formal, conocernos a nosotros mismos y hacerles conocer a las personas que nos leerán en algún futuro lo que pueden o no hacer, brindarles un poco de nuestro conocimiento para que sepan que deben o no deben hacer para las mismas situaciones por las que ya hemos pasado. Además generamos evidencia de lo que se puede mejorar.

He leído algunos libros y muchos artículos  sobre productividad, y he notado que siempre hay un mal que acecha nuestras actividades, de dominarse pudiéramos lograr una productividad excelente.  Las distracciones, son el gran culpable detrás de uno de los mayores destructores de la productividad en la jornada del trabajo: el cambio de contexto.

¿Qué es el cambio de contexto?

Es la forma de estar saltando de una tarea a otra, sin que estas tengan alguna relación. Incluso si tienes la suerte de trabajar desde casa , el cambio de contexto sigue desviando de otras maneras tu productividad.

El cambio de contexto es una forma de multitarea, pero ser multitareas no es siempre bueno,  no se trata de responder distraídamente los correos durante la vídeo-conferencia, si ambas son importantes y demandan de nuestra atención es imposible que hagamos ambas bien.

Continue reading

Manejo de retardos con Interrupciones en Arduino

Standard

Que tal amigos lectores, me da gusto redactar nuevamente. Esta vez traigo ante ustedes algo muy breve, pero sin duda muy práctico. ¿Alguna vez han manejado Interrupciones en programación?, ¿Les parecen un pequeño dolor de cabeza?, ¿Alguna vez han tratado de evadirlas y al final terminan dándose cuenta que son realmente necesarias?. Si alguna de tus respuestas fue un si, tal vez esta información te pueda ayudar mucho. Si no tienes idea de lo que son las interrupciones te recomiendo dar un vistazo en cualquier sitio web de programación y podrás empaparte perfectamente de este concepto.

Continue reading