As agile practices have become more widely adopted, the processes used to develop products have significantly changed: Product people and development teams now tend to collaborate much more closely. Dev teams have become cross-functional consisting of UX designers, architects, programmers, testers, and other roles.
Agile is an approach to software development that prioritizes small, frequent product releases over huge development cycles. Instead of large, complex projects that take several months, projects are broken up into smaller units of work that can be delivered much faster.
Lack of overall product design. A goal of agile software development is to focus more on producing working software and less on documentation. This is in contrast to waterfall models where the process is often highly controlled and minor changes to the system require significant revision of supporting documentation.