Tag Archives: Agile

Agile and Wrong: The Problems with Emergent Design in Pictures

Many idealistic Agile practitioners propose the idea of Emergent Design: “With emergent design, a development organization starts delivering functionality and lets the design emerge. Development will take a piece of functionality A and implement it using best practices and proper … Continue reading

Posted in Adaptable Design, Agile, Software Architecture, Software Evolution | Tagged , , , | 18 Comments

On Anzeneering, Pride and the Definition of Done (DoD)

The concept of Anzeneering was created by Joshua Kerievsky, CEO of Industrial Logic and author of the book “Refactoring to Patterns“. It is derived from the Japanese word “anzen” which means “safety”. According to Joshua: “Anzeneers protect people by establishing … Continue reading

Posted in Agile, Efficacy, Psychology of Programming | Tagged , , | 2 Comments

Beware the Lean Feedback Loop: Over-fitting to Early Adopters

Today many software startups follow the ideas introduced by Eric Ries in his best-selling book “The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses”. Ries is responsible for the popularization of the concept of the … Continue reading

Posted in Agile, Lean Development | Tagged , | 3 Comments

Indefinite Optimism: the Problem with the Agile and Lean Mindsets

In the last decade we have seen a decrease of interest in Software Design and a sharp increase of interest in Agile methods. The first graph below compares the trends between Software Design and Agile. The second graph compares the … Continue reading

Posted in Adaptable Design, Agile, Lean Development, Software Architecture, Software Evolution | Tagged , , , , | 12 Comments

Talk: Adaptable Design Up Front (slides + video)

Last week I was invited to talk at the IASA eSummit on Architecture for Agile Software Development. My talk tries to answer the question: “How much Design Up Front should be done in an Agile project?” I present my approach … Continue reading

Posted in Adaptable Design, Agile, Software Architecture, Software Evolution | Tagged , , , | Leave a comment

The Problem with Velocity in Agile Software Development

In my previous blog post about the “Real Danger of Quick-and-Dirty Programming“, I criticized some Agile practices such as measuring the Velocity and drawing Burndown charts. In this post I would like to extend and clarify this criticism, bringing also … Continue reading

Posted in Agile, Refactoring, Technical Debt | Tagged , , | 2 Comments

On the Real Danger of Quick-and-Dirty Programming

As in Dijkstra‘s quote above, when people criticize Quick-and-Dirty programming they are in general focusing on the negative impact in the system being developed. Software that is built following a Quick-and-Dirty approach will certainly have some serious deficiencies, which are … Continue reading

Posted in Agile, Programming, Technical Debt | Tagged , , | 11 Comments

Manifesto for Adaptable Software Development

We believe that the activities in the left are required to face the challenges of modern software development. Experimentation instead of Specification Evolution instead of Implementation Adaptation instead of Modification Extension instead of Growth Perhaps the activities in the right … Continue reading

Posted in Adaptable Design, Agile, Lean Development, Software Architecture, Software Evolution | Tagged , , , , | 6 Comments

Do SOLID design principles make code slow?

This week one of the readers of my blog asked me this question: “Do SOLID design principles make code slow?” I think this is a very interesting question, which I have already encountered several times during my 20 years as … Continue reading

Posted in Agile, Design Patterns, OOD, Programming, Software Architecture | Tagged , , , , | 12 Comments

Conference Talk: Dani Mannes on Agile Software Architecture

During the First Israeli Conference on Software Architecture, Dani Mannes gave a talk about “Agile Software Architecture”. Title: Agile Software Architecture Abstract: It is still very common to use different techniques and processes at the system engineering and at the software … Continue reading

Posted in Agile, IASA Israel, Software Architecture | Tagged , , | Leave a comment