ScrumScrum is a process used to prepare and manage large projects. It is designed to facilitate the long-term planning of a product’s production. Unlike typical management through control and command, Scrum processes emphasize feedback and give more power to people who do the hard work.
KanbanKanban is a method of managing intellectual activities with a focus on delivery just in time, without overburdening team members. The name is derived from Japanese and literally means “signal card”. The Kanban Method, as formulated by David Anderson, is an approach to a gradual, evolutionary process. Uses a system for limiting ongoing work as the primary mechanism to detect systematic operational issues and stimulate mutual assistance, with the aim of continuously improving the system.
Lean software developmentThe term Lean software development comes from the book of the same name, written by Mary Popendijk and Tom Popendijk. The book presents traditional lean principles in a modified format as well as a set of 22 tools and compares them with Agile practices. Popendai’s involvement in the Agile software development community, including discussions at several conferences, affects the acceptance of different concepts among the community in question.
Extreme Programming – XPAgile Extreme Programming – XP is another type of software creation methodology. Extreme Programming’s main goal is to reduce the cost of a project if a change is needed. This concludes that Extreme Programming is a methodology suitable for use in projects that have frequently changing requirements and where more standard methodologies (such as the Waterfall model) are not optimal for high productivity; is appropriate for projects involving new technologies or unforeseen implementation problems; also used for smaller and easier to implement projects with informal methods; good technology for research projects.
Adaptation of Agile methodologiesThere are various terms that refer to the concept of ‘method adaptation’, including ‘method tailoring’, ‘method fragment adaptation’ and ” situational method engineering ”. Adaptation of methods is defined as:
A process or opportunity in which a systematic approach for the development of a particular situation (project) is determined, through sensitive changes and dynamic interactions between contexts, intentions and individual fragments of the method.
Potentially, almost all Agile methods are suitable for adaptation. Even the DSDM method is used for this purpose and has been successfully adapted in CMM. The appropriateness of the situation can be considered as a distinguishing difference between Agile methods and traditional software development methods, the latter being relatively more stringent. See Agile Project Management
The conclusion is that Agile methods allow different teams to adapt their daily practices to the needs of individual projects. As practices, we formulate specific activities or products that are part of the structure of a method. At a more extreme level, the philosophy of this method, consisting of a number of principles, can be adapted (Aydin, 2004). Extreme programming (XP) makes the need to adapt methods explicitly. One of the main ideas of XP is that not every process can fit into a particular project, but rather, practices must be tailored to the needs of individual projects. The partial acceptance of Extreme Programming practices proposed by Kent Beck has been reported several times.
Mehdi Mirakhorli offers an adaptation method that provides sufficient guidance to adapt to all practices. RDP practice is designed to customize XP. This practice was first offered at the APSO workshop during the ICSE 2008 conference and is the only method that can be used to customize XP. Although this is a specialized solution for XP, this practice can also be incorporated into other methodologies. At first glance, this practice seems to be in the category of static adaptation methods, but experience with the RDP practice shows that it can also be treated as a dynamic method. The difference between the static method and the dynamic method is barely noticeable. A key assumption for the static adaptation method is that the context of the project is given at the beginning and remains fixed during the implementation of the project. The result is a static definition of context. With this in mind, it can be determined which of the major fragments of the method should be used for a particular project and also on the basis of predefined criteria.
The dynamic adaptation method, on the contrary, implies that the projects are located in an unexpected (emerging) context. This means that a project has to deal with emerging factors that affect the relevant conditions and are not predictable. It also means that the context of a project is not fixed but changes in the implementation process. In this case, the recommended maps are not appropriate. The practical consequence of the dynamic method is that project managers often have to modify structured snippets or even newly introduced ones during project execution.
Software Development LifecycleAgile methods address different aspects of the software development lifecycle. Some focus on practice (extreme programming, pragmatic programming, Agile modeling), while others focus on software project management (Scrum). However, there are approaches that cover the entire cycle of one software development (Dynamic Development Systems, or DSDM, IBM Rational Unified Process, or RUP), while others are more focused on feature-driven development (FDD).
This publication is approved by a supervisor assigned from the PM.MBA project management team.
Therefore, there is a clear difference between the various Agile methods of software development in this regard. DSDM and RUP do not need additional approaches in software development, others to varying degrees. DSDM can be used by anyone (although only DSDM members can offer DSDM products or services). However, RUP is a commercially focused development environment (Abrahamsson, Salo, Rankainen & Warsta, 2002).