1C, sin dolor

En mi vida, vi dos tipos de negocios que se desarrollan peor que nadie: los franquiciados de 1C y los vendedores de árboles de Navidad. No se trata de la amplitud del desarrollo, cuando solo crece el número de programadores, sino del desarrollo interno. Sobre efectividad, en resumen.

Aunque, probablemente, los vendedores de árboles de Navidad pueden ser excluidos de esta lista, lograron sorprenderme antes del Año Nuevo vendiéndome un abeto real. Anteriormente, solo había abetos y pinos. Incluso busqué en Internet cómo distinguir un árbol de un abeto; en realidad, era un abeto.

Por lo tanto, solo los franquiciados de 1C permanecen en la lista de "Empresas más en desarrollo". Mucha gente maravillosa trabaja allí, pero o el ambiente es así o el lugar está condenado, algo les pasa.

Solo piensan en el día de hoy. Quizás el culpable sea la estrecha vinculación con un proveedor, que desarrolla tanto el marco como las soluciones de aplicación. En el siglo XXI, ¿nadie en su sano juicio construirá un negocio a largo plazo vinculado a un lenguaje de programación, un entorno de desarrollo, un mercado? Pero forja el hierro mientras hace calor, por favor. Cuando se enfríe, entonces será posible pensar en algo serio.

Pero por alguna razón, me parece que no todo está perdido. Puedes hacerlo mejor.

Los diferentes métodos para aumentar la eficiencia son, por supuesto, interesantes. Pero una combinación mucho más interesante de estos métodos para una actividad específica es un caso. Incluye procesos, motivación, automatización, objetivos y un sistema de gestión. No siempre todos los componentes a la vez, justo lo que necesita.

Intentemos crear un caso para una parte específica del negocio con el que estamos familiarizados: 1C: Franquiciado. Nos es familiar porque tiene experiencia trabajando en otras franquicias durante varios años, además, nos encontramos constantemente con francos en un entorno formal e informal.

Formularemos el caso sobre la base de la experiencia acumulada: casi todo lo que escribimos ha sido probado en nosotros mismos. No estamos convenciendo a nadie de nada, puramente interés académico. Sin embargo, hubo grandes franquicias que pusieron este caso en servicio, y ellos mismos introdujeron algo allí.

Si no sabe qué es 1C: Franquiciado, lea como si estuviéramos hablando de cierta compañía que brinda servicios para el desarrollo, mantenimiento y refinamiento de software.

El objetivo del caso es simple: aumentar la producción de programadores y, si es posible, los ingresos. O agotar, tiene diferentes opciones. Vamos Te lo advierto, Longrid.

Situación inicial


No tome toda la franquicia, sino parte de ella, que llamaremos el departamento de desarrollo. Estos son chicos, programadores de 1C que están sentados en la oficina, reciben tareas a través del sistema o de consultores, deciden si pasan el resultado a los consultores o al cliente, de forma remota.

Existen varios departamentos de este tipo en las franquicias de redes grandes, hay competencia entre ellos y, cuando no tienen suficientes recursos, intercambian activamente especialistas y tareas. Quizás no sea por su propia voluntad, pero este no es el punto: consideramos al departamento de desarrollo como una unidad de negocios, y no como un grupo de "programadores reales".

Digamos que nuestro departamento de desarrollo consta de cinco personas. La producción mensual promedio total es de 500 horas. De estos, 200 es cerrado por un cierto campeón, el codificador más experimentado e inteligente. 100 horas cierra el segundo, 80 - el tercero y cuarto, 40 - principiante.

Digamos que una hora de trabajo para un cliente cuesta 2000 rublos. Digamos que tenemos una tasa interna única para programadores: 500 rublos por hora. Estimaciones simples dicen que los ingresos del departamento son de 1 millón de rublos al mes, la nómina del departamento es solo el 25% de los ingresos, en este caso 250 mil rublos. En total, la compañía recibe 750 mil rublos, de los cuales paga impuestos sobre los mismos programadores, bueno, y todos sus otros gastos. No consideraremos la estructura de ganancias, solo entendemos que no es lineal, porque contiene costos fijos, como alquilar una oficina y comprar cookies.

El desarrollo, por ejemplo, es relativamente estable, no salta mucho. A menos que, cuando el Campeón se vaya de vacaciones, tengamos un fracaso del 40 por ciento. A veces sucede y 700 horas, cuando sucedió un buen proyecto, y los programadores trabajan los fines de semana.

Objetivo del caso


Inmediatamente te diré el propósito de usar el caso para no crear misterio. Queremos que nuestro departamento de desarrollo no dé 500, sino 1000 horas por mes, es decir. el doble Por la misma tarifa por hora, con los mismos costos fijos, con el mismo número de horas de trabajo. Podemos permitir pequeños gastos de tiempo para este proyecto, por ejemplo, dentro de 30-50 tr.

Es importante decidir de inmediato qué haremos en la situación objetivo. Por un lado, vendemos el tiempo de especialistas: las horas que dedican a resolver problemas. Por otro lado, vendemos tareas resueltas, evaluándolas en horas. Todo parece estar claro, pero la diferencia entre los dos sistemas de calificación es bastante significativa.

