SlideShare una empresa de Scribd logo
1 de 89
“Aprendiendo a Aprender”

DESARROLLO PROFESIONAL DE
SOFTWARE EN LA ERA DEL
CONOCIMIENTO
About me

@leodufer
leodufer.wordpress.com
Entendiendo software de la
     manera correcta
Advertencia
Evolución
Open Source
Micro
 Kernel

    O

 Kernel
Monolítico
No hagas cosas
desnecesarias
No intentar
adivinar el futuro
•Buscar tus propias soluciones

•No existe el big design up front

•Experimentación (Retro alimentación)

•Código abierto y licencia abierta

•Feedback rápido

•Lanzar rápido y frecuentemente.

•Peer Review (Showme Code)

•Gestión Descentralizada
Complejidad
Sistemas Complejos
Diversidad de Actores interactuando entre si.
Los agentes toman decisiones re adaptables de
acuerdo a su interacción con los demás.
Cada agente tomo sus decisiones pero esas acciones
afecta a todos los actores.
Consecuencias imprevisibles a largo plazo.
Cada agente solo tiene una visión parcial de todo lo
que ocurre.
Emergencia
La forma en sistemas complejos surgen
a partir de reglas simples formando
comportamiento complejos que son
difíciles de predecir
Tres reglas simples
Selección Natural de Código
-Se acumula
-Se crea nuevas varianzas
-Se reproduce – Distribuye


-Reproducción Animal
  - Dos progenitores solo pueden generar más uno
-Reproducción de Código
  - Múltiples progenitores que generan múltiples
    variaciones (forks)
El código es el rasgo genético
 en la evolución del software
Mecanismo de selección natural

  “Show me the code”

  “Descubra que se puede
  hacer y hazlo”

  “Just do it”
Internet, comunicación, difusión
DESCENTRALIZACIÓN
Diagrama Train Wreck
Mucho de lo que llamamos
gestión consiste en entorpecer
   el trabajo de los demás
PROBLEMAS DE COORDINACIÓN
El Mito del Hombre – Mes

Equipos Quirúrgicos

Comunicación

Tirar una parte
Procesos Interactivos
           y
Procesos Incrementales
Como el cliente explico
Como el Gerente prometió
Como el Analista especificó
Como el Líder de proyecto
entendió
Como el programador codificó
La documentación
Como se instaló
Lo que el Cliente pagó
El soporte al Usuario
Lo que el cliente necesitaba
PROCESOS Y METODOLOGÍAS
Analogía del Médico Loco

 “Si funcionó para otros puede
       funcionar me a mi”
TRATAMOS DE ENCONTRAR
PATRONES EN TODO
Superstición
Correlación no implica
causalidad
Software es
realizado por
 personas…!
Personas
El secreto para marcar el
Gol Profesionalmente
Entrenamiento,
  Entrenamiento,
  Entrenamiento,
  Entrenamiento,
Mucho Entrenamiento
Programadores que no
programan…
 Escribir un algoritmo en el lenguaje de tu preferencia que imprima los
 números de 1 al 100.
 Si es múltiplo de 3 imprimir “Múltiplo de Tres”
 Si es múltiplo de 5 imprimir “Múltiplo de Tres”
 Si es múltiplo de 3 y 5 imprimir “Múltiplo de Tres y Cinco”
Proyecto Open Source

•Código real
•Criticas reales
•Intereses reales
Manifiesto Ágil
Estamos descubriendo formas mejores de desarrollar
software tanto por nuestra propia experiencia como
ayudando a terceros. A través de este trabajo hemos
                aprendido a valorar

  A los Individuos e interacciones sobre procesos y
                    herramientas

Más contenido relacionado

Similar a Desarrollo profesional de software en la era del

El Desarrollador Total
El Desarrollador TotalEl Desarrollador Total
El Desarrollador TotalSergio Gil
 
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...Software Guru
 
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock Holmes
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock HolmesLevantamiento de Requerimientos de Software: Perspectiva de Sherlock Holmes
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock HolmesVane Amaya
 
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...Congreso Nacional de Software - IBERO 2015
 
Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998Luis Eduardo Pelaez Valencia
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Cesar Acosta
 
Ser parte de un equipo de alto desempeño
Ser parte de un equipo de alto desempeñoSer parte de un equipo de alto desempeño
Ser parte de un equipo de alto desempeñoJuan Miguel Palma Vale
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareysik granja
 
Volviendo a poner el “soft” en software
Volviendo a poner el “soft” en softwareVolviendo a poner el “soft” en software
Volviendo a poner el “soft” en softwareDanijel Arsenovski
 
Semana xiii.i
 Semana xiii.i Semana xiii.i
Semana xiii.ielssalinas
 
Estrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareEstrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareDomingo Suarez Torres
 

Similar a Desarrollo profesional de software en la era del (20)

Xp
XpXp
Xp
 
El Desarrollador Total
El Desarrollador TotalEl Desarrollador Total
El Desarrollador Total
 
Miguel achagua
Miguel achaguaMiguel achagua
Miguel achagua
 
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...
16 17 el profesionalismo en software como ejercicio crítico de la cultura de ...
 
5.principios que guían la práctica
5.principios que guían la práctica5.principios que guían la práctica
5.principios que guían la práctica
 
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock Holmes
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock HolmesLevantamiento de Requerimientos de Software: Perspectiva de Sherlock Holmes
Levantamiento de Requerimientos de Software: Perspectiva de Sherlock Holmes
 
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...
Levantamiento de requerimientos de software: Perspectiva de Sherlock Holmes -...
 
Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998Consejos y técnicas a la hora de programar - 1998
Consejos y técnicas a la hora de programar - 1998
 
Ciclo de vida SI
Ciclo de vida SICiclo de vida SI
Ciclo de vida SI
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Ser parte de un equipo de alto desempeño
Ser parte de un equipo de alto desempeñoSer parte de un equipo de alto desempeño
Ser parte de un equipo de alto desempeño
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Vicky
VickyVicky
Vicky
 
Luciano
LucianoLuciano
Luciano
 
Volviendo a poner el “soft” en software
Volviendo a poner el “soft” en softwareVolviendo a poner el “soft” en software
Volviendo a poner el “soft” en software
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
 
Semana xiii.i
 Semana xiii.i Semana xiii.i
Semana xiii.i
 
Estrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareEstrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar software
 
Mitos del software
Mitos del softwareMitos del software
Mitos del software
 
Mitos del Software
Mitos del SoftwareMitos del Software
Mitos del Software
 

Desarrollo profesional de software en la era del