Agile model

deski
8 min readAug 4, 2021

Agile software development refers to a set of software development methods based on repetitive development, where needs and solutions are developed through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes usually promote a disciplined project management process that promotes consistent testing and adaptation, a leadership philosophy that promotes teamwork, self-organization, and accountability, and a set of engineering best practices that allow high-quality software to be delivered quickly. A business approach that adjusts development to customer needs and company goals. Agile development refers to any development process that is consistent with the ideas of the dynamic manifesto. The Manifesto was developed by fourteen leading groups in the software industry, and reflects their experience of what approaches to software development work.

Agile means fast or varied. The “Agile process model” refers to a software development approach based on repetitive development. Agile methods divide tasks into smaller repetitions, or do not involve long-term planning directly in parts. The scope and requirements of the project are determined at the beginning of the development process. Schemes for the number, duration, and magnitude of each iteration are clearly defined. Each iteration is considered a short time “frame” in the agile process model, which usually lasts one to four weeks. Dividing the entire project into smaller parts helps to reduce project risk and overall project delivery time requirements. Each repeat works through a whole software development life cycle, including planning, requirements analysis, design, coding, and testing before a group works and presents a product to the client. Agile methodology prioritizes faster delivery, collaboration between different business units (marketing and IT), and more traditional approaches such as ‘waterfall’. In fact, the software development world has been active for many years, and although we will use that area here as an example, it is an approach that can be widely used throughout the business. First described in 2001 (although the concept is longer than that), Agile is a response to the continuing style of software development in which the business states its requirements, and IT software provides to meet them. Due to the top-down nature of this method, the resulting software may fail to meet the needs of the users, which may develop from the start of the project. Instead, Agile focuses on adapting the software to new or changing user needs, prioritizing testing and user feedback, and ensuring that the product remains relevant and useful.

How to use

Agile divides a project into smaller parts called ‘user stories’. Each of these is a feature that the user wants in the software. Developers need to work through these user stories with a list of things you need to do, prioritize them, and group them into repetitions, with an estimated time limit for each repetition (usually about two weeks). Once a iteration is complete, users can try out a product that can be transferred to developers. This means that dynamic projects create something simple that can be repeated based on user feedback, while the software best suits the needs of users while reducing complexity. This means that developers often do not start working with the complete requirements, but instead find new requirements through user feedback and then they can fulfill their software. Sprint length is always fixed. This ensures that developers and users can regularly review the direction of the project and keep it on track. However, it also means that a project can work on schedule if the developers do not decide to reduce its scope and ambition.

History

In the early 1990s, as PC computing began to expand into enterprises, software development faced a crisis. At the time, it was widely referred to as “the application development crisis, Industry experts estimate that the time between valid business demand and actual application in production is approximately three years. The problem is, even 25 years ago, businesses were moving faster than that. Within three years, requirements, systems and even the entire business are likely to change. This means that many projects are partially cancelled, and many of those completed do not meet the current needs of the business, even if the original goals of the project are met. In some industries, the delay was much longer than three years. In space and defence, it can take 20 or more years for a complex system to come into actual use. Extremely unusual, however, the space shuttle program, which became operational in 1982, used 1960s information and processing technologies. Sophisticated hardware and software systems have been designed, developed and deployed over a period of decades.

John Kern, an aerospace engineer in the 1990s, was even more frustrated with these long lead times and the initial decisions of a project that could not be changed later. “We were looking for something more timely and responsive,” he added, adding that there was an increasing number of people who thought there was a better way to build software. He was one of the 17 software thinkers of the time who began to talk informally about the process and documentation of the waterfall, as well as informal encounters and ways to further develop software without other popular software engineering techniques. Other industries were also transformed. It took the automotive industry six years or more to design a new car, and that time was almost halved in the 1990s. AT&T crashes, and so-called baby bells significantly reduce the cost of phones and services.

These frustrations surrounding unproductive software development activities shared by like-minded professionals led to the now-famous Snowboard Meeting in Utah in early 2001. But this is not the first time this particular group has met software leaders. They met a year ago in the spring of 2000 at the Rogue River Lodge in Oregon. The group consisted of Kern, Extreme Programming pioneers Kent Beck, Ward Cunningham, Ari Van Benneckam, Alistair Cockburn and twelve others. Was not the ultimate goal; Before that time agility had yet to be used for “dynamism” in formal conversation. At that meeting, the terms “light” and “lightweight” were more common, although none of the participants were particularly satisfied with the description. In particular, these thought leaders sought ways to build fast-paced software and get it into the hands of end users. This fast delivery approach provided some significant benefits. First, it enabled users to quickly access some of the business benefits of the new software. Second, it enables the software team to receive rapid feedback on the size and direction of the software.

