7 Reasons Why You Should Never Outsource Software Development by Redwerk

Cada minuto se registran en todo el mundo una docena de nuevas empresas de TI con el mismo modelo de negocio de externalización o subcontratación. Sin embargo, las características internas de las empresas difieren: desde el “director único” hasta los contratos familiares en forma del ex director general de desarrollo, la ex esposa del director de calidad y un par de amigos que están cansados de trabajar para alguien
Considering software development outsourcing

¿Y si me roban la idea?

“Hay un TOR con una descripción del proyecto. Pero tengo que pasar por un montón de programadores. Pero la cuestión es si voy a crear mis propios competidores, durante la búsqueda, revelando la idea, la lógica, las fórmulas y otros conocimientos? ¿Cómo protegerme del robo de MI idea? ¿Existe un acuerdo unilateral de no divulgación?”

Si acabamos de citar sus ideas, debemos decir que usted no hace más que exagerar el problema. En primer lugar, la idea en sí misma, aún no implementada, no tiene ningún valor. Un buen programador se ve abrumado por el trabajo y, además, se le paga bien. Y lo que es importante, el pago está garantizado, en contraste con el robo de ideas. Incluso si el programador quisiera robar algo, dar rienda suelta a la idea supondría un gran esfuerzo. Durante este tiempo, el programador perdería un montón de pasta (¡maldita sea!). Y si la idea se desenvuelve – aún no está claro. Pero habría que gastar mucho esfuerzo en ella, eso es seguro, y mientras tanto perder un montón de dinero de golpe

En segundo lugar, intente patentar, que para eso se inventaron las patentes. Es una broma, por supuesto, pero, como se dice, inténtelo, por qué no

De hecho, existen cosas como el acuerdo de no divulgación (NDA), el acuerdo de divulgación confidencial (CDA), el acuerdo marco (MA) que sirven para prevenir, detener, castigar por la divulgación y reparar los daños. Cualquiera de los mencionados puede firmarse con cualquier entidad a la que confíe el acceso a la información confidencial.

Lo que nos gustaría añadir además es que los programadores decentes son menos propensos a este problema. Tienen una reputación y un salario – no hay necesidad de robar. Obviamente, cuando se subcontrata se proporcionan a los contratistas algunos detalles sobre el proyecto, pero, en efecto, no tienen ni idea de cómo crear al menos un análogo, llevarlo al mercado y en qué dirección desarrollarlo. Y esto es exactamente lo que saben los líderes y fundadores de estos proyectos. No hay nada que robar, detrás de cada idea hay una experiencia y unos conocimientos que simplemente no están en posesión de los programadores, porque ellos son desarrolladores y tienen la experiencia y los conocimientos pertinentes.

A menudo -y esto es en realidad lo normal- dudamos y tememos, ¿y si no me entendieran, y si mi idea se incorporara, pero no como yo quería, y si el producto final fuera el polo opuesto a mi idea?

Se trata, hasta cierto punto, de temores fundados, porque somos personas e individuos, y cada uno tiene su propia visión, percepción y comprensión de la realidad. No siempre es posible expresar verbalmente todo lo que se piensa. Entonces, ¿cómo asegurarse de que su idea será perfectamente plasmada por los desarrolladores?

Por eso existen personas tan maravillosas como los analistas de negocio, que actúan como enlace entre el cliente y el equipo.

Un analista de negocio es un especialista que investiga el problema del cliente, busca una solución y formaliza su concepto en forma de requisitos, que serán utilizados por los desarrolladores en el futuro al crear el producto.

Nuestros analistas de negocio, que además son expertos en tecnología, son capaces de identificar las necesidades del cliente y de entender el problema que éste quiere resolver.

Basándose en ello, nuestros profesores, de forma independiente o con la ayuda del equipo, formulan el concepto de solución. Después, utilizando diversas técnicas de análisis empresarial (construcción de modelos de procesos y estructuras, prototipos de la interfaz de usuario, escenarios de uso) transmiten el concepto a los términos de referencia con requisitos específicos para el futuro producto. Al mismo tiempo, se realiza una estimación precisa de los costes de mano de obra y de la duración del trabajo. Para clarificar y garantizar un proceso de implementación sin problemas, cada requisito se detalla en forma de especificaciones. Para fomentar una gestión y una coordinación más eficaces, nuestros analistas de negocio asesoran continuamente a los programadores y a los probadores durante el desarrollo del producto, y negocian las cuestiones discutibles con el cliente. Así, los sueños de los clientes se hacen realidad