Digamos que nuestras 500 horas al mes son 500 horas reales de trabajo para especialistas. Para estas 500 horas, resuelven, digamos, 200 problemas, con un precio promedio de 2.5 horas. Resulta que cada tarea cuesta un promedio de 5000 rublos. El cliente está bastante listo para pagar ese tipo de dinero, conoce el mercado, el resto de las franquicias tienen el mismo precio.

Y así aprendimos a resolver el problema no en 2.5 horas, sino en 1.25 horas. La pregunta clave es ¿cuánto se puede vender a un cliente?

Si vendemos tiempo, es lógico vender por 1.25 horas. El cliente estará muy contento, más barato y más rápido. Pero para nosotros, como empresa, casi no hay beneficio de tal esquema, solo un cliente satisfecho y tiempo libre de especialistas que necesitan tomar algo. Supongamos que encontramos más clientes y también les vendemos una tarea durante 1.25 horas. Como resultado, en un mes, ¿qué obtendremos? Lo mismo 500 horas para 2000 rublos. No tiene sentido

Una opción es aumentar la tarifa por hora. ¿Pero resolvemos los problemas más rápido que los competidores? En trabajos pequeños, nadie lo notará especialmente, pero en las tareas a las 40 horas la diferencia ya será notable.

Pero el precio de una hora es un cambio notable para el mundo exterior que puede desalentar a los nuevos clientes de nosotros. ¿No saben lo que estamos haciendo el doble de rápido? Los lemas escritos en el sitio no son particularmente convincentes.

Parece más correcto continuar vendiendo la tarea durante 2.5 horas. El cliente no nota nada, y obtenemos un resultado normal y objetivo: al hacer el doble de tareas, obtenemos el doble de dinero.

Puede elegir una opción de compromiso: vender, por ejemplo, en 2 horas. Luego, el cliente ve ahorros tangibles (especialmente en grandes volúmenes), obtiene el resultado más rápido y estamos en el negro. Además, incluso con la preservación de la tasa interna de los programadores.

Por simplicidad, consideraremos la opción cuando continuemos vendiendo por 2.5 horas. Evaluamos la tarea entrante usando un algoritmo un poco más complejo: necesitamos estimar el tiempo real y multiplicarlo por 2. Pero más adelante eso.

Sí, todavía hay opciones exóticas para usar el tiempo libre, por ejemplo, para fortalecer el desarrollo interno. Esto será al final.

Bueno, eso es todo, el objetivo es claro, ahora pasemos al análisis de los cambios necesarios.

Cuestión clave


Dicen que siempre hay un punto de aplicación de fuerza en el que debe insertar una palanca y obtener el máximo efecto. No estoy de acuerdo con esto, en el sentido de que ese punto siempre está ahí. Pero en este caso lo es: un sistema de motivación.

Nuestro sistema de motivación es una tarifa individual por hora para el trabajo realizado.

Hay muchas ventajas para los programadores, pocas para los negocios, pero hay muchas desventajas.

El especialista no tiene absolutamente ninguna razón para compartir su conocimiento y experiencia. Lo único que vale la pena hacer es elevar tu perfil. Si todo está en orden con importancia, entonces está contraindicado compartir experiencias, y aún más para ayudar a resolver problemas. Si le enseñas a un tonto, él se convertirá en tu competidor, y ni siquiera te lo agradecerá.

Si conoce bien, por ejemplo, un salario (este es un programa de este tipo), mientras que otros no lo saben, siempre tendrá pan y mantequilla. Tan pronto como aparezca el segundo cheque de pago, tendrá que hacer esfuerzos para obtener la mayor cantidad de datos.

¿Qué es esto para los negocios? Si los especialistas no comparten competencias, el cuidado de la capacitación recae sobre los hombros de la empresa. Es necesario organizar cursos o pagar a organizaciones de terceros (como 1C). El segundo es los cuellos de botella en forma de especialistas clave. Si de cada 5 personas solo una conoce el ERP (este también es un programa como ese), entonces físicamente no puede tomar más trabajos de ERP de los que este empleado puede digerir. Incluso si es un campeón, no habrá más de 200 horas por mes. Bueno, o arriesgue, tome el trabajo para resolverlo más adelante, en el camino.

No es muy posible hacer compartir competencias. La visibilidad se puede hacer. Pero, quien era un programador, él sabe que hay formas de proporcionar asistencia para que ya no lo contactemos. Incluso puedes obligar al Campeón a realizar un seminario o entrenamiento. Honestamente informará sobre el material, uno que es tan accesible en Internet. Se dejará conocimiento real y práctico para sí mismo.

Una tarifa por hora individual es como un negocio dentro de un negocio, y este "negocio interno" siempre es una IP, no una LLC.

Y las competencias son importantes, especialmente en una era de cambio que ocurre periódicamente. Hay, por supuesto, una pausa en un par de años, por ejemplo, antes del lanzamiento de ERP, cuando todos ya han descubierto el arrancador suave (este también es un programa, viejo pero lleno de vida). Pero en 2004–2010, por ejemplo, los "ingenieros de proyectos" que poseían conocimientos sobre SCP fueron los mejores de todos. Ahora, probablemente, los expertos en ERP viven mejor que nadie; no estoy seguro.

