Metodologías de Desarrollo de Software 1 Emprendedores

Metodologías de Desarrollo de Software

Saber programar no significa ser productivo. Muchas veces nos enseñan a programar pero eso no es sinónimo de ser productivo, es más, me atrevo a decir que muchas veces perdemos mucho tiempo tratando de implementar cosas que no nos pidieron y perdemos el enfoque del objetivo inicial que debíamos programar.

Por cosas como esta, necesitamos que alguien nos de una pauta de los límites de hasta dónde podemos poner de nuestra cosecha y hasta donde debemos de dejar de sugerir funcionalidades o perder mucho tiempo tratando de implementar cosas que nunca hemos hecho y no sabemos ni por dónde empezar.

Recuerdo muy bien cuando estaba trabajando en una empresa de publicidad donde yo era el único desarrollador y muchas de las veces no tenía a quien preguntarle si lo que estaba haciendo lo estaba haciendo correctamente o había una mejor forma de implementarlo. Recuerdo también que había otra “empresa hermana” que igual se dedicaba a la publicidad pero en este caso ellos si tenían un equipo de desarrollo pero desafortunadamente nunca trabajan en conjunto, es más, no había buenas prácticas de desarrollo y todo era un caos, muchas veces trabajan directamente en el FTP del servidor y sobre escribían sus cambios cuando alguien más utilizaba el mismo archivo.

Afortunadamente hay muchas metodologías de desarrollo de software que nos ayudan a poder lograr que los equipos de trabajo funcionen muy bien. Si tu equipo de trabajo está funcionando bien deberías tener la capacidad de poder trabajar de forma remota sin ningún problema. A veces los jefes no creen que se puede hacer home office y en verdad dar resultados pero yo les puedo decir que claramente eso es un mito. A mi parecer, la forma más efectiva de trabajar es haciéndolo desde casa por que te da compromisos extras como el no poder hacer “horas nalga” o que ya con que llegues a la oficina a buena hora ya cumpliste.

Pero para poder llegar a trabajar remoto necesitamos tener una buena organización (si deseas saber más puedes ver nuestro artículo sobre El futuro nos alcanza, el trabajo remoto), si estás dedicado al desarrollo de software sin duda lo que tienes que hacer es implementar la metodología Agile/Scrum la cual te ayuda a planificar la capacidad de desarrollo de tu equipo en intervalos de tiempo llamados “sprints” los cuales tienen tareas asignadas para cada miembro de tu equipo de trabajo y ya sólo resta darle seguimiento a través de una llamada diaria en donde contestas 3 preguntas ¿Que hice ayer? ¿Que voy a hacer hoy? ¿Algo me bloquea?.

A mi parecer debes de tener un entorno de comunicación muy robusto para poder hacer que todo tu equipo esté lo mejor comunicado posible. Primero que nada define tu mensajero de comunicación (Skype o Slack son suficientes). Después define el sistema con el cual vas a manejar tus sprints, a mi me encanta utilizar Jira pero ya depende de como te acomodes.

De la misma forma, vas a necesitar utilizar un sistema controlador de versiones que espero que estés utilizando Git y evidentemente un repositorio para subir tu código, a mi me encanta como funciona bitbucket y sobre todo cuando lo conectas con Jira, puedes ver en cada tarea los commits que se hicieron, si ya existen pull request y el status así como si pasó o no el build. La cereza en el pastel para mí es conectar Bitbucket con Slack para que nos envíe notificaciones de todo lo que está sucediendo.

Cuando todo esto está funcionando correctamente entonces si te puedes enfocar a optimizar el código y en verdad ser productivo y no tener que estar llorando por el tráfico, las inclemencias del clima o por que vas a llegar tarde a la oficina porque eso pasó a ser un problema del siglo pasado.

Como gente de TI nos podemos dar el lujo de hacer esas cosas pero no se limita a eso. En realidad, todas las personas que hagan su trabajo en la computadora pueden seguir este tipo de metodologías de trabajo que están orientadas a la productividad. También existen otro tipo de metodologías de trabajo más enfocadas a la repetición de tareas como el seguimiento a ventas o el flujo de trabajo de una fábrica pero esas metodologías las veremos con calma en otra ocasión.

Recuerda que para apoyar al blog lo compartas y te suscribas.

Si te gustó nuestro artículo y quieres ser el primero en recibirlos cuando sean publicados suscribete a nuestro blog.

<script type=”text/javascript” src=”https://cdn.sender.net/webforms/6829/1e85cd0c.js?v=3″></script>

Metodologías de Desarrollo de Software 10 Comunicación

¡Me acaban de hackear el servidor!

