Sunday, June 12, 2016

Professionalism or Class Suicide?

At SoftTopia each software product, from the smallest utility to the large enterprise application, has a Quality Label. That label indicates the product’s quality for the given release, both internally and externally. The external measure indicates how close to the original functional requirements is the final product. The internal measure indicates how easy is to keep the product alive over time, keeping it within the time and cost boundaries set by all stakeholders (maintainers, customers, owners, etc.).
Grade A Software Package

Let’s suppose that this “label” is an obligation at SoftTopia, so, no software product can be released without that information.

Case A

SoftTopia had implemented that norm since the creation of the first software package, as they already had a quality oriented culture when they were hit by the technological revolution.

Case B (ours)

The computer program was created in the 1840s, at SoftTopia. 175 years later, and with millions of software products in use, the SoftTopia leaders released the new quality norm. This is a free commerce society so they only demand the quality label to be placed on each product, but the customer is the one that decides which product to buy. Even though, some industries are regulated because of their impact on the society, like the health sector, hydrocarbons, government, foods, public transportation, civil aviation and defense.

What happens next?

What will the software professionals and businesses not able to create products according to the new norm do?
How will a government institution handle the fact of finding out that almost all of its suppliers deliver software with a quality level below the norm?
What will do the private sector when their customers realize that a good share of the operational costs is due to poor quality?
How will the universities and education institutions sell their software engineering syllabus after realizing that their graduates are not able to build software according to the new norm? 

Let’s now break the SoftTopia tale 

If, little by little, the software professionals and companies from the industry start to publish, voluntarily, the quality level of their products: Will that be Professionalism or Suicide?

What do you think? …

Profesionalismo o Suicido de Clases

En SoftTopia cada producto de software, desde la más pequeña utilería hasta la aplicación empresarial más grande, cuentan con un Sello de Calidad. Ese sello mide la calidad del release del producto tanto interna como externa. La externa indica el grado de cumplimiento de las funcionalidades del paquete comparado con los requisitos de los clientes. La interna indica que tan fácil es de mantener vivo el proyecto respetando los parámetros de tiempo y costo esperados por los involucrados (mantenedores, clientes, propietarios, etc.).
Software Package Grade A


Supongamos que ese “sello” es una normativa obligada en SoftTopia, por tanto, ningún software puede ser liberado sin esta información.

Caso A

SoftTopia implemento esa normativa desde la creación del primer paquete de software pues ellos ya tenían una cultura orientada a la calidad cuando los alcanzo la revolución tecnológica.

Caso B (nuestro)

El primer programa de computadoras en SoftTopia fue creado en los 1840s. 175 años después, y con millones de productos de software en uso, los líderes de SoftTopia lanzan la normativa de calidad. SoftTopia es una sociedad de libre comercio, así que solo exigen que la etiqueta de calidad este presente, pero son los clientes quienes deciden cual software comprar y utilizar. Sin embargo, algunas industrias son reguladas por su impacto en los procesos sociales, algunas de esas son: el sector salud, hidrocarburos, gobierno, producción de alimentos, transporte público, aviación civil e instituciones de defensa.

¿Que pasara luego?

  • ¿Qué harán los profesionales y empresas de desarrollo de software que no puedan crear productos con un nivel de calidad aceptable para el cliente regular?
  • ¿Cómo manejara una empresa del estado al darse cuenta que casi todos sus suplidores entregan paquetes de software con una calidad por debajo de la exigida por la nueva regulación? 
  • ¿Qué harán las empresas privadas cuando sus clientes se den cuenta que un gran porcentaje de sus costos operativos son causados por los costos de mantenimiento de software sin calidad?
  • ¿Cómo venderán sus programas de clases las universidades e instituciones de formación para ingenieros de software al darse cuenta de que sus egresados no están capacitados para cumplir la nueva normativa?


Rompamos ahora el cuento de SoftTopia

Si poco a poco, los propios profesionales del software y las empresas del sector empezaran a publicar, voluntariamente, el nivel de calidad interno de sus productos: ¿Seria esto profesionalismo o suicidio? 

¿Qué piensas? …

Sunday, June 5, 2016

Top Secret: Source Code or Underwear

Questions

Why after going to a coding dojo developers are reluctant to share their code in public (GitHub or similar)?

Is our coding style so secret that we can not share it?


It will be embarrassing if someone look at your unfinished and full of mistakes practice material?


Are we only allowed to produce "perfect" code?


Is your code as your underwear? 





I don't know the answers to any of these questions, but if you do please comment about: What blocks you from showing your, practice, code in a public repository?

Ultra secreto: Código Fuente o Ropa interior

Preguntas

¿Por qué luego de asistir a un coding dojo, los desarrolladores se reúsan a compartir su código en público (GitHub o similar)?

¿Es nuestro estilo de codificación tan secreto que no lo podemos compartir?

¿Sería vergonzoso si alguien mirara nuestro material de practica sin terminar y lleno de errores?

¿Solo se nos permite producir código “perfecto”?

¿Es tu código como tu ropa interior?



No conozco las respuestas a esas preguntas, pero si usted por favor comente al respecto: ¿Qué te impide mostrar tu código de practica en un repositorio público?

Saturday, June 4, 2016

Ideas Locas

Imagina que los Dioses del Código te dieron una varita
Varita mágica
mágica*. Esta impresionante herramienta te permite analizar, instantáneamente, una base de código y darle una puntación de 0 a 10 acerca de su mantenibilidad; donde cero (0) significa imposible de cambiar y diez (10) realmente fácil de cambiar.

De repente, recibes tres propuestas de consultorías de clientes distintos (A, B y C). Ellos te están requiriendo la implementación de nuevas funcionalidades en su producto principal. Utilizando tu varita mágica determinas que:

  • El Producto A tiene un índice de mantenibilidad de 6,
  • El Producto B tiene uno de 1.5, y
  • El Producto C tiene un índice de mantenibilidad de 9

Tus clientes potenciales te aclaran que sus respectivos productos son de misión critica y que el impacto de introducir nuevos defectos podría ser catastrófico. Por tanto, ellos van a transferir ese riesgo a ti: cualquier defecto encontrado durante un periodo de validación de dos meses deberá ser resuelto lo antes posible y sin costo alguno.

Asumiendo una estrategia de precios X (basada en tiempo, basada en esfuerzo, etc.), ¿podríamos
  • Cobrarle al Cliente C la tarifa regular?
  • Cobrarle al Cliente A la tarifa regular ajustada (multiplicada) por algún factor basado en el riesgo (inversamente proporcional al índice de mantenibilidad)?
  • Simplemente descartar el Cliente B y evitar el riesgo?

¿Me sigues?

  • ¿Podríamos educar a nuestros clientes utilizando una estrategia de precios la cual refleje directamente el nivel de riesgo y esfuerzo que debamos asumir al trabajar con productos de software desordenados (baja mantenibilidad)?
  • Con el tiempo, y algunas experiencias duras, ¿Estarán nuestros clientes más vigilantes acerca de la calidad de su base de código, y tal vez comiencen a requerir mayor calidad a todos los desarrolladores, tanto a lo interno como fuera de su organización?

* No esperes a los Dioses, puedes utilizar SonarQube, PMD, ReSharper, Checkstyle, y muchas otras.

Subscribe to our mailing list

* indicates required
Email Format