El trabajo a destajo individual mata la capacidad de compartir soluciones de trabajo y mejores prácticas, porque, nuevamente, esto no tiene sentido. Bueno, le diste a la persona tu procesamiento o subsistema, cerró 40 horas de acuerdo con el cliente en un día, recaudó 20 tr. ¿Qué pasa con eso? Por supuesto, puede llegar a un acuerdo y crear un mercado negro dentro del departamento, pero no tiene sentido. Es más fácil decir: "dame la tarea, la resolveré". En una situación desesperada, por supuesto, él dará, pero más bien, lo dejará para sí mismo, por principio.

Puedes ver las competencias de manera diferente: ¿quién es su dueño? Digamos que su campeón ha estado con la compañía desde 2010. Realizó mucho trabajo en ERP, adquirió competencias. ¿A quién pertenecen?

La compañía dirá: nos pertenecen. Nuestros clientes, nuestros proyectos, nuestras tareas. Dar competencia. ¿Cómo recogerlos? No tirar de las garrapatas? Este no es un activo material. Se asusta y las competencias lloran.

¿Y qué son las competencias? Producto. O no, los ingresos por la venta del producto. Enviado 200 horas por ERP, recibió dos ganancias - 400 tr y competencias Dinero, por supuesto, aquí está, en la cuenta corriente. Puede transferir, gastar, invertir. ¿Dónde están las competencias? En esa cabeza calva. ¿Qué se puede hacer con ellos? De hecho, nada.

Resulta que el chico aprendió a nuestra costa. No es que hayamos invertido dinero en su entrenamiento, no, simplemente sucedió. Pero podemos obtener este beneficio de una sola manera: continuar explotando estas competencias, es decir en todo el trabajo de ERP ponlo solo. Bueno, o arriesgarse y poner a un principiante para obtener otro recurso no recuperable.

La razón de este estado de cosas es trivial: el sistema de motivación equivocado. No es que no aliente: prohíbe directamente que una persona comparta competencias.

Sistema de motivación: ¿para qué sirve? Para que una persona misma, por su propia voluntad y con todo celo, haga lo que sea beneficioso para la empresa. El sistema de motivación debe reemplazar al líder que camina, patea e intenta señalar algo todos los días.

¿Cómo asegurarse de que una persona, por su propia voluntad, haga lo que sea beneficioso para la empresa? Bueno, en primer lugar, por supuesto, entender lo que es beneficioso para la empresa. En segundo lugar, para garantizar que el beneficio de la empresa sea beneficioso para la persona. No en forma de misiones y lemas, sino de verdad.

Caso


Para el caso, elegí los métodos que, en mi opinión y experiencia, son los más adecuados para lograr el objetivo: duplicar la producción. En general, hay muchos más métodos, pero aquí no estamos involucrados en la escritura, sino en los hechos. Además, vale la pena señalar que para duplicar la salida no es necesario implementar todos los métodos, a menudo solo uno es suficiente.

La diferencia en las condiciones iniciales de una empresa en particular, de la que no sé nada. Probablemente exista la franquicia más tonta del mundo, que tiene la producción más baja por empleado. No eres de esta franquicia, por lo que tu métrica es más alta. Pero cuanto más alto, no tengo idea. Pero el hecho de que pueda duplicar la salida es un hecho.

Entonces, ¿qué necesitas hacer con :

  • Seleccione, automatice y agregue saldos iniciales al sistema de calificación;
  • Automatizar y agregar saldos iniciales al sistema de competencia;
  • Tomar una decisión sobre el sistema de motivación, automatizar;
  • Elija los parámetros de la estrategia de competencia;
  • Nombrar un oficial de servicio;
  • Habla con los programadores.


Para hacer:

  • Discusión general de las tareas entrantes;
  • Selección de un ejecutor por competencia de acuerdo con la estrategia;
  • Asistencia mutua gestión y contabilidad;
  • Gestionar estados de tareas.


Ahora resumiré brevemente cada elemento. Pero primero, una explicación de la automatización.

Automatización


El punto que está presente en casi todas las variaciones del caso es la automatización. Todos los cambios que hará en los procesos, la gestión y la motivación, debe automatizarlos rápidamente.

"Automatizar rápido" es realmente rápido, es decir durante el día (incluida la espera de la oportunidad de actualizar la configuración de la base de datos). A partir de aquí, surge la necesidad de realizar esta automatización por las fuerzas del mismo equipo, cuyo desarrollo está aumentando. Si eres un gran franquicia y tienes otro departamento que no está sujeto a tu automatización interna, entonces no tienes mucha suerte, pero hay una solución: la automatización secreta.

Para todo lo que está en el caso, una configuración autodescrita hecha en la rodilla es suficiente. Luego, algún día, lo mejorará, lo integrará en su sistema corporativo, creará una interfaz ergonómica, etc. Ahora necesitamos datos casi desnudos, sin belleza y conveniencia. Por lo tanto, si no tienes acceso para finalizar el sistema común, crea el tuyo y compártelo dentro del equipo.

Si su sistema de administración de tareas no está en 1C, entonces, desafortunadamente, no tiene suerte, lo más probable es que tenga que tirarlo. O úselo como un proxy para 1Snoy, si los clientes sobresalen; déjelos manejar las tareas allí, pero por ahora, hágase un sistema usted mismo, en 1C, y cargue datos en él. De lo contrario, nada funcionará: los desarrolladores de bitrix24, JIRA, Github y otros sistemas, me disculpo, querían cagar en sus necesidades. Si agregar Todavía puede agregar una propiedad a la tarea allí, entonces la parte tabular es poco probable, y aún más es el informe.