Si es usted zapatero y cose zapatos, lo primero que debe hacer es que sean cálidos, cómodos y estén hechos a tiempo, y sólo entonces, acolcharlos y coserlos.

¿A dónde quería llegar con eso? Retrocedamos.

Necesito implementar un programa para abastecer y desarrollar mi negocio. Así que decidí subcontratar esta tarea a una empresa de desarrollo. ¿Pero qué pasa si lo construyen en WTFC?

Obviamente, como clientes no nos importa realmente el código en sí, lo principal es que el código resuelva nuestro problema. Normalmente estamos dispuestos a aceptar algunos errores y fallos. Sólo estamos a punto de pagar menos dinero por el sistema de automatización que funciona, lo que de nuevo nos ahorrará dinero.

Sin embargo, se produce una situación extraña: todos los desarrolladores dicen que utilizan las dos manos para conseguir un código bonito. No he visto ni un solo desarrollador que diga: ¡Escribiré un código WTF! A no ser que en caso de fuerza mayor se lamenten a veces “oh, maldita sea, tenemos que poner un hack, pero ya nos pondremos a ello algún día y lo haremos bonito”. Un código literario y bonito es el valor claro de cualquier desarrollador. Entonces, ¿cómo es que con esta actitud de los desarrolladores hacia la belleza del código (al menos, tal y como se declara), rara vez se puede encontrar un proyecto realmente bonito sin un código de mierda? ¿Cuál es el secreto?

En primer lugar, el contexto del código. El proyecto, dentro del cual se escribe el código, está siempre ligado con términos de dinero y tiempo, que afectan a las personas (cliente, contratistas, miembros, incluido el cónyuge del desarrollador), cada uno de los cuales acapara la manta.

En segundo lugar, los programadores, sobre todo si se trata de proyectos grandes, ni siquiera se conocen entre sí. El intercambio de información sobre el código entre los programadores depende de cómo se establezcan generalmente los flujos de información dentro de la empresa

La belleza es la belleza, pero hay cosas más importantes.

Se trata de la cultura del código: en primer lugar, el desarrollador debe crear una solución que funcione por encargo, y luego, si tiene suficientes habilidades, tiempo y puede mantenerse, hace que esta solución sea bella desde dentro.

En un escenario ideal, los desarrolladores competentes escriben un código bonito para los clientes adecuados y se ajustan a los plazos, y eso es lo que todo el mundo pretende

Es una buena razón para preocuparse. Debido a cierta cultura o clima corporativo ocurre que no son capaces de decir no a un superior o cliente por respeto. Pero ¿de qué sirve el respeto al cliente que no ha recibido la solución prometida? Por eso la honestidad es la clave del éxito y del desarrollo del clima de confianza entre un proveedor y un cliente. Como cliente, debe establecer un objetivo claro. Como proveedor, debe informar del asunto y considerar las salidas, como alterar las expectativas o reducir el alcance si el plazo no se puede mover.

Necesito realizar un proyecto, que es una aplicación móvil. Como soy cliente, y al mismo tiempo propietario del producto, pido un presupuesto. Cualquier persona, estando aunque sea un poco con la “vena comercial” en el corazón, empezaría inmediatamente a pensar que no se puede perder la oportunidad de ganar algo de dinero, y empezaría a llamar, francamente hablando, al precio aleatorio. Y ciertamente llaman al precio subestimado, para no perder al cliente, sin pensar en lo que sucederá después. O bien, mintiendo, subestiman el importe, y luego sacan dinero extra, razonando “trampas” y chantajeando el rechazo del proyecto… Seguro que los directivos están echando horas extras “para sacarme la pasta”.

