project management - skunkworks - Skunk Works Projects
skunkworks definition (8)
Hmm ... Hice uno de estos hoy en realidad.
No tenemos un sistema de respaldo real en su lugar. Actualmente tengo la tarea muy agradable de hacer copias de seguridad de 100 GB de repositorios SVN usando archivos svn hotcopy y .tar.gz, mientras trato de hacer malabares con dos o tres recursos compartidos de NFS con espacio de disco limitado para acceder al servidor con el disco de respaldo. Eso es en el mejor de los casos, es decir, cuando me molestan en cuidar el proceso durante 2 horas.
Como eso va a terminar en una catástrofe, tarde o temprano hice un git svn clone
en el más grande directamente en el servidor de respaldo, luego cloné eso en mi propia máquina y eché la copia de trabajo svn que estaba usando. Gané alrededor de 1GB de espacio libre en mi máquina, dándole a las copias de seguridad más importantes alguna redundancia, y reduje un estado de 15 minutos a 30 segundos. ¿Y me voy a quejar por eso? Probablemente...
Skunk Works Project : un proyecto llevado a cabo por una parte de una compañía sin el conocimiento del resto de la compañía.
Buscando historias sobre cualquier proyecto de obras de mofeta en el que haya trabajado o iniciado:
- ¿Fue exitoso?
- ¿Te descubrieron?
- ¿Fuiste castigado o recompensado?
- ¿Cómo lo encontraste?
- ¿Cómo lo personal?
- ¿Cuánto tiempo llevó terminar, en comparación con los proyectos sobre el terreno?
- ¿Cuál fue el costo, en comparación con los proyectos sobre el terreno?
- ¿Fue adoptado formalmente?
Actualmente nos encontramos en esta situación, aunque, ciertamente, el proyecto no tendrá aspectos de alta visibilidad, aunque todos lo usarán eventualmente.
Como parte de una preparación para reconstruir la mayoría de nuestras aplicaciones empresariales, hemos comenzado a desarrollar un marco de aplicaciones que será la base de todas las aplicaciones de reemplazo. Ya tenemos un tiempo de "proyectos de banco" y "prueba de concepto" que todos conocen que utilizamos para evaluar conceptos. Sin embargo, cómo es diferente esta vez es que estamos desarrollando activamente un proyecto completo.
¿Fue exitoso? - Todavía no hemos desarrollado el marco completo, pero dado que es modular, hemos estado implementando piezas en las aplicaciones heredadas. La mayoría de estos se centran en la estabilidad y las preocupaciones de informes / registro. Hasta el momento, han superado las expectativas, lo que nos permite reaccionar a los problemas más rápidamente, así como eliminar algunos de los que antes se repetían.
¿Te descubrieron? - Bueno, este proyecto se ha convertido en uno de los secretos peor guardados que he visto en mi vida. Si bien hay bastantes personas que han escuchado el nombre del proyecto por un tiempo, no creo que nadie, aparte de algunos de mis desarrolladores y el equipo de pruebas, realmente sepan de qué se trata.
¿Fuiste castigado o recompensado? - No hemos considerado ninguno de los lados de esto, todavía. A menos que el marco cause efectos negativos, dudo que se nos castigue por ello. Sin embargo, incluso si es un éxito, la recompensa será que nadie note nada más que aplicaciones mejoradas.
¿Cómo lo encontraste? - Como se mencionó anteriormente, tiempo de trabajo entre otros proyectos e inclusión en el trabajo de "prueba de concepto". También he dedicado parte de mi tiempo personal en mi viaje diario, ya que sentará las bases para la forma en que todos mis desarrolladores interactúen con las aplicaciones en el futuro.
¿Cómo lo personal? - Empecé con una serie de pequeñas pruebas de conceptos dentro de la base de código heredada como parte de "mantener" las aplicaciones. Entrar y reparar un defecto a menudo implicaba pasos analíticos sobre lo que se podría hacer para evitar que sucedan cosas o mejorar la experiencia en el futuro. Estos fueron finalmente extraídos y refactorizados en sus propias asambleas, que se convirtieron en el comienzo del marco. Ahora estamos colocando proyectos "encubiertos" en nuestras iteraciones que ayudan a desarrollar estas ideas a través de mis desarrolladores, y ahora estamos extrayendo y refactorizando sus esfuerzos basados en el éxito de la implementación.
¿Cuánto tiempo llevó terminar, en comparación con los proyectos sobre el terreno? - Aún por determinar. Dado que este no es un proyecto oficial, hasta ahora realmente no ha costado nada. El tiempo de banco y el trabajo de "prueba de concepto" es una inclusión estándar. El hecho de que esencialmente estamos creando algo a partir de este momento en lugar de tirarlo es salsa.
¿Cuál fue el costo, en comparación con los proyectos sobre el terreno? - Una vez más, aún por determinar. Me imagino que el costo inicial será relativamente pequeño en comparación con proyectos más grandes. Teniendo en cuenta que este es un marco para contener extensiones comúnmente utilizadas y mejorar la capacidad y la calidad del desarrollador para trabajar de manera eficiente, probablemente se amortice antes de que se termine debido a las prácticas mejoradas que ahorran tiempo y a la reducción de defectos.
¿Fue adoptado formalmente? - Los desarrolladores han adoptado el concepto. Mi administración inmediata está masticando un poco. Mis compañeros de administración están entusiasmados, si no un poco confundidos sobre lo que hará. La medición será el éxito de las aplicaciones que se crean a partir del marco, que aún está lejos.
Construí una herramienta para validar los cambios de esquema al DB de destino en el trabajo. Antes de mi herramienta, lo hacíamos todo a mano con scripts falsos que los DBA en los sitios de los clientes tenían que ejecutar. Mi herramienta comenzó a rastrear la estructura de la base de datos para saber si ciertas cosas funcionarían. Me sentí frustrado al tener que verificar todo esto manualmente o sufrir los errores inevitables al hacer las cosas a mano, así que construí mi validador y aquí está su historia ...
¿Fue exitoso?
Sí
¿Te descubrieron?
sí. Parte del aspecto de un proyecto de obras de skunk es que finalmente tiene que emerger.
¿Fuiste castigado o recompensado?
Castigado inicialmente: ¿por qué no trabajar en actividades generales? Pero se recompensó una vez que el beneficio se hizo evidente y se redujeron los errores del producto. Entonces fue anunciado: todos aman a un ganador.
¿Cómo lo encontraste?
Por el amor de codificarlo y facilitar mi vida, por lo que no se necesitan fondos directos. A menos que fuera parte del plan de gestiones para tener un proyecto secreto, no veo cómo podría ser de otra manera.
¿Cómo lo personal?
Codifiqué solo como un desarrollador solitario en una loma cubierta de hierba con mi computadora portátil.
¿Cuánto tiempo llevó terminar, en comparación con los proyectos sobre el terreno?
No es comparable. mi esfuerzo de skunksworks fue tal vez un año de retoques. Si nos hubiéramos propuesto hacerlo directamente, no puedo imaginar que hubiera tomado menos de 2 meses directamente, pero no sé, ya que no es así como se transformó. El tiempo de inactividad para pensar y planificar puede haberlo hecho más rápido al final comparado con la planificación directa por adelantado.
¿Cuál fue el costo, en comparación con los proyectos sobre el terreno?
Indeterminado: como mencioné, dado que tenía un tiempo de inactividad para pensar y planificar, era capaz de evolucionar en la dirección que yo quería sin las presiones de programación / resultado. En un proyecto más corto o con más recursos involucrados, probablemente hubiéramos cometido algunos errores al acelerar para llegar a M1, M2, etc. Además, si no funcionaba, habría sido como si nunca hubiera sucedido ya que podría haber plegado el tiendas de campaña y se fue silenciosamente en la noche.
¿Fue adoptado formalmente?
Mi proyecto es una parte clave de la construcción del producto en mi trabajo, por lo que diría que está arraigado.
De hecho, he realizado varias de estas situaciones de tipo de proyecto "secreto". Si no se les brindó pleno apoyo, se los mantuvo en secreto. Discutiré sobre esto a lo largo de las líneas de sus preguntas.
¿Fue exitoso?
Sí, el sistema desarrollado se puso en marcha hace 3 años y ha estado funcionando desde entonces.
¿Te descubrieron?
Sí, fue descubierto, y fue parte del plan general.
¿Fuiste castigado o recompensado?
Con un prototipo funcional, fuimos recompensados, dados los recursos adicionales necesarios, y finalmente el sistema se puso en marcha para que la compañía completa lo utilice.
¿Cómo lo encontraste?
Fue una actividad de desarrollo que simplemente se completó en tiempo de inactividad y tiempo personal por varias personas.
¿Cómo lo personal?
Mira lo de arriba
¿Cuánto tiempo llevó terminar, en comparación con los proyectos sobre el terreno?
Hicimos todo en aproximadamente 4 meses, con recursos dedicados, una sola persona podría haberlo hecho en aproximadamente 2 meses, o un equipo en aproximadamente 3-4 semanas.
¿Cuál fue el costo en comparación con los proyectos sobre el suelo?
Sin costo alguno, utilizando el tiempo de inactividad que ya se había "desperdiciado" para ponerlo en práctica. Toda la infraestructura existente para la encarnación final ya estaba allí.
¿Fue adoptado formalmente?
Sí, ahora es una parte sólida del plan de negocios, y lo ha sido durante más de 3 años.
Excelente pregunta Pregunta muy importante
Geoffrey Moore (Inside the Tornado, Crossing the Chasm, etc.) escribió que, mientras disertaba por todo el mundo, tenía una pregunta que le haría a cada cliente (incluidos aquellos como GE, Motorola, etc.)
La pregunta fue:
"¿Puede darme siquiera un ejemplo de una innovadora innovación revolucionaria que haya surgido de la investigación o el proceso de desarrollo de productos de su empresa?"
Al menos en el momento en que leí la cita, no se identificó ningún ejemplo . Y en la mayoría de los casos, tales productos o servicios habían sido concebidos, diseñados y desarrollados en gran medida por pequeños grupos de personas que, en el mejor de los casos, fueron ignoradas , pero a menudo se oponían activamente a la investigación y el desarrollo.
Hice uno de estos. De hecho, terminé programando.
Yo era responsable de mantener un legado, er ... "base de datos". No entraré en detalles sangrientos, pero era la aplicación malvada habitual. La compañía prácticamente lo siguió, a veces se caía por días. En ese momento, el director de SI (un amigo) estaba buscando reemplazos activamente, hablando con grandes organizaciones de consultoría, etc.etc. pero la administración fue comprometida / emocionalmente invertida en el sistema existente. Me ofrecí como voluntario (para el director de SI) para intentar reescribirlo (bueno, más bien me preguntó si alguien estaba interesado en tratar de lidiar con este desastre y me ofrecí como voluntario porque estaba aburrido). No teníamos programadores reales en el personal, y solo había escrito algunas cosas pequeñas ad-hoc. No tenía idea de lo poco que sabía.
Terminó la cosa en aproximadamente 8 meses o tal vez un año (esto fue hace un tiempo, no recuerdo exactamente).
¿Fue exitoso? sí, funcionó como se anuncia.
¿Te descubrieron? Inicialmente comenzó como una especie de súper secreto, capa y daga. Un poco tonto en retrospectiva, pero lo hizo más divertido. Aproximadamente a la mitad del camino comencé a ser más obvio que eso era lo que estaba haciendo, y al final resultó que la idea era compatible. Escribir esto finalmente se convirtió en mi trabajo.
¿Fuiste castigado o recompensado? Recompensado
¿Cómo lo encontraste? / ¿Cómo lo personal? El éxito de esto se debió al apoyo de mi jefe, quien se aseguró de tener el tiempo y los recursos que necesitaba para hacerlo.
¿Fue adoptado formalmente? Sí, finalmente ejecutamos la compañía en eso.
No estoy seguro si esto califica como un proyecto de "skunk works", pero aquí hay una gran historia de This American Life . Es el segundo acto de este episodio de marzo de 2005 .
Amy O''Leary cuenta la historia de un escritor de software en Apple Computer cuyo contrato de trabajo termina, pero él se niega a irse. Sigue apareciendo en el trabajo todos los días, entrando furtivamente por la puerta de entrada, escondiéndose en oficinas vacías y dedicando largas horas a un proyecto que la compañía canceló. No hubo reuniones, ni política de la oficina, ni gerentes que interfirieran con su trabajo. Pronto, él había escrito una pieza de software perfecta. Su problema final es descubrir cómo instalarlo en secreto en las nuevas computadoras de Apple sin que nadie lo note. (12 minutos)
Gran atención para cualquiera, pero especialmente para los programadores en este caso.
En general, las respuestas aquí han sido historias de éxito, así que pensé que compartiría mi experiencia reciente sentado justo fuera de un proyecto que no fue tan bien.
¿Cómo lo encontraste? ¿Cómo lo personal?
El proyecto comenzó cuando mi gerente identificó a un empleado potencial, llamemos a Fred, quien tuvo un proyecto favorito en nuestro campo. No pagamos bien, y acordaron que Fred sería contratado y que trabajaría casi a tiempo completo en el proyecto, que eventualmente introducirían en el negocio.
Así que Fred comenzó a trabajar en el proyecto, conocido solo por el equipo de Fred pero no por la administración u otras partes del negocio. Fred es un desarrollador, y el trabajo fue más o menos puro desarrollo, además de contribuciones a un proyecto de código abierto subyacente.
¿Fue exitoso?
Realmente no. Fred estaba trabajando en eso solo, y creo que habría pasado de 12 a 18 meses en él. Los informes de progreso para el equipo consistieron en describir cualquier error que estuviera solucionando esa semana. Se hicieron intentos ocasionales para interesar a uno o dos superiores de la organización, pero nunca llegaron a ninguna parte. Se suponía que Fred debía armar un plan para terminar y poner en marcha el proyecto para que pudiera ser presentado a la organización, pero siempre parecía haber alguna razón por la que nunca se hizo.
¿Te descubrieron?
La palabra se filtró lentamente mientras Fred y el gerente intentaban interesar a más personas en lo que estaban haciendo.
Eventualmente nos reestructuramos, y nuestro nuevo director quería saber en qué trabajaban todos, y el proyecto se le reveló. Sin embargo, al parecer no se explicó muy bien, ya que el nuevo director terminó preguntándome (y otros de nuestro equipo estoy seguro) cuál era exactamente el proyecto de Fred.
¿Fuiste castigado o recompensado?
Eventualmente, el nuevo director congeló todos los fondos para el proyecto y Fred fue reasignado para trabajar en otros proyectos. Ese es el estado actual hasta donde yo sé.
¿Cuánto tiempo llevó terminar, en comparación con los proyectos sobre el terreno? ¿Fue adoptado formalmente?
No fue terminado y no fue adoptado.
¿Cuál fue el costo, en comparación con los proyectos sobre el terreno?
El costo ostensible era el tiempo de Fred.
Sin embargo, hubo otros costos.
Primero, Fred y su proyecto se convirtieron en una broma en nuestro equipo, y luego en los equipos con los que trabajamos. ¿Que estaba haciendo? ¿Por qué lo estaba haciendo? ¿Por qué no hubo progreso? La reputación de Fred sufrió. "El proyecto de Fred" se convirtió en una broma para un proyecto que no iba a ninguna parte.
Segundo, la revelación eventual de un proyecto tan largo pero oculto se reflejó pobremente en nuestro gerente y, por extensión, en todo nuestro equipo.
Tercero, el resentimiento creció. ¿Por qué este tipo estaba trabajando en su proyecto favorito cuando había tanto trabajo por hacer? Somos un equipo pequeño pero ocupado y podríamos haber usado un desarrollador en cualquier cantidad de otros proyectos.
Al final, creo que este proyecto ha tenido consecuencias para la dinámica y la posición de nuestro equipo. Ocasionalmente hablo con los miembros del equipo cuando no estamos en la oficina. Inicialmente (y en ese momento) fuimos muy críticos con Fred, que puede ser un tipo irritante, y que no acepta las críticas, y que prometió algo que no pudo cumplir. Más recientemente, hemos sido críticos con nuestro jefe. Esta no era una buena manera de ejecutar un proyecto, y era obvio desde el principio que Fred no tenía las habilidades para hacer este trabajo por sí mismo y no buscaría ni pediría consejo. Fue injusto para Fred que lo pusieran en esa posición y lo dejara por tanto tiempo. Últimamente me he preguntado si debería haber planteado mis preocupaciones con más fuerza. Aunque presionamos a Fred y a nuestro gerente sobre el proyecto y hacia dónde iba, no lo llevamos más allá de nuestro equipo. Habiendo dicho eso, no puedo imaginar un buen resultado, incluso si lo hubiéramos tenido.
Finalmente, me gustaría decir que Fred es un tipo inteligente y que el proyecto no fue malo. Pudo haber sido exitoso (algunas partes ya han salido en proyectos competitivos, competidores inferiores que realmente entregaron).
Si este proyecto se hubiera realizado por encima del tablero, y Fred hubiera estado trabajando con un gerente de proyectos decente y tuviera un buen comunicador en el equipo, bien podría haber encontrado un campeón y haber entregado algo excelente. O eso o podría haber sido asesinado mucho antes.