Agile software development is a group of software development methods based on iterative and incremental development, in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Manifesto introduced the term in 2001. Since then, the Agile Movement, with all its values, principles, methods, practices, tools, champions and practitioners, philosophies and cultures, has significantly changed the landscape of the modern software engineering and commercial software development.
Many bigger companies have still serious problems in using Agile software development methods because the corporate culture issues. Manifesto for Half-Arsed Agile Software Development is a short introduction to those issues. Basically while the benefits of the Agile software development sound nice in theory, there’s no way we’re letting go of the old baggage of the heir development processes.
Start-ups have different set of problems as illustrated in Ten Ways Founders Sabotage Themselves article.