¡Necesito que vengas ahorita! ¡Me acaban de hackear el servidor!

Esas fueron las palabras que desafortunadamente escuché en la llamada telefónica de una persona a quien le intervinieron un Sistema y empezaron a borrar la información que contenía, poner pornografía en sus sitios y por si no fuera poco, empezaron a publicar los datos de los usuarios en las redes sociales.

Acudí lo más rápido que pude al llamado y cuando llegué, el servidor estaba apagado, tuve que volver a encenderlo y empecé a respaldar una de las páginas web que no habían sido atacadas pero al tratar de iniciar el respaldo de la siguiente página, ya no existía la base de datos por que el hacker estaba volviendo a atacar y borró la bases de datos en ese momento, desafortunadamente todo estaba perdido para mi amiga.

Cuando tuve un poco más de tiempo en analizar el Sistema por donde se coló el hacker, me di cuenta que no cumplia con los estándares básicos de seguridad y mucho menos cumplia con las buenas prácticas de seguridad para ese tipo de sistemas. Después de ver el código fuente no me sorprendió que hubieran sido víctimas de un hackeo. Entonces empecé a indagar acerca del por qué el sistema estaba en esas condiciones y me di cuenta de varias cosas:

  • Tienen un programador que avisó de la condición del sistema y no lo dejaron repararlo porque no había tiempo de hacerlo.
  • No se usaban ningún tipo de frameworks los cuales ayudan a proteger los sistemas en temas de seguridad.
  • Existían malas prácticas de seguridad entre las conexiones con las bases de datos las cuales hicieron posibles que al acceder a una base de datos se pudiera acceder a todas las demás.
  • Las contraseñas no tenían nada de seguridad, una de las contraseñas era Admin123 🤦‍♂️
  • El servidor utilizaba un Sistema Operativo Windows el cual es muy inseguro e inestable y no ayuda para nada en este tipo de situaciones.

Con todo esto, me di cuenta que para que suceda este tipo de situaciones se debe ser tener un descontrol total de lo que está sucediendo en cuanto a términos de programación además de no permitir tomar las decisiones correctas y depender de que una persona no técnica determine el rumbo de las decisiones importantes en temas de programación.

Después de identificar estos problemas, decidí ayudarlos y hacerles plan de protección y auditoría en donde yo evaluaría las decisiones técnicas que se toman y evitar que existan este tipo de problemas desde el punto de vista técnico así como para la dirección de la empresa ofreciéndoles asesoría para poder tomar las mejores decisiones desde el punto de vista técnico ayudando a no tener gastos innecesarios y ayudarlos a sacarle el mayor provecho a la persona encargada de la implementación de los sistemas.

Afortunadamente se tomó la decisión correcta y ya estamos trabajando para volver a hacer el sistema con un mucho mejor elaborado esquema de seguridad, productividad (mejorando considerablemente los tiempos de desarrollo) y evidentemente bajando costos de producción.

Metodologías de Desarrollo de Software 19 Comunicación

¿Cómo saber si necesitas una página web o una…

Me queda claro que lo que quieres es incrementar las ventas en tu negocio pero ¿Necesitas hacer una tienda en línea? o ¿Sólo vas a ofrecer tus productos a través de una página web?, la respuesta no es fácil. No dudo que tengas muchas dudas para saber cual es la mejor decisión a tomar en este momento por que todo depende de la situación actual de tu negocio así que vamos a hacer un pequeño ejercicio que nos ayudará a darte una idea más clara de que es lo que necesitas.

Primero que nada debes de crear la demanda. Hacer ventas por internet no es nada fácil, conlleva una estrategia muy bien definida para que todo empiece a fluir. Hay que tener un sitio que se vea bien, que esté acorde a tu marca.

El hosting. Es lo primero que vas a necesitar, básicamente se necesita que tu tienda o página esté en internet.

El dominio. Es el nombre de tu marca con una terminación .com o la que tu decidas, funciona en conjunto con el hosting para que cuando la gente acceda al nombre que compraste se muestre el contenido que está en el hosting (es decir la página o la tienda).

Certificado de seguridad SSL. Es absolutamente necesario contar con el certificado de seguridad para que tu tienda utilice un protocolo seguro (HTTPS) y se puedan realizar pagos.

Logo de tu marca. Debes de asegurarte de que tienes un logo para tu marca y ese logo lo tienes en digital y lo puedes generar en diferentes resoluciones.

Imágenes de tus productos. Debes conseguir varias imágenes de tus productos de alta calidad para poder mostrar una mejor calidad y aumentar las ventas (recuerda que de la vista nace el amor).

