Voy a detallar cuáles elegiría yo, e incluyo una encuesta para hacerlo todavía más difícil y quedarse con los 3 más importantes.
Generales
Cubren todo sobre planificación y gestión, no sólo un área en particular.
Rapid application development - 1996
Steve McConnell es uno de mis autores favoritos, pero tengo que elegir así que me quedo con Rapid Application DevelopmentSe lanzó en 1996 así que puede sonar un poco desfasado para quienes les gusta seguir las últimas tendencias, pero realmente en "rapid" están todos los principios "agile".
Cubre todo, y además con casos de estudio en forma de historias reales, que lo convierten en un texto muy fácil de leer. Si tuviera que quedarme con un único libro... sería "rapid"! Destacaría el capítulo sobre "classic mistakes" en el que se hace un estudio exhaustivo de los errores clásicos de gestión de proyectos, incluyendo un "check list" para que nadie los vuelva a cometer ;)
Code Complete 2 - 2004
Code Complete trata sobre código... ¡¡un libro sobre código en una lista sobre gestión de proyectos??En mi opinión Code Complete, también de Steve McConnell, es IMPRESCINDIBLE. Es cierto que esta lista está orientada a gestión de proyectos software y... ¿se puede gestionar un proyecto sin conocer a fondo cómo escribir código? Creo que no. Discutible, seguro.
Incluye secciones sobre "code reviews", "walkthrough", herramientas, etc.
Estimación
No es lo mismo estimar que planificar, pero se necesita una buena estimación para poder colocarla sobre un calendario, dividir en tareas y convertirla en una planificación.
Software Estimation Black Art - 2006
Y otro de McConnell... El título es más largo, podéis encontrar el link a Amazon aquí.Sencillo de leer y muy completo.
Hace una diferenciación entre la ciencia de estimar (COCOMO, puntos función...) y el "arte" de estimar y se centra en éste último, introduciendo una serie de técnicas sencillas que logran resultados muy buenos a muy bajo coste.
Mi parte favorita: la técnica PERT y T-SHIRT Sizing... (será por eso que es lo que usamos en Códice :P)
Agile Estimating and Planning - 2005
Cambio de autor y comienzo con Mike Cohn. Se centra en técnicas ágiles de estimación, habla del "cono de incertidumbre" igual que lo hace McConnell, explica el "planning poker", las diferencias entre "ideal hours" y "story points" y cuándo aplicar cada tipo. Después pasa a cómo gestionar iteraciones, releases, etc.Se solapa un poco (en resultado y no tanto en técnicas) con "Black Art" pero leer ambos da una visión más completa.
Recursos humanos
Sólo he elegido un libro para esta parte, Peopleware, todo un clásico (1987) que en su día fue el único texto sobre la gestión de personal en desarrollos de software y estudia lo que nos motiva y desmotiva, siempre desde la visión de un programador.Me impactó cuando lo leí por primera vez y por eso creo que sigue siendo interesante. Cubre temas tan importantes como las distracciones causadas por el teléfono (hoy en día hay que añadir el email), la distribución ideal de la oficina, el dilema de sobrestimar o subestimar (esto también lo cubre McConell en "Black Art") y muchos otros puntos.
Métodos ágiles
Hoy en día es importante aprender métodos ágiles. Hace 10 años eran "lo próximo", hace 5 eran "lo nuevo" y hoy en día son "la tendencia".No quiere decir que no haya otras formas de gestionar proyectos, pero todo lo "agile" merece la pena para completar conocimientos y aprender técnicas que especialmente en equipos pequeños y áltamente motivados son muy útiles.
Agile project management with Scrum - 2004
El libro de SCRUM por Schwaber. Los dos primeros capítulos te dan una idea muy clara de lo que es scrum, por qué es importante y en qué consiste. El resto del libro profundiza en detalle en cada concepto. Empieza con la idea del "control descentralizado" (navegación aérea frente a tráfico de automóviles) y cómo sacar provecho de que cada uno "sepa lo que tiene que hacer" en base a unas reglas determinadas.Es un libro interesante, clave para aprender SCRUM.
Hay muchos links, webs, posts (de todo) hoy en día que explican de qué va SCRUM y seguro que muchos se entienden mejor que este texto, pero volver a "la fuente" es siempre una buena idea ;)
Manage it - 2007
Manage it! es un manual, con problemas concretos y respuestas concretas, de cómo gestionar proyectos mediante métodos ágiles.El capítulo "schedule games" es una joya. Te dice cosas tan útiles como por ejemplo cómo gestionar a un jefe que siempre te dice que todo es urgente ("pants on fire", o "el culo en llamas" como lo tradujo un alumno mío hace un par de años :P), "la esperanza es la única estrategia" y otros muchos.
Leí aquí por primera vez lo que era un "Hudson bay start", una técnica muy interesante para probar si tu proceso funciona o no, inspirado en lo que hacían los antiguos exploradores que se iban al norte de los grandes lagos.
Agile Software Development - 2002
El primer libro que incluyo de Robert C. Martin. Es un autor que me gusta, aunque sus detractores dicen que "Uncle Bob" lo mejor que hace es autopromocionarse.Agile software development habla de muchos aspectos ágiles, desde pair programming, test driven development (TDD), patrones, el agile manifesto, dependency inversion principle y muchos otros puntos.
Todos los ejemplos van sobre Java pero hay otra versión para C# también interesante.
Implementing Lean Software Development - 2006
He escogido uno de los libros de Poppendieck sobre "lean" porque los considero todos muy interesantes y muy instructivos.Desde el concepto de "eliminate waste" que asocia en software a no tener tareas sin terminar (toda una cruzada), hasta "develop the two alternatives", todo interesante y con aplicación práctica. Implementing lean software development
Una historia para encontrar errores clásicos - ShowStopper! - 1994
Show Stopper habla de la historia del desarollo de Windows NT. Me resulta muy curioso que, en clase, tengo que contar que NT es la base de Windows XP, Vista, etc... (pasa el tiempo :P).No es un libro de texto, es más bien una novela, pero cuenta los problemas, las aventuras, las heroicidades, los éxitos y los fracasos del equipo de Dave Cutler (ex Digital, líder del sistema operativo de Microsoft hasta hace muy poco tiempo) mientras construían NT.
Lo recomiendo porque además de cultura general (nombres e historias de ingenieros brillantes) proporciona una oportunidad de detectar muchos de los "classic mistakes" introducidos por McConnell en "Rapid App Development"... y de discutir sobre lo que hicieron bien y mal.
El imprescindible - 1995 (segunda edición!)
Si hay un libro clásico y mítico es The Mythical Man Month". Muchas veces digo (medio en broma) que hay que leerse un trozo por lo menos, porque cualquier artículo o post que se precie sobre gestión de proyectos debe referenciar "man month"... :P
La idea de "silver bullet" en software, los "surgical teams", la idea de la división en analistas, programadores y testers... todo biene de Brooks en este libro!! Un mito.
Extras
Los he metido en esta categoría porque quería elegir sólo 10 libros, y porque aunque son muy interesantes, no todos encajan directamente con planificación de proyectos.
Y, bueno, podría seguir con muchos más como Release it!, Pragmatic project automation, pero se hace ya muy largo ;)
Tendría que haber añadido alguno sobre gestión de configuración de software (SCM - software configuration management) pero lo dejo para otra "entrega" :)