Agile was never critical of the development methods developed in the 1970s and 1980s, and responded to the anarchic and unplanned approaches often used in the early days of software. In fact, the 1970s and 1990s were mainly the time when the basic theories and applications of software engineering came into being. The idea was to equate software engineering with physical engineering, maximizing borrowing from design and building.

Stability similar to traditional engineering projects is rare for software projects. Business requires change overnight, and faster than the months or years required before completing a software application. In hindsight, it is clear that software requires a different approach to engineering. Of course, another part of the problem is that software design is a science and an art, with its imperfections and associated human limitations. First, we do not know how to define software well. Users can describe their business workflows, but they cannot tell software designers which features it will automate and how those features will work. What sets software engineering apart from most other engineering disciplines is our inability to define exactly what is needed before we begin building a product. Some setbacks were led by the world’s largest software developer: the US government. In particular, the Department of Defense (DoD) standards for software development (in particular, DOD-STD-2167) clearly favored the waterfall model, until the late 1990s, when it was changed to explicitly support repetitive processes. Eventually, the DOD even designed its own programming language: Ada, often named Ada Lovelace, the first computer programmer. Extraordinarily large and very structured language, it seems to require a heavyweight process with a lot of documentation. This was ideal for the period of the highly documented and planned waterfall process. At the same time, more specific iterations were being developed.

Agile processes are a necessary first step in that direction, but continuous delivery requires a more radical change. This means that developers are trying to do something based on their best knowledge but are completely ready to remove or change it based on user feedback.

Agile Framework

· Scrum

· Extreme Programming

· Dynamic systems Development Method

· Feature Driven Development

· Adaptive Software Development

· The crystal Method

· Lean Software Development

· Disciplined Agile

· Scaled Agile Framework

· Rapid Application Development

Scrum In a Agile context, scrum is an approach to project management. Scrum Agile Framework favors moving projects through short-term work blocks, usually called sprints, which are limited to two-week intervals.

eXtreme Programming (XP) is a Agile framework — building high-quality software to please customers — with the more specific goal of improving the lives of the engineers who develop it.

Dynamic Systems Development Method (DSDM) The Agile Systems Development Method (DSDM) is a dynamic framework that addresses the entire project life cycle and its impact on the business.

Feature Drive Development (FDD) is an Agile framework that, as its name implies, organizes software development around the advancement of features.

Adaptive Software Development (ASD) is a direct outgrowth of an earlier agile framework, Rapid Application Development (RAD). It aims to enable teams to adapt quickly and effectively to changing needs or market needs by developing their products using lightweight planning and continuous learning.

Crystal is an agile framework focusing on individuals and their interactions, as opposed to processes and tools. In other words, this framework is a direct outgrowth of one of the core values articulated in the Agile Manifesto.

Lean Software Development (LSD) is an agile framework based on optimizing development time and resources, eliminating waste, and ultimately delivering only what the product needs.

Disciplined Agile (DA), is a process decision framework that puts individuals first and offers only lightweight guidance to help teams optimize their processes according to the unique needs of each specific project.

The Scaled Agile Framework, or SAFe, methodology is an agile framework for development teams built on three pillars: Team, Program, and Portfolio. SAFe is designed to give a team flexibility and to help manage some of the challenges larger organizations have when practicing agile.

Rapid Application Development is an agile framework focused primarily on rapid prototyping of software products, frequently iterating based on feedback, and continuously releasing updated versions of those products to the market.

Agile is a repetitive approach to project management and software development that enables teams to deliver value to their customers quickly and with minimal headaches. Instead of betting everything on a “Big Bang” launch, a dynamic team is working on small, but consumable, increments. Teams have a natural mechanism for responding quickly to changes as requirements, plans and outcomes are constantly evaluated.

Agile software development refers to software development methods that focus on the concept of interactive development that develops needs and solutions through collaboration between self-organizing cross-functional teams. The ultimate value of agile development is that it enables teams to deliver value quickly with high quality and predictability and a greater passion for responding to change.

--

--