Trabaja como programador en una pequeña consultoría donde es probable que seas un programador líder que trabaje con uno o dos clientes medianos. O de hecho comience uno usted mismo.
Hay una clase de negocios que todavía se puede ejecutar parcialmente en papel o en software antiguo (¡de los años 80!) Que a menudo se beneficiarían de tener un sistema completo propio, desde cero. Esto, a pesar de la proliferación de CRM y otros softwares disponibles, sigue siendo increíblemente relevante.
He estado en reuniones donde el dueño del negocio en cuestión era plenamente consciente de las posibilidades de un software comercial más barato; sin embargo, debido a la experiencia previa, querían un sistema que podrían haber cambiado en días o semanas en lugar de años.
Por lo general, estos sistemas se forman alrededor del negocio en sí, incluidos su trabajo, ventas, órdenes de compra, cuentas y procesos de entrega.
- ¿Qué tipo de habilidades se requieren para convertirse en gerente de TI en una empresa de renombre? Planeando seguir MS en MIS.
- ¿Cuáles son las habilidades más importantes que debe tener un inspector de homicidios? ¿Y qué tipo de entrenamiento reciben para adquirir tales talentos?
- ¿Hay alguna manera de mejorar efectivamente mis habilidades de lectura en menos de 1-2 meses?
- ¿Qué habilidades se requieren para convertirse en un exitoso asesor de aprendices?
- Cómo mejorar las habilidades matemáticas básicas de tus hijos
Hacer esto bien requiere que el (los) programador (es) comprendan ese negocio y el equipo que lo maneja en su conjunto. El lenguaje utilizado, las suposiciones hechas por un departamento sobre otros, los productos y servicios, el modelo de precios, etc.
Luego están los aspectos más suaves: los departamentos a menudo compiten entre sí por la prioridad cuando se trata de implementar funciones; además, hay un efecto silo para algunos donde no ven el efecto que su concepto del sistema tiene en otros departamentos .
Su trabajo incluye dar sentido a todo esto y guiar a los clientes a mejores alternativas y, al mismo tiempo, permanecer completamente fuera de lo político.
Para resumir: los tamaños de negocios de entre £ 2 millones y £ 50 millones de facturación al año aproximadamente son a menudo los que tienen más de un puñado de empleados y necesitan algo para administrar su proceso comercial. Debería estar preparado para comprender el negocio, sus reglas, suposiciones y la dinámica general entre cada departamento.
Luego, desarrolle un sistema que exprese esto en código, sean cuales sean las arquitecturas y los idiomas elegidos. A medida que trabaja en el sistema, los requisitos también evolucionan: generalmente se expanden y refinan a medida que se dan cuenta de que necesitan una comprensión más detallada que solo los datos pueden proporcionar.
Últimos puntos: no espere poder obtener especificaciones completas por adelantado, pero trate de obtener un modelo de datos tan rico y flexible como sea posible. Estas nociones pueden parecer contradictorias, pero el corazón de la mayoría de estos sistemas será una o más bases de datos SQL, por lo que un diseño sólido y normalizado bien concebido facilitará mucho la vida de cualquier desarrollador.
En lugar de comerse el elefante entero (diseño grande por adelantado), busque un alcance general simple que se pueda expresar en minutos, luego algunas prioridades y finalmente el primer módulo de trabajo del que puede entregar en unas pocas semanas o menos.
En un mundo ideal, adoptaría un flujo de trabajo de estilo ágil, aunque al principio no se obsesione con apegarse precisamente a alguna metodología. En su lugar, asegúrese de documentar bien, trabaje con unas pocas necesidades bien enfocadas que comprenda lo suficiente como para cumplirlas, demuestre esto al cliente para obtener refinamientos y la próxima etapa de trabajo.
La razón de esto es bastante simple: refinarán y modificarán sus requisitos a medida que vean que el proyecto toma forma. Las cosas que no se dieron cuenta surgirán como resultado de ver el nuevo sistema en acción.
Esto no se detiene en proyectos más grandes.
Por lo tanto, tiene como objetivo brindarles la funcionalidad comercial en lo que consideran las áreas más cruciales tan pronto como sea posible, suponiendo que también esté construyendo (¡pero no chapando en oro!) De una manera que permita la incorporación constante de nuevos requisitos.
Una influencia útil en este ámbito es Eric Evans – Diseño impulsado por dominio.