Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hábitos y principios para el desarrollo de proyectos open-source - Ágiles 2021

Hábitos y principios para el desarrollo de proyectos open-source - Ágiles 2021

En esta charla veremos qué es lo que hace saludable a un proyecto *open source*. Qué tener en mente en materia de código y de documentación. Cómo la idea de tener un propósito nos puede ayudar a mantener un proyecto y que atraiga contribuyentes.

Se mostrará la experiencia de Testy, una simple herramienta de testing para Javascript con fines educativos: https://github.com/ngarbezza/testy

Nahuel Garbezza

October 28, 2021
Tweet

More Decks by Nahuel Garbezza

Other Decks in Programming

Transcript

  1. Un poco sobre mí Desarrollador de software saludable y líder

    de equipo en 10Pines 󰎆 Licenciado en Informática (UNQ 󰎆) Docente de programación orientada a objetos Me gustan los lenguajes dinámicos, desarrollar con TDD, escribir y dar charlas
  2. Caso de estudio Testy: https://github.com/ngarbezza/testy Herramienta de testing minimalista en

    Javascript, diseñada para aprender a testear y a hacer TDD. Diseñada durante la cursada 2018 de Programación Orientada a Objetos 2 (UCA 󰎆)
  3. 4 principios para proyectos saludables 1⃣ software abierto 2⃣ construcción

    de comunidad 3⃣ software simple 4⃣ feedback siempre presente
  4. Pero antes de empezar recordemos... … lo que nos invita

    la agilidad: 󰗓 adaptarnos a los cambios, que implica… 󰗓 definir nuevos principios / redefinir existentes, que implica… 󰗓 aprender más y mejor
  5. Software abierto código disponible + información para comprender el proyecto

    y su visión + guías de instalación, uso y contribución
  6. Hábitos para tener un software más abierto 󰙤 Mantener un

    README como lugar centralizado de información 👀 Curso Tech Writing https://developers.google.com/tech-writing 👀 Readme-Driven Development https://tom.preston-werner.com/2010/08/23/rea dme-driven-development.html
  7. Hábitos para tener un software más abierto 󰙤 Escribir guías

    de contribución y registro de cambios (changelog) 👀 Versionado semántico https://semver.org/lang/es/ 👀 Keep a changelog https://keepachangelog.com/es-ES/1.0.0/
  8. Hábitos para tener un software más abierto 󰙤 Documentar decisiones

    importantes 👀 Architectural Decision Records (ADR) - https://adr.github.io/
  9. Hábitos para construir una comunidad 󰙤 Involucrarse en eventos y

    comunidades de tecnología 👀 Hacktoberfest https://hacktoberfest.digitalocean.com/
  10. Hábitos para construir una comunidad 󰙤 Reconocer y agradecer a

    contribuyentes 👀 All Contributors https://allcontributors.org/
  11. Hábitos para escribir software más simple 󰙤 Evitar abstracciones innecesarias,

    no anticiparnos a la evolución del diseño 👀 KISS, YAGNI
  12. Hábitos para escribir software más simple 󰙤 pagar deuda técnica

    lo más pronto posible, de a poco y seguido
  13. Hábitos para escribir software más simple 󰙤 Analizar la complejidad

    constantemente 👀 CodeClimate (gratuito para proyectos públicos) 👀 Madge https://github.com/pahen/madge
  14. Hábitos para lograr feedback más rápido 󰙤 Lanzar mensajes de

    error completos 👀 Responder a las preguntas: ¿Cuál es el problema? ¿Dónde ocurrió? ¿Fue un error interno o un problema con algo que hice como usuari@? ¿Cómo podría solucionarlo?
  15. Conclusiones • Desarrollar open source es más que poner código

    públicamente • Desarrollamos siempre en comunidad • Identificar hábitos saludables y practicarlos • Muchos de los hábitos los reforzamos realizando TDD • Nunca perder de vista tus principios ◦ Ante un cambio, pensar: que nos acerca y que nos aleja de cumplir con los principios?