Curso 1 Modulo 2 Foundations of Software Product Management

Las correctas metodologías para el desarrollo de software son clave para tener un desarrollo de software exitoso.

Success and agile are directely correlated.

Timing is the most important factor for a project to be successful.

Mandatory readings

Scott Ambler writes in his blog article “There is No Common Definition of Software Development Success”, that projects differ in how they define success; This is supported by his survey “2013 IT Project Success Rates Survey Resuts”.



In other words, DAD teams should adopt what Mark refers to as a “whole enterprise” mindset.

Agile Enterprise Administration: Beyond Data Administration

What is Agile and Why is it Important?
Principles of the Agile Manifesto - Video & Lesson Transcript ...

Lesson 3 Why process?

Lesson 4 Why requirements?

Todo lo que se supone que tiene que hacer el software para cumplir con los requisitos del cliente tiene que quedar muy claramente especificado como requirements. Los requirements son ordenes concretas que ayudan a los programadores a desarrollar las features específicas que hacen falta para cumplir con los requisitos.

Es un punto muy importante y es parte del manager de producto hacer que la comunicación sea lo más clara y específica posible.

Si toda esta parte se hace bien se pueden evitar muchos riesgos potenciales.

Lesson 5: Why Planning?

¿Qué hace falta desarrollar y quién lo va a desarrollar?

Lesson 6: Why monitoring?

Estar ocupado individualmente no es suficiente para desarrollar un buen software.

Mandatory Reading

Agile Succeeds Three Times More Often Than Waterfall

A TedTalk that we mention in the lecture, that talks about what factor or factors are the most important for project success. It may not be what you expected. It gives a good perspective if you are involved with startups or innovating new products.

“Bill Gross: The single biggest reason why startups succeed | TED Talk …” 2015. 21 Jun. 2016

¿Qué es lo más importante para el éxito de una startup? Ver charla y comentario aquí.

La encuesta ágil más grande del mundo.

Importance of processes and standars in software.

According to a study in the University of Iowa, the basic challenges for software industry, which are most deserving of serious attention in the immediate future include:

  1. creating the new logic for problem solving based on open-ended programming environments for high performance computer systems
  2. developing a formal methodology that guides us towards the construction of correct and portable parallel programs, and adopting an openness to radical and innovative alternatives
  3. designing a programming language that incorporates a unifying intuitive model of parallel computation, and which provides a coherent vehicle for the natural description of parallel programs
  4. devising and constructing software tools that resonate with the methodology and facilitate a flexible, supportive environment
  5. introducing widely available, substantial educational opportunities in parallel programming that will create a pool of individuals with the experience and intuition necessary to work effectively in this setting

The documented collection of policies, methods and procedures followed by a development team or organization to practice software engineering is called its software development methodology (SDM) or system development life cycle (SDLC).

Why do we Need Processes?

This way, making everything easy to change in the software makes it uncontrollably complex. In fact, this is the complexity of the software systems that makes it hard to change. And its hardness to change gives a need of right decisions in early phases of the project.

isibility in turn aids timely management control and mid-course corrections against the expected errors and crisis. It helps developers to weed out faults quite early before they cause to entire failure.

The adoption of a formal development process with well define unambiguous and complete policies will lead to the benefits of correct requirements to generate the correct product in order to meet the customer’s needs preciously and inclusion of necessary features that will in turn, reduce the post-development cost.

Why do we Need Software Standards?

But the reality is that many people found that despite this lack of formality, the informal methods were generally more useful and fast resulting than the formal methods. In practice, it seems that informality is an advantage.

But for development projects of increased complexities and huge size, informalities proved to be the major reasons of failures. When the work was distributed in multiple teams, they could not interrelate and integrate their individual work products because of uncommon assumptions and bases of developments. Not following standards of work and strategically themes threw them into pits of failures and crisis. Slowly, the developing industries realized the need of formal processes of development and they developed these processes as per their experiences in their fields.


The conclusions of this article in a single line may be stated as any software project needs to be executed with a formal process and standard practice. The increased complexities and huge size of the software development projects make them tough to control without formal practices and standard measurements. Ad hoc development approaches in current huge developments cause disastrous outputs with ambiguous communications, imprecise observations, brittle designs, inaccurate risk assessment, insufficient testing, uncontrolled change propagation and subjective progress assessment. 


Alex Frago

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.