|
Transcripción
|
| Hola, soy Aurora Tiffany-Davis, una desarrolladora de software en |
| El equipo de JMP Live y yo nos gustaría hablar contigo hoy sobre |
| Cómo desarrollamos software en el equipo JMP Live. |
| Primero, me gustaría que imaginaras cómo se ve el desarrollo de software. |
| Me gustas. Si no eres desarrollador y el |
| La imagen que tienes en tu mente probablemente esté coloreada por la televisión y |
| Películas que has visto. |
| Quizás te estés imaginando a un genio excéntrico que trabaja solo, |
| Y el proceso de desarrollo de software es muy simple. |
| Piensan muy intensamente sobre un problema. Escriben un código. |
| Y luego se aseguran de que funcione. Y probablemente lo haga. |
| Porque, después de todo, son una |
| genio. Si todos fuéramos genios como dice Hollywood que somos, |
| Este proceso podría funcionar para nosotros, pero en realidad somos sólo humanos. |
| y entonces necesitamos un poco más que |
| Eso. En primer lugar, no trabajamos solos. Trabajamos muy |
| de manera colaborativa y tenemos un proceso que nos ayuda a |
| Producir software de calidad. Quiero señalar aquí que no hay |
| Un proceso correcto para desarrollar software. |
| El proceso va a diferir entre empresas y, a menudo, incluso |
| dentro de las empresas. Pero lo que haré hoy es guiarte a través de |
| Lo que haría si estuviera desarrollando una nueva función en |
| JMP en vivo. |
| En primer lugar, antes de sentarme a escribir código, tengo que... |
| tener alguna necesidad real de hacerlo. Tiene que haber alguna persona real |
| ¿Quién ha encontrado algo en JMP Live que... |
| no funciona como ellos creen que debería, lo cual es |
| Una forma agradable de decir que encontraron un error o que tienen un |
| Solicitud de una nueva función. Hacemos un seguimiento de estos problemas en un |
| sistema interno, y entonces lo primero que haría sería ir a |
| ese sistema y encontrar un problema de alta prioridad que sea bueno |
| que coincida con mis habilidades, y empezar a pensar en ello, y empezar |
| Hablando de ello. Lo siguiente que haría sería intentar comprender |
| la necesidad de hablar con la gente. ¿Qué tipos de usuarios van a |
| ¿Necesitas esta función? ¿Cómo se hace? |
| ¿Lo voy a usar? Entonces ejecutaría JMP Live en mi propia máquina, |
| y empezar a analizar dónde podría encajar la nueva función. |
| en JMP Live como ya lo es |
| existe hoy. Entonces abriría el código y comenzaría a pensar. |
| a través de cómo el nuevo código encajará en nuestra base de código. |
| Una vez que creo que tengo una buena comprensión de la necesidad, |
| Pasaría a la etapa de diseño. Y aquí, nuevamente, mi primer |
| El siguiente paso será hablar con la gente. Hablaré con el usuario. |
| expertos con experiencia que tenemos dentro de JMP y hablaré con mi |
| compañeros de trabajo y preguntarles: "¿Has trabajado en una función similar a |
| ¿Has trabajado en esta parte del código antes? |
| Luego empezaré a darle forma al diseño. Quizás escriba artículos. |
| y dibujar diagramas y compartirlos para que pueda hacerlo. |
| Asegúrese de que los demás miembros del equipo estén en general |
| cómodo con la dirección |
| Me voy a mudar. Ahora me sentaré y comenzaré a escribir algo. |
| código. Y para ello utilizaré el desarrollo integrado. |
| medio ambiente, que es un programa que tiene mucho |
| Características diseñadas para ayudarnos a hacer mejor nuestro trabajo. |
| Ahora que he escrito algo de código, mi primer paso es encontrar el |
| problemas que acabo de crear. Soy solo un ser humano, así que las posibilidades |
| Las probabilidades de que haya escrito un código 100% perfecto en mi primer intento son bastante escasas. |
| Mi primer paso va a ser |
| Utilice el análisis estático. El análisis estático no ejecuta el código, |
| Lo parece como si estuviera escrito en un trozo de papel. |
| Una analogía podría ser el corrector ortográfico de Microsoft Word. |
| No puedo decirme si he escrito algo convincente o no. |
| novela, pero me puede decir si me olvidé de una coma en alguna parte. |
| El análisis estático hace eso para el código. |
| Ahora que he encontrado y solucionado esos problemas tan obvios, mi |
| El siguiente paso será buscar problemas menos obvios, |
| y para eso utilizaré un conjunto de pruebas automatizadas. Tenemos |
| Escribió una amplia gama de pruebas contra nuestro código. Automatizado |
| Las pruebas ejecutan el código, o más bien, ejecutan un subconjunto del mismo. |
| código, proporcionó una determinada entrada y esperaba una determinada salida. |
| Es un ejercicio realmente valioso sentarse y escribir estas |
| pruebas, porque a veces cuando me siento a escribir una nueva prueba para |
| Cualquier característica me obliga a aclarar realmente mi pensamiento sobre |
| cómo se supone que debe funcionar el software en primer lugar. |
| También proporciona una protección realmente crucial contra |
| colegas que accidentalmente rompieron esta función en el futuro. Así que |
| Es una excelente manera de encontrar |
| Problemas tempranos. Una vez que he escrito y ejecutado estos procesos automatizados |
| pruebas, pasaré a algunas pruebas manuales. Podría ejecutar JMP |
| Viva en mi máquina local o en uno de los varios servidores que tenemos |
| en la oficina y curiosear y probar cosas y simplemente asegurarse |
| que funciona de la manera que yo |
| Creo que debería hacerlo. Incluso podría consultar la base de datos que... |
| se sienta detrás de JMP Live y realiza un seguimiento de los registros en |
| usuarios, publicaciones, grupos, comentarios y asegurarse de que los registros estén |
| escritos de la manera que espero que estén. |
| Ahora soy cautelosamente optimista de que he escrito algunas cosas buenas. |
| código y he creado uno útil |
| característica. El siguiente paso es pedirles a mis compañeros su opinión. |
| someter esto a una revisión por pares. Ahora, en JMP Live, sometemos el 100 % de |
| El código que escribimos a través de revisión por pares y la razón es |
| que lo encontramos tan valioso. |
| Puede que haya algo que me haya perdido porque simplemente... |
| tener anteojeras ante algo. O podría ser el |
| caso de que alguien más en mi equipo simplemente tenga conocimiento de que yo |
| Falta. A menudo sucede que en una reseña el revisor también |
| obtiene mucho valor del ejercicio porque pueden |
| Conozca algunas técnicas nuevas. |
| Ahora que el equipo está bastante optimista de que hemos creado |
| algún buen código, finalmente confirmaré mi código o lo revisaré |
| un repositorio de código fuente. |
| Contamos con un sistema de construcción continua que vela por nosotros. |
| confirmamos el código y cuando lo hacemos, |
| lo analiza. Busca cosas muy básicas como, ¿son los archivos? |
| ¿Se nombró de la manera correcta y en el lugar correcto? También se repetirá |
| Análisis estático y volverá a ejecutar toda nuestra prueba automatizada. |
| Suite. Lo hace en caso de que alguien haya olvidado hacerlo. |
| antes en el proceso. O más a menudo, podría darse el caso de que |
| Algo pequeño y sutil ha cambiado desde la última vez que |
| Se ejecutó un conjunto de pruebas automatizadas. |
| Entonces hace todos estos análisis y cuando los logra, |
| En este paso, el código ya está disponible para personas fuera de |
| El equipo de desarrollo tomará una |
| Míralo. Las primeras personas que se dan cuenta de esto son las que hacen pruebas. |
| expertos que tenemos dentro de JMP Live y dentro del equipo JMP |
| En términos más generales, son profesionales de las pruebas. Es lo que hacen. |
| durante toda su carrera y son realmente buenos en eso. |
| Es posible que vuelvan a ejecutar el conjunto de pruebas automatizadas. Es posible que agreguen más pruebas. |
| a nuestras suites. Podrían ejecutar JMP Live manualmente y buscar por ahí. |
| En general, pueden ejecutar JMP Live localmente y pretender que lo hacen. |
| cosas como usuarios que serían absolutamente una locura. ¿Cuál es la |
| ¿Qué es lo más loco que puede hacer un usuario? Y veamos cómo funciona el software. |
| Responde a ello. Son realmente creativos con estas pruebas. |
| escenarios. También podrían ejecutar el software en varios |
| diferentes navegadores y sistemas operativos para asegurarnos de que nuestro |
| El software es flexible y robusto. |
| Una vez que hayan aprobado esta nueva función, ahora es |
| Disponible para ser recogido en nuestra próxima versión de software. |
| Ahora permítanme alejarme y mostrarles el proceso como un todo. |
| Son muchos pasos. ¿Realmente hacemos todo esto para todos? |
| ¿De nuestros cambios de software? Lo creas o no, lo hacemos. Sin embargo, esto |
| El proceso se escala en gran medida, dependiendo de la complejidad de |
| El trabajo. Si tenemos un error muy simple y obvio, lo solucionaremos. |
| a través de este proceso, pero lo haremos bastante rápido. |
| Por otro lado, si tenemos una nueva característica muy compleja, en |
| En cada paso del proceso, vamos a ir más lento. |
| Nos tomaremos nuestro tiempo y tendremos mucho cuidado para asegurarnos de que |
| Lo hacemos bien. |
| Ahora bien, todo lo que lleva tiempo cuesta dinero, entonces ¿por qué? |
| ¿Está dispuesto JMP a invertir este dinero en calidad de software? |
| Una razón es muy sencilla: estamos orgullosos de nuestro trabajo y |
| Quiero producir un buen producto. |
| La siguiente razón es menos idealista. Sabemos que |
| Cualquier problema que exista en nuestro |
| proceso, y en nuestro producto, si no los encontramos, nuestro |
| Los clientes lo harán y eso no es bueno para el negocio. Así que... |
| Me gustaría minimizar eso. |
| Ahora ningún proceso puede entregar |
| Perfección absoluta. Por eso, te invitamos a que seas parte de nosotros. |
| de la comunidad JMP. Vaya a community.jump.com y déjenos saber |
| saber si hay algo sobre JMP Live si no funciona el |
| como crees que debería ser, o cualquier cosa nueva que te gustaría |
| Para ver en el futuro. |
| Ese tipo de retroalimentación del mundo real es inmensamente valiosa para nosotros y |
| Realmente lo acogemos con agrado. |
| Eso es todo lo que tengo para ti hoy, pero realmente espero que... |
| Que disfrutes del resto de tu experiencia Discovery. Gracias. |
| tú. |