Para automatizar el trabajo de los equipos internos sentados uno al lado del otro, la mejor plataforma, por desgracia, es 1C.

Sistema de clasificación


Necesitamos un nuevo sistema de calificación: la tarea que ahora hacemos en 2.5 horas, debemos hacerla en 1.25 horas y venderla en 2.5 horas. Resulta que la tarea en nuestro estado objetivo tendrá dos clasificaciones: 2.5 y 1.25 horas. Uno es una inversión de tiempo real, el otro es una evaluación determinada para un cliente. Ahora, en el estado actual, creemos que estas estimaciones son iguales (en promedio).

Personalmente no me gusta mantener dos clasificaciones en una unidad (horas). No puedo dejar de preguntarme cómo le puede gustar a alguien. En realidad, hay incluso más clasificaciones: el reloj para el cliente, el reloj llamado por el programador durante la planificación, el reloj es real. Cómo, entonces, reunirlo todo, analizarlo de alguna manera: el diablo lo conoce.

Recomiendo el sistema de Scrum - planificación de póker. Cada tarea se evalúa en puntos tomados de la serie de Fibonacci: 1, 2, 3, 5, 8, 13, 21, 34, etc. La evaluación refleja su visión integral de esta tarea: la complejidad de la ejecución, y los costos laborales, y la incertidumbre, y la naturaleza problemática del cliente en la entrega del trabajo.

La forma más fácil de comenzar con el "ancla" es determinar que hay una tarea de 1 punto. Esta es la tarea atómica más simple que resuelve. En consecuencia, una tarea de 2 puntos es el doble de difícil.

Se realizan estimaciones al procesar la transmisión entrante, es decir cuando aparece una nueva tarea. Cada miembro del equipo pone su marca, al final tenemos - 5 marcas (para el ejemplo descrito por nosotros). Si hay estimaciones que divergen en más de un elemento de la serie, entonces necesitamos hablar y comprender por qué hay una diferencia tan grande, y para eliminarla, una se sobreestima o la otra se subestima. Cuando se resuelven todos los desacuerdos, se considera el promedio (la suma de las calificaciones dividida por el número de calificaciones): será la evaluación del problema.

Si introduce el sistema "desde arriba", entonces es bastante posible no organizar una votación, sino colocar las calificaciones usted mismo. No tenemos Scrum, escribimos las reglas nosotros mismos.

Si en el proceso de resolver el problema se hizo evidente que la estimación se subestima o se sobreestima, entonces puede cambiarla con seguridad. Por supuesto, para cuando la tarea esté cerrada, la calificación final debe ser conocida.

La evaluación debe ingresarse en el sistema y almacenarse en forma de una tarea de utilería.

Si no le gustan los puntos, puede usar algún tipo de horas estándar. No recomiendo esta opción, pero mi opinión puede ser ignorada. Por ejemplo, en los albores de la práctica, se me ocurrió una evaluación como "para lo mejor": cuántas horas pasaría el mejor programador sabiendo sobre un problema, contexto, cliente, funcionalidad, etc. ... Todo lo que una "mejor" necesita - Escribe un código.

Ahora es extremadamente importante ingresar los saldos iniciales: evaluar las tareas durante 1-2 meses que ya ha resuelto y hacer estimaciones en el sistema. Primero, practique y desarrolle su propio sistema de calificación. En segundo lugar, y lo más importante, obtenga la velocidad actual y el "precio en puntos".

Por ejemplo, resulta que vendes 500 horas al mes por 2000 rublos, y esto es 500 puntos. Entonces su puntaje en este momento es de 2000 rublos. Después de introducir los cambios, debe generar 1000 puntos, venderlos por 2000 rublos y recibir el doble de ingresos (tanto de la empresa como de los empleados).

Las sobras iniciales son extremadamente importantes, porque sin ellas no responderá la pregunta elemental: ¿funcionó o no? No seas perezoso, por favor.

Será tentador no evaluar las tareas antiguas, sino comenzar con las nuevas. , , , . – .

«», – .


, . , , ( ).

– . . , . , , .

– . – « » « », , .

– . – . , , , . – , . , , , , .. , .

, – . , . – , . , 10 . , , 100 %.

. . . . , , , .

« », . , - . – , , , , .

– , . , – .


– . , , , , , ( ). , – .

, – . «», «», .

. – . , , ( ). , , .. .

, , , , .

– «» , , . , , , , . , ( , – ).

, , , , « -». , , 10 , 2.

-. «», . «» – , , , . ? – . , 40 % — «». , 15 , , 2 , 500 . 2 . 60% = 600 , .. 266 (600 2.25 ). , 100 ( 10 , 1000 ).

«» 1600 ( 15 , 400 ). , . , .. , 500 , – 1600 . , – . , . , . , , -, .

, . , – . , 2 , 5 - . , , , .

, – , . , .

: – , «» . – , . , – , . .


, , . – , , , .

, . , .

, – - . , , , . , , , .

, . : . – , , , , .

: 70 % – , 30 % – . , . , . , , .

, – , , , ? , . -, . -, . , , . « » – « — ».

, , – , , . , – . . -, , . , , .

– , , . , – , .