¡Vamos a resolverlo todo! La subcontratación del desarrollo de software se realiza habitualmente con un acuerdo de precio fijo o con un acuerdo de tiempo y material. El enfoque de precio fijo, en nuestra opinión, no es razonable para una tarea como el desarrollo de software. Quién cubrirá el trabajo adicional que haya surgido por el despiste, y quizás incluso la irresponsabilidad del cliente o del proveedor. En el enfoque de precio fijo hay un presupuesto de “riesgos”. Pero si ya se ha agotado, entonces, en el mejor de los casos, el cliente del proyecto culpará al ejecutor por “dados cargados”… en el peor, comenzarán los litigios. Es más, al principio del proyecto, el alcance no suele estar claro ni para el cliente, ni aún más para el ejecutor. En el enfoque de precio fijo, la probabilidad de obtener un proyecto desastroso en vista de que el presupuesto es demasiado pequeño es del 50%. El 50% restante es que el cliente pague de más por el proyecto.

Trabajar con el enfoque T & M es más beneficioso para ambas partes. El cliente obtiene lo que quiere (una solución) y finalmente el ejecutor obtiene beneficios del trabajo realizado. Pero este enfoque requiere grandes esfuerzos por ambas partes y la disponibilidad de una determinada base material y técnica

Bien, eso está bien, pero ¿cómo puedo saber que el alcance está hecho correctamente, cómo puedo saber que entonces, de un cielo claro, los tiempos excesivos y los gastos extra no caerán sobre mí?

En primer lugar, y una vez más, para asegurarse de que el alcance está claro existen los analistas de negocio, que harán un descubrimiento adicional con el cliente para asegurarse de que todos los detalles del proyecto se han delimitado correctamente. Además, como cliente, asegúrese de comprender el ciclo de vida de un producto. El proceso de desarrollo no puede consistir únicamente en llamadas telefónicas diarias. Hay herramientas como los rastreadores de problemas y los repositorios de código fuente, que son imprescindibles, para que el cliente obtenga un seguimiento del progreso y estados actualizados.

La preocupación por la seguridad de los datos en manos de contratistas extranjeros es cada vez mayor. Día a día, Internet está repleto de noticias sobre el robo, la venta, etc., de información confidencial. Incluso ballenas como Google y Facebook, han caído en la lista. ¿Cómo puedo estar seguro de la honestidad de los contratistas de la empresa subcontratada y saber que no van a fusionar mi base de datos de clientes, cuando la ocasión lo requiera? No quiero encontrarme en una situación que implique un supuesto robo de información confidencial, y tener que soportar los pecados de alguien, y pagar enormes multas, y acumular un importante daño a mi reputación

Así que aquí, para el cliente, la principal herramienta contra el riesgo de perder el control del proyecto es seguir siendo siempre un propietario del producto en toda regla, es decir, entender perfectamente la lógica empresarial de su producto y cómo se realiza técnicamente.

Para ello, debe haber dos personas en el lado del cliente: el jefe del departamento de TI (o jefe de digital) y el director de negocio del proyecto. El primero gestionará los equipos de TI internos y de terceros, coordinará su trabajo y se encargará del control de calidad del código, el segundo será responsable de la estrategia empresarial del producto.

Lo más importante para prevenir las violaciones de la seguridad de la información es un NDA o CDA debidamente ejecutado. Además de eso, los gobiernos extranjeros también están tratando de manejar estas preocupaciones. Así, como recordará, recientemente se adoptó el GDPR para proteger la integridad y la confidencialidad de la información personal recopilada de los clientes en cumplimiento de las normas internacionales de privacidad.

La diferencia de husos horarios es un dolor de cabeza para las grandes empresas transnacionales, por no hablar de la subcontratación. Cuando una parte del mundo realiza una jornada laboral, simplemente se va a trabajar a otro punto del globo. La respuesta a los correos electrónicos no llega hasta el día siguiente

Para las reuniones generales es necesario organizar convocatorias en “territorio neutral”, lo que supone un aumento del coste de la comunicación. Entonces, ¿qué hacer? Pero, ¿es la externalización la mejor solución para mi empresa? Sí, lo es. Pero asegúrese de que la zona horaria del proveedor de servicios se adapte perfectamente a sus peticiones. Dado que el globo es redondo, es fácil encontrar el país en alguna zona “intermedia”. Por ejemplo, la zona horaria de Ucrania es GMT + 2. Esto es muy conveniente para Europa: el horario de trabajo es el mismo. E incluso para las empresas de América, Ucrania es la mejor opción en comparación con las zonas horarias de Rusia, India o China. Además, la industria de las tecnologías de la información destaca por su flexibilidad de horarios, por lo que siempre es fácil establecer una hora de reunión conveniente para ambas partes.

