Agile software development refers to a group of methodologies based on development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry and reflects their experience of what approaches do and do not work for software development.
Scrum is a subset of Agile. It is a lightweight process framework for agile development and the most widely-used one. A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. “Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done. A Scrum process is distinguished from other agile processes by specific concepts and practices, divided into the three categories:
- Time Boxes
Scrum is most often used to manage complex software and product development, using iterative and incremental practices.
Sauce Labs combines both Scrum and Agile testing to ensure a quality process for your development team. Get the white paper NOW and let Sauce help you build a better app.