«», , , . – , , , . – , , - . .

– , . , – – .

, , . , - «, , , . , . , , . , . „ “? ? , , , , 9-00 . , . – , ».

– , ( ). .

. , . , , , , . , , , . , , , , , .

- , . 5 15 . , – .


– , , . - , . . , . , , « ».

, , . 1 – , . , , . , , – , , , – - «», , . 1 , - .

, , - , , . : .

– . , , . , – , , . .

, – , . , , . , « », - .

, , , - . , , , , .

. , , – , – . , , .


Mucha gente se pregunta: ¿cómo es posible que la producción se duplique? ¿Por qué? ¿Somos capaces de escribir código más rápido? ¿O reducir su calidad? ¿Bofetada y producción? Muchos, por supuesto, no se les pregunta, sino que simplemente lo niegan y lo rechazan. Después de todo, es imposible que hubiera un método probado de doble aceleración, pero ¿nadie lo sabía?

El problema, de hecho, es común: el vector de atención equivocado. O, más simplemente, no estás mirando allí. Limitamos el tema a los programadores, aunque el principio es universal.

¿Cuál es, en su opinión, la velocidad ideal para resolver un problema del cliente por un programador de 1C? Se trata de la tarea de desarrollar o finalizar. Piensa mientras lees, la respuesta será un poco más baja.

Echemos un vistazo al trabajo del programador 1C. ¿Qué piensa, cuánto porcentaje de tiempo programa realmente (incluidos todos los aspectos: escribir código, crear metadatos, diseños, etc.)? 100%? 50%? 20%?

La práctica muestra que sucede y 3%. Si no lo cree, verifíquelo usted mismo: existen programas especializados para tales mediciones. Pero hay una manera más simple: observe la cantidad de código escrito por el programador en un día y divida por su velocidad de impresión. La cifra resultante puede sorprenderte.

La mente del programador estará indignada, bueno, pero ¿qué pasa con la cantidad de código y la velocidad de impresión? Hay tareas en las que necesitas escribir tonto y mucho. Y hay aquellos en los que necesita leer mucho, pensar, analizar e intentar, depurar durante mucho tiempo.

Ok, vamos al otro lado. Todo el día el programador pensó, analizó, intentó. Como resultado, escribió 50 líneas de código, y el problema está resuelto. Código correcto, correcto, todo está verificado y funciona. Pasé 8 horas.

Ahora la pregunta es: ¿en qué momento resolverá exactamente el mismo problema de otro cliente? Si solo toma una solución preparada, entonces unos 5 minutos, ¿verdad? Bueno, mientras el configurador se abre allí, mientras que el segundo, mientras se copia, etc. ¿Y si reescribes, con bolígrafos? Media hora? En el camino, también hará una revisión en la máquina, y el código mejorará. 16 veces más rápido

Bueno, al diablo con eso, con copiar el código. Otro ejemplo. Usted, en lugar de darle una tarea al programador, le dio 10-20 - usted dijo: aquí está el rastreador, elija cualquiera y hágalo. ¿Qué pasará después?

El programador elegirá. En el código del programa, el operador de selección funciona durante una fracción de milisegundo (si no es una condición muy difícil), pero una persona no es una máquina. Para él, la elección es un proceso que a veces va muuuy lento.

A veces, este proceso recuerda al reconocimiento en la batalla: el programador no solo lee el título de la tarea y la descripción detallada, sino también los comentarios, y luego se arrastra al configurador para comprender el contexto. Mira, tropieza. Fu, por ejemplo, esta es una tarea sobre monos, allí el diablo se romperá la pierna, en este arranque suave. No, deja que Kolyan lo haga. 15 minutos perdidos Multiplique por 10-20, ¿cuánto resultará? ¿Hasta 5 horas?

Esto está bien si el programador es inteligente y tiene suficiente contexto para tomar una decisión. Pero él, por ejemplo, un gran fanático de Internet, fue a buscar una solución preparada, en el mismo Infostart, en una conferencia de afiliados o en otro lugar. El tiempo de elección comienza a crecer a un ritmo alarmante.

Medio día elegirá, medio día funcionará. Pérdidas: 50%, es decir es suficiente que alguien emita correctamente una tarea para duplicar la salida.

Bien, no tenemos un problema como la elección. El gerente, o programador jefe, elige y dice: aquí, haz esto. No, no quiero, no puedo, dejar que Kolyan lo haga mejor, responde el programador. ¡Hazlo, dije! - insiste el jefe.

Además, de acuerdo con la comprensión de lo principal, el programador se sentó y lo hizo. Deje que no sea muy efectivo, pero lo hace. Que esta haciendo el A veces, sí, resuelve el problema. A veces se sienta y se ofende. O buscando razones para no hacer la tarea. Por ejemplo, está preparando una lista de problemas, "sin los cuales no tiene sentido comenzar". O Internet es estúpido, porque el mundo no es justo.

Terminaré los ejemplos, aunque en realidad hay docenas de ellos. Resulta que el programador tiene dos estados: escribe código o tupit. La palabra "tupito" se usa sin una connotación negativa, simplemente no encontró un verbo más adecuado del sustantivo "estupor".

