Explore chapters and articles related to this topic
Engineering of Process-Centric Application Systems
Published in Vivek Kale, Enterprise Process Management Systems, 2018
The agile software development movement advocates making customer satisfaction the highest priority, and agilists see early and continuous delivery of useful software as the path to achieving this goal. They value individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. The whole premise of creating complex models and then generating code from those models may seem in contradiction to these generally accepted agile principles; however, there is no apparent contradiction. If models are not executable, then they cannot be agile: if a model is supposed to be a blueprint against which a software system can be built, then it must first go through the effort of creating the blueprint followed by another process of construction—which is essentially nonagile in nature. However, if our models are executable, then we can immediately use them in the way we typically use code (prototyping early and often), and thus the same agile principles that apply to programming can apply equally well to modeling.
The Security Development Lifecycle
Published in James F. Ransome, Anmol, Mark S. Merkow, Practical Core Software Security, 2023
James F. Ransome, Anmol, Mark S. Merkow
Scrum (see Figure 2.13) is an iterative and incremental Agile software development method for managing software projects and product or application development. Scrum adopts an empirical approach, accepting that the problem cannot be fully understood or defined and focusing instead on maximizing the team’s ability to deliver quickly and to respond to emerging requirements. This is accomplished through the use of co-located, self-organizing teams in which all disciplines can be represented. In contrast to traditional planned or predictive methodologies, this concept facilitates the ability to handle churn resulting from customers that change the requirements during project development. The basic unit of development for Scrum is called a “sprint,” and a sprint can last from one week to one month. Each sprint is timeboxed so that finished portions of a product are completed on time. A prioritized list of requirements is derived from the product backlog, and if they are not completed during the sprint, they are left out and returned to the product backlog. The team demonstrates the software after each sprint is completed. Generally accepted value-added attributes of Scrum include its use of adaptive planning; that it requires feedback from working software early during the first sprint (typically two weeks) and often; that it stresses the maximization of good change, such as focusing on maximizing learning throughout the project; that it puts most responsibility on small, dedicated, tight-thinking, adaptive teams that plan and re-plan their own work; that it has strong and frequent controls; that it optimizes business value, time to market, and quality; and that it supports realization of value earlier, potentially after every sprint.
Requirements Specification and Agile Methodologies
Published in Phillip A. Laplante, Requirements Engineering for Software and Systems, 2017
Agile software development methods are a subset of iterative methods* that focus on embracing change and emphasize collaboration and early product delivery, while maintaining quality. Working code is considered the true artifact of the development process. Models, plans, and documentation are important and have their value, but exist only to support the development of working software, in contrast with the other approaches already discussed. However, this does not mean that an agile development approach is a free-for-all. There are very clear practices and principles that agile methodologists must embrace.
Towards a User Experience Framework for Business Intelligence
Published in Journal of Computer Information Systems, 2021
Marcus Eriksson, Bruce Ferwerda
15Liikkanen LA mentions in his case study that it is common that UX is disregarded in agile development processes, but can be advantageous in sprints. Agile software development methods are intended to use iterative development to uncover new user needs during the entire development process. Using agile methods, the development team works in close collaboration with the customer and the end user developing and delivering working versions of the product in short development cycles.15,17 Maguire17 is using Scrum as the example agile method in the UX framework he proposes. Scrum is an development method focusing on delivering working versions of the product to the client in short sprints.23 An alternative to Scrum is lean UX. Lean UX is different from the agile development method Scrum. Scrum development cycles put focus on delivering a working version of the product with each iteration while lean UX is focused on delivering MVPs (minimum viable product). The MVP can be a low fidelity prototype displaying the functionalities of the product used to validate the specific functionalities with the end user group. Even though the prototype is low fidelity it needs to be able to demonstrate the intended functionalities. Lean UX focuses on fast iterations of software development with a large emphasis on the end user.24,25 The choice of agile development method can vary depending on the context and environment of the company applying the method. Using Lean UX development can be advantageous since a scaled down prototype is delivered and evaluated without overwhelming the end user with a large amount of functionalities.
Using Scrum and unified modelling language to analyze and design an automatic course scheduling system
Published in Journal of the Chinese Institute of Engineers, 2019
Ping-Shun Chen, Gary Yu-Hsin Chen, Shao-Fu Lien, Wen-Tso Huang
Ghani, Azham, and Jeong (2014) studied how to secure the sprint tasks when implementing Scrum projects. They proposed the security backlog (SB) and integrated it into Scrum activities. Through experiments, they verified that the SB concept could help companies transform from the traditional software development method (waterfall model) to the agile software development method (Scrum or XP). The results showed that agile software development showed better productivity, defect density, defect resolution effort ratio, test execution verification, validation effectiveness, and effort prediction capability than traditional software development.
Using Social Intelligence to Overcome Agile Adoption Challenges
Published in Journal of Computer Information Systems, 2022
Project cost reduction, accelerated software delivery, enhanced ability to manage changing priorities, and increased team productivity are the major benefits of agile software development in organizations.4 For such organizations, adopting agile, however, is a challenging ask. The literature has identified both process- and human-related challenges stemming from the differences between the underlying philosophies of agile and plan-driven software development processes.