Pertenezco a una empresa que empezó como startup hace 3 años pero ahora ya cuenta con más de 150 empleados.
Durante este tiempo, primero mi jefe y después yo con su ayuda, hemos ido creando poco a poco todas las herramientas necesarias para definir y mejorar todos los procesos de la empresa.
Hasta ahora por el rápido crecimiento que ha tenido la empresa no teníamos tiempo de documentar nada de nuestro sistema, simplemente pensábamos como hacerlo y empezábamos a picar código para que se pudieran utilizar las herramientas lo antes posible.
Viendo el crecimiento que hemos tenido y que está previsto tener me gustaría “Profesionalizar” un poco todo el departamento de IT y la verdad es que no se muy bien como empezar a ello.
Como os digo mi intención es plantearle a mi jefe hacer las cosas más profesionales pero actualmente no se por donde empezar (es mi primer trabajo como IT y no se como trabajan otras empresas, solo se lo poco que vi en la universidad sobre Ingeniería de software y gestión de proyectos y soy el único ingeniero informático del departamento)
Nuestro sistema es via web y hemos utilizado codeigniter para llevarlo a cabo.
Actualmente las herramientas que usamos son:
PhpStorm para el desarrollo de las tools.
Bitbucket para tener siempre sincronizado nuestro código entre nosotros (solo esto, nada de ramas ni control de versiones )
MySQLWorkbench para hacer el diseño y mantener la base de datos.
Os pido ayuda a ver si podéis guiarme un poco y darme alguna idea de como trabajáis en vuestras empresas y como puedo empezar a hacer mejor las cosas, que procesos seguis para hacer vuestras herramientas, que software utilizáis, etc
Tu pregunta es bastante ambigua la verdad.
Unas "buenas practicas" mínimas incluiría utilizar BitBucket adecuadamente, con diferentes ramas para para desarrollo, uat, producción, utilizando el control de versiones, que te permite volver atrás cuando es necesario sin esfuerzo. No se que a que se dedica la empresa pero si ponéis algo en producción que no esta bien, pocas empresas se pueden permitir parar el servicio hasta que los desarrolladores arreglan el problema. Utilizando el control de versiones podrías retomar la version anterior, retirar la nueva y revisarla.
Diferentes entornos de trabajo es una buena practica también, desarrollo, test, pre-produccion, y producción. Una buena testing policy también es necesaria, definiendo cada test, y que se considera como test pasado y que no. El test debe de ser ejecutado por alguien diferente a ti. Los desarrolladores no testeamos bien nuestro código. Incluye unit testing si puedes también.
Todos los desarrollos deberían estar adecuadamente limpios y documentados. Si mañana te vas de esa empresa no me gustaría ser el desarrollador que toma tu puesto con una gran cantidad de software sin documentar.
El tema da para mucho, pero los puntos que te menciono creo que son claves.
Pertenezco a una empresa que empezó como startup hace 3 años pero ahora ya cuenta con más de 150 empleados.
Durante este tiempo, primero mi jefe y después yo con su ayuda, hemos ido creando poco a poco todas las herramientas necesarias para definir y mejorar todos los procesos de la empresa.
Hasta ahora por el rápido crecimiento que ha tenido la empresa no teníamos tiempo de documentar nada de nuestro sistema, simplemente pensábamos como hacerlo y empezábamos a picar código para que se pudieran utilizar las herramientas lo antes posible.
Viendo el crecimiento que hemos tenido y que está previsto tener me gustaría “Profesionalizar” un poco todo el departamento de IT y la verdad es que no se muy bien como empezar a ello.
Como os digo mi intención es plantearle a mi jefe hacer las cosas más profesionales pero actualmente no se por donde empezar (es mi primer trabajo como IT y no se como trabajan otras empresas, solo se lo poco que vi en la universidad sobre Ingeniería de software y gestión de proyectos y soy el único ingeniero informático del departamento)
Nuestro sistema es via web y hemos utilizado codeigniter para llevarlo a cabo.
Actualmente las herramientas que usamos son:
PhpStorm para el desarrollo de las tools.
Bitbucket para tener siempre sincronizado nuestro código entre nosotros (solo esto, nada de ramas ni control de versiones )
MySQLWorkbench para hacer el diseño y mantener la base de datos.
Os pido ayuda a ver si podéis guiarme un poco y darme alguna idea de como trabajáis en vuestras empresas y como puedo empezar a hacer mejor las cosas, que procesos seguis para hacer vuestras herramientas, que software utilizáis, etc
Un saludo y muchas gracias.
06/09/2015 12:57
08/09/2015 11:41
un enlace de interés
http://12factor.net/
15/09/2015 12:52
Tu pregunta es bastante ambigua la verdad.
Unas "buenas practicas" mínimas incluiría utilizar BitBucket adecuadamente, con diferentes ramas para para desarrollo, uat, producción, utilizando el control de versiones, que te permite volver atrás cuando es necesario sin esfuerzo. No se que a que se dedica la empresa pero si ponéis algo en producción que no esta bien, pocas empresas se pueden permitir parar el servicio hasta que los desarrolladores arreglan el problema. Utilizando el control de versiones podrías retomar la version anterior, retirar la nueva y revisarla.
Diferentes entornos de trabajo es una buena practica también, desarrollo, test, pre-produccion, y producción. Una buena testing policy también es necesaria, definiendo cada test, y que se considera como test pasado y que no. El test debe de ser ejecutado por alguien diferente a ti. Los desarrolladores no testeamos bien nuestro código. Incluye unit testing si puedes también.
Todos los desarrollos deberían estar adecuadamente limpios y documentados. Si mañana te vas de esa empresa no me gustaría ser el desarrollador que toma tu puesto con una gran cantidad de software sin documentar.
El tema da para mucho, pero los puntos que te menciono creo que son claves.
Saludos