Entonces se dibujó el principio principal: mira dónde es estúpido. Tiene poco sentido comenzar el crecimiento de la eficiencia con el proceso de escribir código, elegir un entorno de desarrollo diferente (como EDT), todo tipo de cosas para acelerar la codificación, etc. Tenga en cuenta que cuando un programador escribe código, es eficiente. Así es cuando toca con los dedos el teclado o dibuja con un mouse la forma y agrega los detalles.

La mayor parte del tiempo se pierde donde el programador es estúpido y no donde escribe el código. Le dije varias opciones.

Si eres el jefe de programadores, deja de mirar la codificación, mira el tiempo de inactividad. Si eres programador, mírate a ti mismo, en tu tiempo de inactividad. Esta es la clave para aumentar la velocidad de desarrollo.

Volvemos a la pregunta: ¿cuál es el momento ideal para resolver un problema del cliente por un programador de 1C? La respuesta es obvia: cero. Bueno, absolutamente cero no existe, deja que sean 5 minutos. ¿Cómo se logra este tiempo? Ya entiendes: emitiendo una solución llave en mano. El cliente vino, dijo su tarea, y usted le dijo de inmediato: la solución que ya tiene. No sé cuánto dinero tomar, bueno, no en 5 minutos del trabajo de un especialista, eso es seguro. Puedes discutir con esta afirmación, pero puedes pensar. ¿Cuántas veces has resuelto problemas idénticos? ¿Cuál es el porcentaje de tareas que resuelve por primera vez y nunca ha oído hablar de tal cosa? Tengo una pequeña práctica: solo tengo 13 años, pero incluso con una figura tan modesta, entiendo y veo que ya he resuelto la mitad de los problemas.

Si se arma con este enfoque, necesitará bastante: escriba herramientas personalizadas abstractas (en lugar de govnokod contextual y momentáneo) y guárdelas en algún lugar. Lo primero que discutimos, lo segundo tiene muchas soluciones.

Luego fui un poco más allá del caso. No le insto a que renuncie a todo y trate con soluciones preparadas, solo quería mostrar el ideal: la aceleración no es, de hecho, desarrollo, sino ventas decenas o cientos de veces. En consecuencia, la aceleración de la generación de ingresos de franquicia es cientos de veces. Si bien trataremos con uno más pequeño, aceleraremos dos veces.

Entendiste el principio, entonces todo será claro y simple para ti. Describiré las acciones que deben incluirse en el trabajo del departamento, con un objetivo: reducir el tiempo aburrido y reemplazarlo con programación.

Discusión general de las tareas entrantes.


Simple y cursi. El asistente, de quien discutimos en un artículo anterior, reúne a todos los programadores en un montón cada mañana, y miran juntos nuevas tareas.

Lo primero que debe averiguar es si alguien ha resuelto un problema similar. Si decide, entonces designe un consultor o curador, no importa a qué llamar. Es importante que el contratista sepa a quién contactar.

Si nadie ha hecho esto, entonces simplificamos un poco los criterios: estamos buscando a aquellos que han trabajado con este subsistema, o este documento, o este mecanismo de plataforma. Bueno, ya ves, si la tarea es dibujar el Programador, entonces cualquiera que ya haya dominado este increíble mecanismo lo hará. Será un consultor.

Si la tarea es generalmente nueva y ni siquiera es familiar para nadie, entonces debe elegir un encendedor, el primero en comprender este tema. Hay dos tareas clave: resolver un problema y desarrollar competencia. La próxima vez para convertirse en un consultor en tareas similares. Por supuesto, todos entienden que fumar puede llevar más tiempo de lo acordado con el cliente; esto es normal, usted invierte en su equipo.

Tener un consultor es especialmente importante para los principiantes. Incluso si, de acuerdo con su estrategia de desarrollo de competencias, prohíbe que un principiante le pregunte a un curador, el solo hecho de su presencia proporcionará un enorme apoyo moral a un principiante.

Bueno, no olvides evaluar la tarea, en puntos: jugar a la planificación del póker.

Selección de un albacea por competencia de acuerdo con la estrategia.


Todo es simple aquí. Hizo una elección: ajustó el control deslizante entre el desarrollo y el aumento de competencias. Así que elige un artista de acuerdo con tu estrategia.

Por ejemplo, usted decide que los principiantes deben resolver problemas desconocidos el 30% del tiempo. En el sistema, ya tiene un informe que muestra el porcentaje: cuántos amigos, cuántos problemas desconocidos resolvió. Mire los números y decida en qué punto emitir una tarea nueva y desconocida.

Tener un consultor eliminará el potencial excesivo de importancia de la tarea y le dará los elementos del proceso del juego. Será interesante para un principiante tratar con nuevos mecanismos, porque sabrá sobre la disponibilidad de soporte y lo sentirá. Si estipula de antemano los límites de la aplicación de este soporte, generalmente será maravilloso: por ejemplo, déle al principiante que trabaje independientemente no más de un día, después de lo cual el consultor decidirá.

El grado y el formato de soporte de un consultor es su elección, no hay nada complicado. Si el recién llegado es completamente nuevo, entonces no tiene sentido darle un enlace a una conferencia de afiliados, un libro grueso sobre desarrollo y alentarlo "vamos, resuélvelo, hijo". Simplemente no puede digerir una pieza tan grande, se ahoga, y puedes perder a un empleado. No renunciará, pero recibirá un golpe significativo en su importancia, puede volverse cerrado e inerte.