Si te gusto el articulo y quieres ser de los primero en recibirlos cuando sean publicados, suscribete a nuestro Blog.

Photo by Roberto Nickson on Unsplash Comunicación

El futuro nos alcanza, el trabajo remoto

Para muchos de nosotros el trabajar remoto es como algo irreal, algo que solo le pasa a ciertas personas que en son más afortunadas que tú y que por el contrario, tú siempre tendrás que ir a trabajar a una oficina y hacer “horas nalga”. Desafortunadamente esa es la forma de pensar de la mayoría de personas que piensan que no pueden llegar a tener un trabajo remoto o como le dicen en otros países el teletrabajo.

Yo confieso que para mí fue una de las decisiones más difíciles de tomar el poder trabajar remoto y confiar en que la gente estuviera trabajando por que tenemos ese estigma de no confiar en las personas que nos ayudan. Cuando empecé con Strappberry no tenía muchas opciones y decidí arriesgarme a trabajar remoto con todo el personal y les puedo jurar que ha sido una de las mejores decisiones que he tomado en mi vida.

El principio fue bastante duro, le di la confianza a mi primer empleada, una diseñadora gráfica que vivía cerca de Guadalajara, México y las primeras 2 semanas no creía que estuviera en verdad cumpliendo con sus tareas, cada día me preguntaba si iba a entregarme algo o sólo me iba a estafar pero afortunadamente me hizo darme cuenta de que estaba completamente equivocado. Todavía recuerdo esas primeras entregas que hizo donde me empezó a demostrar que estaba comprometida y creía en que trabajar remoto si se podía y sus entregas y compromiso eliminaron todas mis dudas de mi cabeza y nos empezamos a enfocar en las cosas que teníamos que hacer.

Les puedo presumir que personalmente he tenido la oportunidad de seguir trabajando desde muchos diferentes países, climas y eventos, mis favoritos son cuando estaba trabajando con un caloron en Punta Cana, República Dominicana y también cuando estuve en el tour en Europa pasando por varios países (recuerdo ir caminando por las calles de Londres y hablando por teléfono para contratar a un chavo) que terminaría en ese viaje a Samara, Rusia para esperar el partido de México vs Brasil del Mundial de la FIFA 2018.

Al día de hoy, seguimos trabajando en un esquema completamente remoto donde solo estamos atados a tener una buena conexión a internet para poder comernos el mundo de manera digital y como desde aquel lejano Mayo del 2016 cuando fundé Strappberry sigo convencido en que el poder hacer home office o como dicen en inglés “working from home” es el futuro del trabajo donde podremos trabajar desde la comodidad del hogar y no tener que preocuparnos por las inclemencias del clima o el tráfico.

Si estás pensando en cambiar el esquema de trabajo con tus trabajadores lo único por lo que te tienes que preocupar es por confiar en la gente. Ese aspecto es sin duda el más importante, lo demás viene acompañado de una mezcla de tecnología y productividad por que para trabajar remoto debes comprobar que estás trabajando y no como cuando solíamos ir a la oficina y ser improductivos, en mi caso no sucede. Cuando no te sientes listo para trabajar lo mejor es no trabajar, mi equipo de trabajo sabe que cuando no se sienten bien para trabajar no lo hacen, es un estilo al que probablemente lo llamarán “muy millenial” pero como empresa de tecnología debemos de estar enfocados en ser coherentes con implementar las nuevas tendencias en nuestro equipo de trabajo y el trabajar desde casa es una de ellas.

Si te gustó nuestro artículo y quieres ser el primero en recibirlos cuando sean publicados suscribete a nuestro blog.

[yikes-mailchimp form=”2″]

Metodologías de Desarrollo de Software 36 BNI

Como logré ser rentable en mi primer año en…

Estoy por cumplir apenas un año de haber tomado la decisión de unirme a mi primer capítulo de BNI llamado Ubuntu y si algo les puedo decir es que BNI no es una organización para todos, aquí está el que quiere y tiene ganas de triunfar.

Cuando entramos a BNI nos obligan a tomar el PEM (Programa de Éxito para Miembros) y nos dan un seguimiento por 8 semanas con un mentor que nos orienta a cómo llevar correctamente la metodología pero el problema viene cuando termina todo esto y llegas a un grupo donde no siempre se siguen las mejores prácticas. En mi caso las prácticas se siguen como dios nos dio a entender, si bien seguimos las prácticas que nos marca la metodología, no las seguimos al pie de la letra y es donde vienen los problemas.

