Puede firmar el NDA, pero ¿cómo lo va a hacer cumplir? Puede proporcionar su propia NDA y sitios como elance también proporcionan NDA. Para hacer cumplir, tiene que ir a ese país y demandar, y dependiendo de las leyes del país, hay algunas posibilidades, pero extremadamente difíciles. Ninguno de los centros de outsourcing tiene leyes de propiedad intelectual sofisticadas.
Asegúrate de no compartir tu salsa secreta. Intente obtener el desarrollo de la idea en partes (e integre usted mismo) y use algunos desarrolladores locales para ese propósito. No será tan barato, pero menos arriesgado.
Otra opción para contratar una empresa con sede en EE. UU. Que tenga servicios de desarrollo offshore. De esta manera, siempre puede ir tras la empresa local por cualquier incumplimiento de contrato. Como estas empresas tienen presencia en el país donde se está trabajando, tienen formas legales de hacer cumplir los contratos.
Es muy importante que proporcione la especificación completa de su proyecto, principalmente en términos de estructura alámbrica, bocetos o maquetas. Asegúrese de tener maquetas que cubran todos y cada uno de los detalles. Desde la página de inicio / aterrizaje hasta el cierre de sesión. No importa dónde se encuentre su desarrollador (en EE. UU., India o en cualquier otro lugar), deben ver los wireframes / maquetas / bocetos para comprender exactamente lo que está buscando. Sin estos bocetos, su idea está en su cabeza y no tienen una buena manera de entender lo que necesita. Si le pide a 5 programadores diferentes que creen algo similar a cierta aplicación, clone una aplicación / sitio, el resultado sería diferente para cada uno. Todavía tiene que especificar exactamente lo que quiere y cómo. Esto también incluye texto adecuado, ux, etc. Cada cambio posterior requiere cambios en cada nivel (front-end, diseño, base de datos de fondo) y lleva tiempo, que es dinero.
Realmente no necesita plantillas o documentos formales, simplemente comience con flujos de alto nivel y luego cree bocetos de cada pantalla, en cuanto a cómo le gustaría ver el resultado final. A medida que profundice, verá una buena comprensión del flujo y también ayudará a definir el alcance.
- ¿En qué se diferencian Google o Apple o Microsoft de Boeing o Lockheed Martin o Northrop Grumman con respecto a las prácticas de desarrollo de software?
- ¿La reutilización en el desarrollo de software es una broma?
- ¿Cuáles son los detalles técnicos detrás de las aplicaciones o extensiones que bloquean los anuncios?
- ¿Vale la pena trabajar en una startup como desarrollador de software?
- Como desarrollador de software, ¿sería un problema si no sé cómo construir e implementar mi sitio web personal?
Este es todo el trabajo de experiencia del usuario. Si no puede o no quiere hacer este trabajo de UX, contrate a alguien para que lo haga. Tiene sentido invertir en esto y solo comenzar el desarrollo cuando se finalizan estos wireframes.
El siguiente paso es el diseño. Haga que el diseñador cree páginas / pantallas bonitas. Dependiendo del proyecto, esto puede no ser necesario, pero la mayoría de las aplicaciones / proyectos de inicio siguen este proceso. Creo que es el más crítico y puede marcar una gran diferencia en la salida final.
Para el desarrollo real, lo ideal es que desee contar con un experto local de confianza, hacer el arquitecto y el diseño y simplemente enviar el trabajo de desarrollo a los desarrolladores offshore. Debería poder crear pequeñas tareas, hitos y entregas. Incluso si el proyecto tiene un precio fijo, desea tener un hito y un pequeño producto y mantener un buen control de la calidad y el diseño del código, para asegurarse de obtener el resultado correcto.
Las empresas de desarrollo offshore no tienen una buena reputación cuando se trata de pruebas. Ahí es donde viene el proceso. ¿Tiene un proceso de desarrollo, pruebas unitarias, pruebas automatizadas, construcción continua e integración para que los problemas se detecten a medida que surjan? ¿Tiene un proceso para identificar y verificar que la prueba unitaria cubra todos los requisitos de la aplicación? Por lo general, se incluye una prueba de desarrollador como parte de los servicios y debe tener un contrato para pruebas adicionales y cubrir los escenarios mencionados anteriormente. Este proceso lleva tiempo y cuesta dinero, por lo que muchas empresas lo evitan, lo que les hace daño tarde o temprano.
Por lo general, hay un período de garantía para la corrección de errores, pero hay muchas áreas grises. Los errores pueden ser por muchas razones diferentes que pueden estar fuera del alcance original. Por ejemplo, debido a la carga del sistema, un conjunto diferente de datos u otro escenario o factor que puede no ser parte del alcance original. Incluso para encontrar esto, se requiere alguna investigación, por lo que puede terminar recibiendo la factura por este trabajo que se debió a eventos fuera del alcance del trabajo.
Al final, reiteraría que el proceso de desarrollo es muy crítico para la entrega exitosa de proyectos de desarrolladores offshore. Tener un boceto detallado o una estructura alámbrica es fundamental para mantener el costo del proyecto bajo control.
Espero que esto ayude.