No hay consejos definitivos para elegir un "tamaño de pieza", porque todo es estrictamente individual. Un principio es universal: este tamaño necesita ser monitoreado. Por supuesto, si desea aumentar la eficiencia, y no su propia importancia. Tal forma de autoexpresión como establecer tareas insolubles se usa demasiado entre los programadores de 1C para no hablar de ello.

Hay excepciones: empleados que quieren resolver todo por su cuenta. Tanto quieren que rechazan rotundamente cualquier ayuda. Esta es su forma de aumentar su importancia: "Puedo resolverlo yo mismo", y cuanto más amplio sea el contexto en el que profundiza, mayor será la recompensa de la autosatisfacción. Esta es una cualidad útil, pero a veces se convierte en una manía: es mejor seguir esto, establecer límites (en el tiempo, por ejemplo).

Si la tarea es urgente, o si el cliente es importante para usted, entonces los experimentos se desactivan y el que entiende mejor se sienta en la tarea. Bueno, todos lo saben.

Gestión de asistencia mutua y contabilidad


Si hay un consultor, sería bueno motivarlo, dar un porcentaje del pago por hora para resolver el problema. La cantidad de interés depende del grado de participación.

Por supuesto, es necesario asegurarse de que el consultor no se vuelva insolente y que no se cubra con la manta cuando se asigna la tarea al recién llegado. No olvide que nuestro objetivo no es el beneficio inmediato, sino el éxito a largo plazo.

Bueno, debes seguir al principiante. Si decide que en esta tarea él solo conoce el trabajo con el Programador, no lo deje asumir el resto del contexto de la tarea, deje que el consultor se lo diga.

En realidad, no hay nada más que agregar.

Administrar estados de tareas


Hubo un artículo separado sobre este tema, no repetiré todo. Por cierto, el artículo no estaba particularmente interesado en 1Snikov, pero a los representantes de otras razas de desarrolladores les gustó: ahora estamos trabajando activamente con ellos. Esto quiere decir que en el mundo de la programación 1C, hasta ahora, no todo es bueno con métodos para aumentar la eficiencia.

Cuando seleccione un oficial de servicio, dele un enlace al artículo anterior. Lo principal que debe comprender, aceptar y cumplir es que el estado de las tareas debe ser monitoreado.

Cada mañana debe comenzar con un ritual: gestión del estado de la tarea. Es muy simple y fácil de automatizar. En la primera ventana: nuevas tareas que aún no se han llevado a trabajar. Esta es una lista de discusión con el equipo que revisamos anteriormente. El resultado de la discusión debería ser el vaciado de esta ventana.

En la segunda ventana: tareas aceptadas en el trabajo, pero sin tener un ejecutor. Vaciado de la misma manera, después de una discusión general. Después de la discusión, ambas listas deberían quedar vacías. Tiempo permitido para que la tarea esté en el estado "No aceptado para trabajar" y "No se le ha asignado un ejecutor": no más de un día hábil.

Si la tarea no es clara y se requiere una aclaración del cliente, la tarea, junto con una lista de preguntas, se mueve a la ventana / estado "Se requiere aclaración" o "Enviado para revisión", no importa qué nombre. El determinismo es importante.

Después de la discusión (o antes), el asistente verifica la lista de los enviados para su revisión para que no haya demoras en los estados. Por ejemplo, se asignan tres días para aclarar la declaración. Han pasado tres días: debemos escribir al cliente para no disminuir la velocidad. Lo más probable es que simplemente se olvidó de responder.

Durante una discusión con los programadores, miramos la ventana "En el trabajo". Lo tenemos clasificado: todos entienden quién participa en qué tarea. En consecuencia, hay un tiempo para que la tarea esté en el estado "En el trabajo", vinculada al contratista, y este tiempo debe ser monitoreado.

Trillado: para no perder el límite del tiempo de conocimiento para un principiante. Si se le dio un día para una decisión independiente, y ese día pasó, entonces, con una alta probabilidad, no levantará la mano y no dirá que no puede hacer frente. Will estúpido hasta el final. No necesitamos esto, por lo que el control banal sobre la vida útil del estado nos salvará de pérdidas innecesarias y un novato de la culpa por nuestra estupidez.

La última ventana: tareas completadas que requieren la aceptación del cliente. Aquí el principio es el mismo que en los enviados para revisión: establecemos un plazo, por ejemplo, tres días, después del cual comenzamos a recordarnos. Tranquilo, confiado, pero persistente. Repito, el cliente simplemente podría olvidar que ya tiene suficiente de su propio negocio.

Final


Bueno, eso es, termina el caso. La figura principal que se discutió es el valor intrínseco de una unidad de trabajo, es decir, punto. Argumenté que este costo puede reducirse a la mitad, para producir la misma cantidad de trabajo en la mitad del tiempo.

Aquí está nuestro horario para uno de los clientes (el clave en este momento):



Como puede ver, antes de aplicar el caso (es decir, hasta abril), el valor del punto colgaba aproximadamente en el mismo nivel. Esto significa que, al pasar la misma cantidad de horas, produjimos la misma cantidad de resultados, un promedio de 1 punto en 0.9 horas.

