¿Cuál es la diferencia en la metodología de desarrollo de software en Investment Banks vs Tech Companies?

Las empresas tecnológicas suelen ser mucho menos ad-hoc y mucho mejores en la gestión de proyectos. Una empresa de tecnología generalmente tiene más control sobre los requisitos. Si google no tiene la última función, entonces no es el fin del mundo, y preferirían “hacerlo bien” que “hacerlo rápido”.

La recepción de los bancos está más orientada al horario, y preferiría “hacerlo rápido” que “hacerlo bien”. Si el comerciante o un regulador necesita la función ayer, debe hacer todo lo posible para implementar el futuro, incluso si tiene que olvidar las buenas prácticas y el diseño del software. Por el contrario, hay sistemas en los que preferirías “hacerlo realmente, realmente, realmente bien”, incluso si te lleva años, o a veces tienes algo que funciona que realmente no quieres tocar. Esto significa que los sistemas bancarios son este goulash de tecnología de vanguardia que interactúa con sistemas heredados antiguos que nadie entiende y qué tocar.

Los bancos están impulsados ​​por bonos, las compañías tecnológicas no. Esto significa que es mejor entregar basura en octubre que algo decente en febrero, porque si su horario se cae, perderá el bono de este año, y nadie recordará lo que hizo el año próximo. Además, si te toma un mes extra, pero te ahorrará toneladas de trabajo después de la temporada de bonificación, olvídalo.

Con lo anterior, los bancos tienden a tener más reglas políticas que las empresas tecnológicas. Hacerlo en Q3 u olvidarlo es un ejemplo de este tipo de regla.

La mayoría de las compañías tecnológicas no han estado en el negocio tanto tiempo. Facebook no tiene que preocuparse por acceder a los sistemas que fueron diseñados a principios de la década de 1990 con API que datan de la década de 1970. Un banco, por otro lado, tiene que lidiar con esto.

En general, deberían ser lo mismo. Tengo clientes en el área bancaria y dirijo una tienda de ingeniería de software.

En general, la mayoría de los requisitos de software se pueden dividir aproximadamente en dos (2) sistemas grandes y requisitos ad-hoc. Tanto las tiendas de software como los bancos generalmente tienen ambos. Los grandes sistemas seguirán un enfoque generalmente estructurado, ya sea SDLC o Agile, y tienen requisitos claramente articulados. Los requisitos ad-hoc son una solución rápida y sucia con algunos requisitos, pero deben entregarse rápidamente. Entonces se toma un enfoque menos estructurado.

Un banco de inversión típico tendrá una buena combinación de ambos. Grandes sistemas para estandarizar y ad-hoc para adoptar rápidamente las demandas del mercado. Esto es particularmente cierto para las personalizaciones.

Una tienda de software centrada en el trabajo a medida tendrá tanto y alineado a las demandas de los clientes.

Una tienda de software de productos generalmente tendrá más de los primeros, pero cada vez más el enfoque beta para siempre del desarrollo de software está haciendo que las cosas sean más ad-hoc.

Hice exactamente la misma pregunta durante una pantalla de teléfono con Morgan Stanley, Shanghai, intentando aterrizar una pasantía allí. La esencia de la respuesta del entrevistador es que el ciclo de desarrollo en Morgan Stanley es mucho más corto que el de una empresa de tecnología, dice Miscrosoft, la razón es que el cambio en la industria financiera puede ser bastante frecuente e impredecible, lo que implica una metodología de desarrollo más flexible.

También tuve la impresión de que las compañías no tecnológicas son tecnológicamente inferiores a esos gigantes tecnológicos hasta que me dijeron durante la entrevista en el sitio que Morgan Stanley utilizó muchas tecnologías de software de vanguardia en su producto. Aunque no recibí la oferta, espero que la información anterior pueda arrojar algo de luz sobre su pregunta.