Diversity in Software Development

Solve your problems or get new ideas with basic brainstorming

Get Started. It's Free
or sign up with your email address
Diversity in Software Development by Mind Map: Diversity in Software Development

1. Introduccion

1.1. Se nos dice que la diversidad es Buena para la sociedad, pero, ¿sabemos realmente para qué? La diversidad es Buena más allá de razones morales o altruistas.

1.2. Muchos de sus pensamientos aplican a la práctica del desarrollo de software, investigación y educación. Se sugiere que la diversidad enaltece nuestra habilidad para atacar problemas difíciles y hacer predicciones precisas.

1.3. Nuestra capacidad de atacar problemas difíciles afecta a nuestra productividad y nuestra habilidad de hacer buenas predicciones impacta como hacemos decisiones y lidiamos con el riesgo y la incertidumbre.

2. ¿Qué significa la diversidad?

2.1. La diversidad se reduce a diferencias en el set de herramientas intelectuales que las personas usan al momento de resolver problemas o tomar decisiones

2.2. El clasifica estas herramientas en:

2.2.1. Perspectivas: Formas de representar el mundo

2.2.2. Interpretaciones: Formas de abstraer el mundo, que nos permiten particulares maneras de pensar

2.2.3. Heurísticas: Formas de explorar el espacio de la solución

2.2.4. Modelos predictivos: formas de inferir causalidad y usar causalidad para predecir resultados.

2.3. El número y combinación de estas herramientas intelectuales determinan que tan bien personas y grupos son en encontrar soluciones y hacer predicciones, dependiendo de la tarea.

2.4. Mientras más grande el grupo colectivo de herramientas y mayor su variedad, mejores serán los resultados. Dicho de otra manera, los resultados mejoran si un grupo es más diverso. Por ende, la diversidad implica tanto cantidad como variedad de las herramientas disponibles.

3. Diversidad en la resolución de problemas

3.1. La diversidad también puede ser contraproducente en labores mecánicas o triviales. Pero si es importante para problemas difíciles. Perspectivas diversas incrementan el número de soluciones que se pueden generar colectivamente

3.2. Diversas heurísticas permiten que los solucionadores de problemas exploren una porción más larga del espacio de la solución sin quedarse atrapados.

3.3. Estos resultados son notables y tienen inmediatas implicaciones en las organizaciones y equipos del software. Podemos asumir que desarrollar un software tiene funcionalidades no triviales calificadas como problemas difíciles, en la mayoría de los casos.

3.4. Existe el principio de que la diversidad vence a la habilidad. La segunda implicación es como mezclar y encajar esas diferentes habilidades, experiencias y ámbitos.

3.5. Un grupo diverso promedio pero competente que colectivamente posee numerosas perspectivas y heurísticas puede ser igual o mejor que un grupo homogéneo de “Rockstars” con las mismas perspectivas y heurísticas entre sí.

4. Diversidad en la predicción

4.1. En la literatura se ha descrito como los expertos aprenden a mirar solo un par de cualidades de un problema y ser capaces de hacer asombrosas predicciones.

4.2. Sobre todo en el mundo altamente multi-factorial e incierto del software esta premisa no se puede aplicar.

4.3. De hecho, muchas de las decisiones que se toman están lejos de ser asumidas por “un par de cualidades”

5. ¿Expertos o Masas?

5.1. ¿Deberíamos ir con los expertos o con predicciones en masa para tareas de desarrollo de software? La respuesta es más complicada de lo que nos gustaría.

5.2. Un muy buen experto en promedio hará mejor la tarea que un grupo no tan sabio, pero no necesariamente en todos los casos.

5.3. Para una tarea de predicción común, hay una pequeña chance de que un grupo ordinario supere a un experto que es mucho más individualmente que los integrantes del grupo.

6. El rol de identificar la diversidad

6.1. Un aspecto muy importante de la diversidad es saber cómo identificarla. Esta está determinada por afiliación con grupos sociales identificables como género, cultura, raza, etnicidad, religión u orientación sexual

6.2. La diversidad de identidad es relevante para la solución de problemas y predicción, tanto así como la diversidad cognitiva, la que diferencia entre individuos basados en las herramientas intelectuales que ellos poseen.

6.3. Si identificar diversidad de hecho lleva a identificar diversidad cognitiva para el desarrollo de software, los esfuerzos por hacer atractivos los programas de educación de tecnologías de la información, ciencia de la computación y desarrollo de software apuntando a grupos poco representados, minorías y mujeres en particular, estaría bien justificado.

6.4. Aún no sabemos cómo medir el costo/eficacia de la diversidad en situaciones específicas más allá de principios generalizados. Incluso si en ciertos contextos encontramos formas de medir la habilidad individual y la bondad de los resultados, aun así no sería claro cómo afectaría esto a nuestra economía, digamos, cuando elegimos entre un grupo largo y diverso de gente capaz y un grupo menor pero menos diversos de gurús. Eso suena como un problema difícil, uno para que ataque un grupo diverso de expertos.