Agile software development is about collaboration, efficiency, testing, short iterations, driven by product features and periods of reflections, including rapid feedback and integration, instead of having upfront planning, documentation, managerial approval, and non-flexibility (Ferreira & Cohen, 2008, p.48). Agile methods of development consider the way humans interact and how society in general works (Becheru, 2014). It is human nature to communicate and express ideas among each other to grow and learn, especially when working on a project. There is heavy emphasis on daily communication, collaboration, testing and feedback, flexibility, and incremental development. This results in improved quality, reducing the time spent on a project, increasing efficiency and productivity, and overall cost effectiveness (Talluri & Haddad, 2014). Agile methods are argued to bring apparent improvements to the software product itself while satisfying the clients’ needs (Becheru, 2014). This will be proven true or false later in the paper. Ferreira and Cohen state there are five main characteristics to agile methods; iterative development, continuous integration, test driven design, …show more content…
An upper CASE tools supports the planning, analysis, and design of the system development. It is also known as front end CASE and is implemented for the early stages with a huge emphasis on documentation. Lower CASE tools are used for code generation and testing, providing support in the later stages of the system development. Integrated CASE tools entail both upper and lower CASE (Chervany et al., 1998, p. 14). The CASE tools on the market and they are specified by their functionality. Those functionalities are; analysis, transformation, and representation (p.14). An organization can invest in multiple CASE tools to aid in the process and improve the productivity of a