Obviamente, en la primera etapa no tendrá un 100% de seguridad de haber elegido la empresa correcta. Pero puede reducir las posibilidades de error hasta en un 80% si deja de lado a los francotiradores, comprueba la competencia de su responsable de TI, obtiene la máxima información sobre la calidad de los servicios de la empresa a través de otros clientes, mira y “palpa” los procesos y herramientas de TI que utiliza el subcontratista y, por último, se asegura de la importancia de sus garantías financieras y legales (el importe de las devoluciones por baja calidad de los servicios y un SLA claro)

¿Por qué Redwerk?

Entonces, ¿qué hacen los Redwerkers para disipar todas sus dudas y preocupaciones cuando la externalización del desarrollo de productos se convierte en una cuestión de elección? Consulte esta lista y haga su elección deliberada

Enprimer lugar, no somos un éxito de la noche a la mañana, nuestra experiencia se ha ganado durante más de 13 años. La sangre y el sudor han construido nuestra empresa. Compruebe nuestro progreso en un clic y examine nuestros estudios de casos y testimonios de clientes totalmente satisfechos

Ensegundo lugar, protegemos la intimidad de nuestro cliente y la privacidad de todos sus datos mediante la firma de un acuerdo de confidencialidad bilateral en el que ambas partes se comprometen a revelar información a la otra que cada una pretende proteger de su divulgación. Nuestro Contrato incluye también una cláusula de confidencialidad para garantizar una total discreción en el mantenimiento de la información secreta. Además, el Contrato contempla la cláusula de “todos los derechos reservados” mediante la cual todos los derechos sobre el producto desarrollado pasan al Cliente y nos aseguramos una prioridad final de tenencia del producto.

Entercer lugar, construimos una solución integral de datos, que le permite procesar los datos personales de forma justa y de acuerdo con la ley, y nosotros también, ya que cumplimos con el GDPR.

En cuarto lugar, nos dedicamos con absoluta lealtad al modelo de contrato Time & Material, para que tenga sus propias ventajas, como por ejemplo

  • garantizar la planificación financiera;
  • guardar el derecho de determinar el número de miembros y de miembros del equipo cualificados al gusto del cliente
  • asegurar nuestra pronta respuesta a cualquier problema. No nos quedamos callados, discutimos y resolvemos cualquier problema que surja
  • conceder al cliente un alivio de la delegación, ya que el cliente se comunica con el director del proyecto y discute con él los principales requisitos, que en una fase posterior se reparten las tareas dentro del equipo;
  • asegurar un desarrollo transparente y un resultado deseable. El cliente se mantiene al tanto del desarrollo del proyecto, ya que tiene acceso a los sistemas de gestión de tareas y a la contabilidad de los costes de mano de obra en modo 24/7.

Enquinto lugar, en lo que respecta a nuestro equipo, le garantizamos que nuestros analistas de negocio son excelentes negociadores, conocedores de la tecnología, así como competentes en los principios del flujo de caja y del trabajo relacionado con las finanzas, de manera que se cumplan exactamente sus objetivos. Además, nuestros arquitectos, desarrolladores de software, ingenieros de control de calidad o diseñadores de UI/UX, todos y cada uno, son especialistas de primera línea, conocen su negocio y proporcionan un desarrollo de software, una implementación y un mantenimiento de primera clase para cada cliente. Además, el parque tecnológico de Redwerk abarca Java, C#, Python, Ruby, JavaScript, NodeJS, MySQL, Android, Windows, MacOS X y muchos más lenguajes de programación de uso común.

Como puede ver, nuestros valores son bastante simples: dedicación, experiencia, cumplimiento, transparencia y calidad. Si esto es lo que busca, entonces no dude en confiar su desarrollo de software en nosotros.