producto

Agile … Is It Worth It? Advantages of Using It

Around 50 years ago, code was written without any plan and the architecture design was determined from many short-term decisions. This worked well for small systems, but as they grew it became harder to add new features and to fix bugs.

After some years, methodologies were introduced in software development to solve these issues. Methodologies are strict processes whose aim is to make software more efficient and predictable. Traditional methodologies (for instance Waterfall) are plan-driven and require a big effort at the beginning of the project in order to define requirements and architecture properly. As you may notice, these processes can be frustrating and not very open to changes.

Nowadays, technology and software applications evolve quickly – faster than we expected. Therefore, time-to-market is critical in determining whether a product will succeed or fail. Reaching the market before your competitors might actually mean victory. Thus, it is very important to have the right methodology that embraces and responds to the continuous changes we are experiencing. That is the main reason why, in 1975, practices based on iterative enhancements were introduced. In other words, let’s call it agility.

El testing no mejora la calidad de nuestro producto, ¿o si?

En el mundo de la calidad del software, existe una creencia generalizada de que para lograr un producto de calidad es esencial implementar medidas de control, verificación y validación, como el testing.

Si retrocedemos en el tiempo, desde los primeros días del desarrollo de software, se le dio importancia al testing, considerándolo una fase crítica del producto, justo antes de ser entregado al cliente. En esta etapa, las actividades se centraban en verificar si el producto se comportaba según lo establecido en un documento de requisitos, redactado meses antes. En productos más avanzados, se incluía cierta automatización para garantizar que el producto siguiera comportándose como se esperaba, incluso después de añadir nuevas funcionalidades o modificar las ya existentes. Sin embargo, esto no garantizaba que el cliente quedase satisfecho con el resultado final. Era común que lo que se entregaba no cumpliera con las expectativas del cliente, lo que llevaba a desencantos frecuentes.