Design Pattern | Glossary

Definition

Design Patterns are an essential support of Agile Development. The enable the emergent design to emerge in Agile projects. Previously thought of as ‘Design Up-Front’ technique, they are often used in Agile projects to determine variations that are discovered over time. It is important for development organizations to be critical of the systems they create, and make them invulnerable to business priorities, technologies, market pressures and changing requirements.

A Design Pattern offers systematic naming, motivation and explanation of general design problems in systems that are object-oriented. It offers a description of the problem, the solution and when to apply it. It also gives hints of implementation and requisite examples.

Further Reading

  •  “Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)” (book), by Erich Gamma

Iterative Development | Glossary

Definition

Iterative Development is a method that breaks down the large workload of a Software Development process into smaller chunks, and in cycles. The featured code is designed, developed and tested in continuous repeated cycles. Features are added/subtracted after each iteration so as to develop the software in its best possible condition to be deployed.

Iterative development is a key practice in Agile Development Methodology. It is a contrast with the traditional Waterfall Method, in which Development Cycle is ‘Gated’. The purpose of working in iterations is to allow more flexibility and change.  Every cycle brings more possibilities of improving the functionality of the product and towards finally building a great end product.

Further Reading

  •  “Agile and Iterative Development Complete Self-Assessment Guide” (book), by Gerardus Blokdyk .