Software development is a surprising discipline. Instead of proposing reduced numbers of approaches, methodologies, techniques, and tools like those of its brotherhood, it is overwhelming us with too many of them. You have probably at least once like me asked to yourself: Why am I not just growing vegetables? The truth is that software have become very complex due to the business environment that moved like hell since the advent of Internet and related technologies. Businesses continuously need cutting-edge software to manage their processes, collaboration, decisions, competition, knowledge, and intelligence. The worst is that they need them in very short time and with high quality. What to do it that context? One good approach is to see the software development process as a human being i.e. a living system. The process is complex, non-linear, and unpredictable. Agile development that advocates for non-mechanical view, flexibility, simplicity, self-organized teams, intensive communication, and feedback can help better cope with these factors.