Cómo se desarrollan los sitios desde $ 100,000

imagen

Durante los últimos 7 años he gestionado proyectos de TI individuales en el marco del estudio web que dirijo, y durante este tiempo he adquirido una buena experiencia trabajando con grandes proyectos, que quiero compartir con ustedes. Mis clientes suelen ser de EE. UU., Francia y Alemania, pero hay proyectos terminados en Canadá, Suiza, Dinamarca, Australia, Japón, etc. Diseñé una red social, una subasta en línea, un concurso de acondicionamiento físico, un servicio para la selección de autopartes, entrega de alimentos, oficinas en línea para recibir y procesar pedidos, plataformas comerciales y otros tipos de servicios. Como puede ver, los proyectos son diferentes, pero están unidos por una característica distintiva: el usuario interactúa con el servicio de acuerdo con un algoritmo dado. Mi tarea principal es pensar a través de estos algoritmos.

Y si con más detalle, entonces debería:

  • discutir el proyecto en detalle con el cliente
  • redactar documentación de diseño
  • asignar tareas a especialistas
  • verificar su implementación y emitir enmiendas
  • entregar la funcionalidad de trabajo al cliente
  • enséñele a usar el servicio
  • firmar el certificado de finalización y transferir el proyecto al departamento de soporte
  • conectarse periódicamente a tareas complejas durante el proceso de mantenimiento

Escribiré sobre los matices de mi negocio y las protuberancias rellenas en un artículo separado. Y ahora, en realidad, sobre los proyectos ...

El elefante debe comerse pieza por pieza.


Debo decir de inmediato que los proyectos con los que trabajé no me costaron inmediatamente más de $ 100,000. Tales proyectos se están desarrollando en etapas y la primera etapa, lo que se llama MVP (producto mínimo viable), es varias veces más barata. El propósito de la primera etapa es lanzar un servicio de trabajo completo con funcionalidad limitada y poner a los primeros usuarios en él en condiciones preferenciales. Es importante monitorear su comportamiento a través del Webvisor o darles la oportunidad de reportar errores en el chat. Identifica de inmediato todas las fallas que no se pudieron encontrar a través de las pruebas, porque docenas y cientos de usuarios pueden usar el servicio de forma diferente a un probador. Muy a menudo, inmediatamente después del lanzamiento de la prueba de la primera etapa de desarrollo, aparece una lista de mejoras, que se incluyen en la segunda etapa.Esto le permite ajustar el desarrollo a los requisitos de los usuarios sobre la marcha.

El tiempo es dinero


Incluso antes de la entrega de la primera etapa, ofrecemos al Cliente que debata y prepare la documentación del proyecto para la segunda etapa, de modo que la carga del equipo de especialistas sea continua y no haya tiempo de inactividad. De esta forma, ahorramos tiempo de desarrollo general del proyecto. Sin mencionar el comienzo de la programación sin esperar el diseño y el diseño, además de conectar varios programadores, compartir cargas de trabajo entre ellos y combinar el resultado final.

Charla "para la optimización"


Con cada iteración de desarrollo posterior, el código de servicio se vuelve más complicado, el número de usuarios y el contenido aumenta significativamente. Es hora de optimizar la velocidad de descarga. Este proceso comienza con la optimización de la estructura del servidor, ya que inmediatamente da un resultado a corto plazo. Después de eso, las consultas del sitio se optimizan. Todavía tenemos que volver a este procedimiento cuando el número de usuarios vuelve a aumentar significativamente. Aquí podemos hablar sobre las pruebas de estrés, pero desde la práctica "la cuchara es el camino hacia la cena", por lo tanto, el trabajo de optimización generalmente se lleva a cabo cuando existen requisitos previos objetivos para esto.

Dime mi luz


Con una cierta carga en el servidor y el número de usuarios, la pregunta es acerca de reflejar el servicio. En primer lugar, una copia espejo del servicio en otro servidor nos permite distribuir la carga dividiendo a los usuarios entre los servidores. En segundo lugar, en caso de que un servidor se apague por algún motivo técnico, el segundo se hace cargo y los usuarios continúan utilizando los servicios del servicio continuamente. En tercer lugar, dicha estructura permite probar un nuevo funcional desarrollado sin el riesgo de que todos los usuarios del servicio encuentren un error inesperado en la versión de trabajo. Al aumentar la proporción de usuarios que ven la nueva funcionalidad gradualmente, reduce significativamente este riesgo.

Llamame llama


Por supuesto, dicho servicio no puede existir sin una línea de soporte y sin el tiempo asignado para especialistas que pueden conectarse en cualquier momento para corregir urgentemente los errores del sistema por miles de posibles razones imprevistas: usar un dispositivo / sistema operativo / navegador no compatible, sin seguir el proceso trabajar en el servicio, errores de formato de documentos, problemas técnicos en el servidor, etc. etc.

Vuela por separado, chuletas por separado


El proceso de mantenimiento y desarrollo es diferente, así como el nivel de las tareas. En este sentido, hace tiempo que llegamos a la necesidad de separar estos dos departamentos: se trata de personas diferentes con diferentes procesos de trabajo. Por supuesto, es importante en este caso transferir las cosas correctamente después del desarrollo de la funcionalidad principal, de modo que la línea del calibrador esté actualizada en detalle con los algoritmos del proyecto.


Es importante comprender que los clientes gastarán grandes presupuestos de desarrollo solo si reciben un retorno de su inversión. Por lo tanto, es inútil centrarse en la alfabetización técnica de las soluciones implementadas y considerar que si tiene documentación de diseño detallada y tiene razón en todos los aspectos, porque hizo un servicio bien pensado y probado, entonces eres genial y pagarás mucho y mucho tiempo. Si no ve el objetivo final, para que el servicio crezca y no profundice en los objetivos comerciales del Cliente, comuníquese con los contratistas de promoción (si este no es su departamento) y mantenga el dedo en el pulso del proyecto, entonces su producto ideal tendrá éxito, y pierdes la fuente de ingresos. Desafortunadamente,La mayoría de los desarrolladores de software miden su trabajo con una tarea técnica completada y están orgullosos de su capacidad para rechazar las quejas de los clientes. Esto es indudablemente importante, pero no le dará la posibilidad de ganar en el futuro.

Por fin te diré


Quiero señalar que para que su negocio de desarrollo web tenga éxito, no es necesario luchar por grandes proyectos. Hay un buen campo para los negocios en sitios baratos y baratos, si pone ese trabajo en marcha. Como nuestra especialización, elegimos el desarrollo de servicios complejos, porque lo hacemos bien. Nuestra empresa llegó a este negocio desde el desarrollo de sistemas de contabilidad, por lo que la automatización del negocio está "en nuestra sangre".

Espero que sea de ayuda. ¡Gracias a todos los que leyeron!

Le agradecería su comentario constructivo.

Y si no usa comentarios por modestia natural, política, religiosa o por cualquier otra razón, puede escribirme aquí .

All Articles