En el primer mes de uso del caso, el valor del punto cayó bruscamente, a 0.22 horas, que es aproximadamente cuatro veces. El primer mes, por supuesto, debe tenerse en cuenta, pero no se puede confiar por completo, porque hubo un salto brusco en la entrega del trabajo: varias tareas "costosas" que, debido al ciclo de vida descontrolado de las tareas, se arrastraron como el caucho, se cerraron.

El segundo mes es más indicativo y correcto. En primer lugar, ya no había tareas antiguas que se cerraran: todas las tareas que se cerraron en mayo nacieron en los dos meses anteriores, es decir. durante la aplicación del caso. En segundo lugar, el uso del caso se estableció y se convirtió en un hábito. El resultado: 0,33 horas por 1 punto, que es tres veces mejor que antes del caso.

Bueno, entonces la cifra comenzó a rondar el promedio prometido: la mitad del original.

Por supuesto, se obtuvieron resultados positivos no solo para este cliente, sino también para todo el trabajo en general. Incluyendo, en lo interno, de lo que tenemos bastante, más que para los clientes externos.

Aquí, por ejemplo, hay un gráfico del número total de puntos ganados:



Como puede ver, antes del caso dimos 400-500 puntos por mes en promedio, y luego esta cifra aumentó a 1400, un aumento de 3 veces.

Ambos horarios se interrumpieron en octubre, por desgracia, solíamos realizar tareas en un github y luego nos mudamos a Flowcon. El calendario general, de dos fuentes, atrae la pereza.

Es interesante entender la dependencia de los números. Nosotros, Oknosoft, tratamos de hacer poco por los servicios al cliente, nuestra prioridad es el desarrollo. Antes del uso del caso, teníamos un problema: les tomaba demasiado tiempo a los clientes y quedaba muy poco para el desarrollo.

El uso del caso nos permitió salir de esta trampa: teníamos, aunque todavía no lo suficiente, pero mucho más tiempo para el desarrollo. El resultado no se hizo esperar: implementamos varios productos que son muy importantes para nosotros.

El primero es el sitio de nuestro proyecto de programación de negocios (no daré un enlace, de lo contrario recibiré un correo electrónico con el tema "nmivan, vamos ..."). La palabra clave es el sitio, porque antes solo creábamos aplicaciones comerciales que funcionaran a través de Internet. El sitio está construido sobre la plataforma metadata.js, pero el éxito clave no es el sitio en sí, ni el contenido, sino el refinamiento de la plataforma y sus componentes. Ahora también puede crear sitios en metadata.js. Además, el sitio contiene funcionalidad CMS y microservicios.

El segundo proyecto, que no llegó a las manos durante mucho tiempo, no tenía papel, es decir. funcionalidad de despacho de taller, trabajando a través de un navegador y con una visualización genial (esto es importante para la producción de ventanas, por ejemplo). El trabajo de la ausencia de papel a través de un navegador, por ejemplo, utilizando un escáner de código de barras conectado a un televisor, ampliará y simplificará significativamente las posibilidades de aplicar soluciones en metadata.js en producción. Especialmente teniendo en cuenta la simplicidad de trabajar con eventos externos en el código metadata.js, pueden capturarse en cualquier lugar, y no solo en la forma activa, como en 1C.

Habló sobre el tercer proyecto: Flowcon.Life . Para nosotros, es extremadamente importante, porque dio un montón de tareas útiles para el desarrollo de la plataforma. Este es el primer proyecto para personas, no para negocios.

El cuarto no es interesante para usted: se trata de Flowcon, una configuración para 1C + tarea / equipo / servicio de gestión empresarial.

Bueno, algunos más, ya sean más pequeños y más aburridos, o más grandes y más secretos. Total, digamos, seis piezas.

¿Es mucho o poco? Aclararé para dos personas. Quienes también trabajan con clientes en proyectos de implementación, escriben artículos, juran mucho entre ellos y con todo el mundo, e incluso son perezosos.

Todo es relativo Seis proyectos en 9 meses, ¿mucho o poco? , 6 ( ), – 0.15 0.66 .

, , — , . , , , . , – .

, , . , , .

, , , – . , , , – .

, . , . , , — , ? .

, , . , . , , , , . .

« »


. , , - .

, - – , , . . , – , .

, , . – , – . , – . , .

1 , , , 1 , ? , , - , – .

, , . – . 1.5 – . – . , , «, - , ».

1? Nada , – , .

. , – . . , .

?

« , »


– . «» — . , , .

– , – , . , . , . .

, . – , . , , , – «, ?».

? , .. – , , . , , , – : , . , , – .

« , »


– , . . , .

« , -, »


, . , ? ? .

, « », – , .

, . , . ?

, .

« – »
. – , .

« / ///»


– . , , .

« , »


, – . , . , – .

. , . – , .

, – 1, , , . .

« ? ?»


, . – , , . , .

, – 1: , – . – , – .

« , …»


, . , – .

« ?»


. – , – . – .

. - , , .. – , , .. , .

, , . «» — , .

« ?»


, . .

, , – . . – . , , , , – .

, . , . – .. . - , . , .

, . , , . , .

, . , . , , , , .

, , .. , – – . , , , .

«?»


– , , , . – - .

1: , , , «», - . , , . , – , .

, . – , . , , .

(, -, ), 1: , . – , – . «» .

– . – . , «» .

Source: https://habr.com/ru/post/es435576/


All Articles