Desde ese primer curso bien llamado PEM, donde nos enseñan conceptos como la curva de la confianza y el VCR (visibilidad, credibilidad, rentabilidad). No nos enseñan cómo debemos hacer las cosas y si está bien o mal la forma en que los miembros están siguiendo la metodología. Afortunadamente siempre he sido un chico muy inquieto que no se conforma con lo que tiene. Los primeros meses recibía referencias pero no me estaba funcionando lo que estaba haciendo, me sentía incómodo y veía un camino largo para por fin ser rentable (en el PEM nos dicen que en promedio son 18 meses para empezar a ser rentable). Pero yo no me iba a esperar 18 meses para dar mis primeros GPNC y decidí dar todo de mi parte para poder lograr el éxito en BNI, hacer todo lo que fuera posible para llegar a tener buenos resultados y estar contento y disfrutar de esta experiencia.

Afortunadamente les puedo decir que empecé a encontrar los Podcast del doctor Ivan Misner fundador de BNI y que tiene un podcast con más de 600 audios los cuales te dan recomendaciones de cómo ser un mejor networker. Independientemente si eres parte de BNI o no, si eres un emprendedor debes de escuchar estos audios que te van a ayudar a ser exitoso no solo en tu negocio si no en tu vida diaria.

Metodologías de Desarrollo de Software 37

Por si no fuera suficiente decidí tomar las capacitaciones que nos ofrecen en nuestra región, nosotros pertenecemos a la Región CDMX Roma y la verdad es que me queda muy lejos ir a mi sesión y a los cursos de capacitación (cerca de 45 kms y en horas pico puedo llegar a hacer casi 2 horas de camino con el tráfico de la ciudad) pero eso no es un obstáculo cuando quieres triunfar.

En un principio asistía a las capacitaciones porque los más experimentados del capítulo nos empezaron a recomendar asistir y entre las capacitaciones y los podcast empecé a dedicarle más y más tiempo a BNI del que me hubiera imaginado pero lo mejor fue que no solo empecé a tener amigos en mi capítulo si no que también en los cursos. La clave de los negocios según lo dice el Doctor Ivan Misner es sembrar una relación y los negocios vienen juntos y sin darme cuenta lo empecé a hacer tanto en mi capítulo con mis amigos con los que sesiono cada semana y con otras personas que pertenecen a la región y son regulares a los cursos.

Resulta que las referencias empezaron a llegar poco a poco, la famosa curva de la confianza se acortó mucho y en tan sólo 6 meses empecé a ser rentable, de la noche a la mañana empecé a tener la atención de mi capítulo por que era el único que asistía a todas las capacitaciones y eso fue generando más y más confianza. Me tatué el poder del 1 y trataba desde los primeros meses de cumplir con él todo el tiempo y mi semáforo se empezó a poner verde y una sesión, sin esperármelo, me reconocieron ante todo el grupo por que era el único que no sólo había logrado estar en verde muy rápido si no que tenía 100/100, eso quiere decir que estaba haciendo todo lo que me habían pedido y si sumamos las recomendaciones de los podcast y las capacitaciones explicaba el por que estaba funcionando todo.

Las referencias empezaron a fluir y ahora no me canso de cantar GPNC semana a semana después de tantas referencias que se han cerrado. Lo mejor de todo es que la cosa no queda ahí, seguimos reforzando nuestra confianza con la gente de mi capítulo y la región. Me eligieron para ser parte del Equipo de Liderazgo y me tocará ser el tesorero del capítulo y durante la capacitación recibí el reconocimiento público ante toda la región por llevar 3 meses con 100/100 en mi semáforo.

Ser parte de un capítulo de BNI no es para cualquiera, conlleva mucho trabajo, dedicación y esfuerzo y como bien dice el Dr. Ivan Misner en sus podcasts “BNI no te dará resultados si no le dedicas tiempo” y algo que he aprendido en los últimos meses es que BNI no es para todos ni todos son para BNI, en mi caso orgullosamente les puedo decir #YoSoyBNI y Ganar Dando se ha convertido en mi filosofía de vida.

[the_ad id=”308″]
Metodologías de Desarrollo de Software 46 Android

Mis problemas con Android 10 en mi Pixel 2

La actualización de Android 10 en mi Pixel 2 no ha sido la mejor de las experiencias. Hace casi 2 años que compré mi Google Pixel 2. Recuerdo perfectamente que realicé mi pre-order cuando hicieron el lanzamiento y fui de las primeras personas en recibir el nuevo teléfono en aquel lejano Noviembre del 2017.

