DEV Community

Discussion on: Explain Agile Project Management Like I'm Five

Collapse
 
dariusx profile image
Darius

Understanding a subject is a process. We learn a few things about the subject. We integrate this into our existing knowledge, building a coherent picture in our mind. That makes us ready for new knowledge about the subject. We can start to look at more details. We integrate those details into our mental picture. Then we might be ready to understand exceptions, and so on. That's how we learn: layer by layer, integrating each before we can understand more.

If you're five, there are many subjects for which only simple answers will work. This is a real-world example of the layered knowledge-acquisition principle at work.

The same with a system or a new product or web-site. We learn as we go. If we try to discover everything and do extensive analysis before we start coding, we will fail. We will need to rework things. Instead, we should bit the bullet and plan for rework. Indeed, we should plan rework as if it is the norm. As we build new things, we will learn more and refactor old code. By understanding how humans learn, we plan for that learning. (Of course rework is not everything -- the net value should grow.

Agile is an approach that recognizes how human beings learn and build mental systems, and plans for implementations to accommodate this human process.