Todo el tiempo mi celular se mostró maravilloso, antes tenía un Nexus 6 y ya estaba lento, se calentaba mucho, no tenía un buen renderizado de gráficos (lo recuerdo muy bien por que no podía jugar pokemon 🙊). En general no era una buena experiencia la que tenía con ese teléfono hasta que decidí comprar el maravilloso Google Pixel 2. Decidí comprar la versión pequeña por que el XL era casi del tamaño de mi Nexus 6 y era bastante incomodoo traerlo en la bolsa del pantalón cuando estaba sentado tanto que hasta me lastimaba y tenía que sacarlo siempre antes de tomar asiento, amaba la pantalla grande pero decidí sacrificar unas cuantas pulgadas de pantalla para tener un poco más de comodidad diaria.

Metodologías de Desarrollo de Software 47

Les puedo decir que en comparación con mi Nexus 6, el Pixel 2 se lleva de calle al celular, el snapdragon 835 y los 4 GB de RAM hacen que mi alto uso del teléfono apenas se sienta, muchas veces vengo con Google Maps haciendo una llamada por Skype y el celular ni se inmuta. Pero desafortunadamente al parecer he encontrado un problema mayor en esta última actualización que acaba de salir hace un par de semanas.

Mi Android 10 parece estar teniendo uno que otro problema con el sensor de luz lo cual hace que cuando el celular está en modo de espera se mantenga encendido y de repente haga unos flashazos ya que el sensor parece no estar bien calibrado. La verdad no le he dado mucha importancia a esto ya que en general me ha gustado mucho la actualización, tiene nuevos detallitos como el modo oscuro cuando la batería está al 15%. Pero me di cuenta de un problema mayor cuando tengo conectados los audífonos bluetooth y estoy escuchando mis podcast en la aplicación de iVoox, el teléfono simplemente se vuelve loco.

Como bien es sabido, iVoox es una aplicación famosa en el mundo de los podcast pero deja mucho que desear en cuando al performance. No es raro que la aplicación tenga errores y a pesar de haber reportado un par de ellos, parece que no les importa a sus desarrolladores y creo que tienen algo que está haciendo que el sistema operativo se vuelva loco cuando tengo los audifonos bluetooth conectados. Mi teléfono simplemente empieza a apagarse y encenderse como si estuviera presionando el botón de encendido varias veces. En un principio pensé que era la carcasa que le compré (después de 2 años ya merecía un cambio) que estuviera presionando el botón de encendido pero no fue así. Le quité la carcasa y la cosa siguió sucediendo. Traté de presionar el botón pensando que se había quedado atorado y nada, el botón estaba perfecto hasta que de buenas a primeras, mi celular se reinició y entró en modo recuperación de sistema (recovery mode).

Metodologías de Desarrollo de Software 48

Llevo usando celulares android desde hace ya 9 años y nunca me había sucedido algo así. Justo acababa de recibir la actualización en esa semana y pensé que era un problema que se iba a resolver pronto pero desafortunadamente no fue así. Mi primera impresión fue que el SO tenía algo que ver por que nunca alguna aplicación me había provocado semejantes problemas y desde entonces empecé a revisar minuciosamente el rendimiento de mi teléfono pero afortunadamente no me volvió a suceder… ¡Hasta que volví a conectar mis audifonos bluetooth y empecé a escuchar mis podcasts en iVoox! En ese momento decidí eliminar iVoox de mi teléfono. Cabe destacar que en el auto siempre uso el bluetooth pero no lo uso con iVoox, así que no puede ser algo relacionado con el bluetooth solamente y sólo queda culpar al trinomio del SO, bluetooth y iVoox.

Por si no fuera suficiente, el otro día hice una llamada telefónica y al cambiarme al altavoz la otra persona me dejó de escuchar, esto me pasó con 3 diferentes llamadas en un lapso de 30 minutos con lo que pude constatar que era un problema del Sistema Operativo (de nuevo). Afortunadamente reiniciando el dispositivo parece haber solucionado el bug que a la fecha no lo he podido reproducir.

En general a esta actualización de Android 10 yo le pondría un 8/10 ya que tiene muchísimas cosas que me gustan como que te avisa que una app accedió a tu localización actual, el modo oscuro que ya mencionaba y la optimización de la batería. Espero que Google libere una actualización pronto en donde arregle todo este tipo de detallitos y que la gente de iVoox por fin se ponga las pilas para arreglar sus problemas serios por que están perdiendo usuarios que nos gustaba su app pero la salud de mi celular es primero.

Hasta la próxima.

Si deseas ser el primero el recibir nuestros artículos en cuanto se publiquen suscribete a nuestro blog

[yikes-mailchimp form=”2″]

error

Enjoy this blog? Please spread the word :)