Skip to main content

Software Engineering - Agile Model | WaoFamHub



Agile Model

The meaning of Agile is swift or versatile."Agile process model" refers to a software development approach based on iterative development. Agile methods break tasks into smaller iterations, or parts do not directly involve long term planning. The project scope and requirements are laid down at the beginning of the development process. Plans regarding the number of iterations, the duration and the scope of each iteration are clearly defined in advance.

Each iteration is considered as a short time "frame" in the Agile process model, which typically lasts from one to four weeks. The division of the entire project into smaller parts helps to minimize the project risk and to reduce the overall project delivery time requirements. Each iteration involves a team working through a full software development life cycle including planning, requirements analysis, design, coding, and testing before a working product is demonstrated to the client.

Phases of Agile Model:



Following are the phases in the Agile model are as follows:


  1. Requirements gathering
  2. Design the requirements
  3. Construction/ iteration
  4. Testing/ Quality assurance
  5. Deployment
  6. Feedback


1. Requirements gathering: In this phase, you must define the requirements. You should explain business opportunities and plan the time and effort needed to build the project. Based on this information, you can evaluate technical and economic feasibility.

2. Design the requirements: When you have identified the project, work with stakeholders to define requirements. You can use the user flow diagram or the high-level UML diagram to show the work of new features and show how it will apply to your existing system.

3. Construction/ iteration: When the team defines the requirements, the work begins. Designers and developers start working on their project, which aims to deploy a working product. The product will undergo various stages of improvement, so it includes simple, minimal functionality.

4. Testing: In this phase, the Quality Assurance team examines the product's performance and looks for the bug.

5. Deployment: In this phase, the team issues a product for the user's work environment.

6. Feedback: After releasing the product, the last step is feedback. In this, the team receives feedback about the product and works through the feedback.

Agile Testing Methods:


  1. Scrum
  2. Crystal
  3. Dynamic Software Development Method(DSDM)
  4. Feature Driven Development(FDD)
  5. Lean Software Development
  6. eXtreme Programming(XP)


Scrum

SCRUM is an agile development process focused primarily on ways to manage tasks in team-based development conditions.

There are three roles in it, and their responsibilities are:

Scrum Master: The scrum can set up the master team, arrange the meeting and remove obstacles for the process
Product owner: The product owner makes the product backlog, prioritizes the delay and is responsible for the distribution of functionality on each repetition.

Scrum Team: The team manages its work and organizes the work to complete the sprint or cycle.

eXtreme Programming(XP)

This type of methodology is used when customers are constantly changing demands or requirements, or when they are not sure about the system's performance.

Crystal:

There are three concepts of this method-

Chartering: Multi activities are involved in this phase such as making a development team, performing feasibility analysis, developing plans, etc.
Cyclic delivery: under this, two more cycles consist, these are:
Team updates the release plan.
Integrated product delivers to the users.
Wrap up: According to the user environment, this phase performs deployment, post-deployment.

Dynamic Software Development Method(DSDM):

DSDM is a rapid application development strategy for software development and gives an agile project distribution structure. The essential features of DSDM are that users must be actively connected, and teams have been given the right to make decisions. The techniques used in DSDM are:


  1. Time Boxing
  2. MoSCoW Rules
  3. Prototyping


The DSDM project contains seven stages:


  • Pre-project
  • Feasibility Study
  • Business Study
  • Functional Model Iteration
  • Design and build Iteration
  • Implementation
  • Post-project


Feature Driven Development(FDD):

This method focuses on "Designing and Building" features. In contrast to other smart methods, FDD describes the small steps of the work that should be obtained separately per function.

Lean Software Development:

Lean software development methodology follows the principle "just in time production." The lean method indicates the increasing speed of software development and reducing costs. Lean development can be summarized in seven phases.


  1. Eliminating Waste
  2. Amplifying learning
  3. Defer commitment (deciding as late as possible)
  4. Early delivery
  5. Empowering the team
  6. Building Integrity
  7. Optimize the whole


When to use the Agile Model?


  • When frequent changes are required.
  • When a highly qualified and experienced team is available.
  • When a customer is ready to have a meeting with a software team all the time.
  • When project size is small.


Advantage(Pros) of Agile Method:


  • Frequent Delivery
  • Face-to-Face Communication with clients.
  • Efficient design and fulfils the business requirement.
  • Anytime changes are acceptable.
  • It reduces total development time.


Disadvantages(Cons) of Agile Model:


  • Due to the shortage of formal documents, it creates confusion and crucial decisions taken throughout various phases can be misinterpreted at any time by different team members.
  • Due to the lack of proper documentation, once the project completes and the developers allotted to another project, maintenance of the finished project can become a difficulty.

Comments

Popular posts from this blog

Hello World Example In C Programming | WaoFamHub

Hello World Example A C program basically consists of the following parts − Preprocessor Commands Functions Variables Statements & Expressions Comments Let us look at a simple code that would print the words "Hello World" − INPUT #include <stdio.h> void main {    /* my first program in C */    printf("Hello, World! \n");    getch; } Let us take a look at the various parts of the above program − The first line of the program #include <stdio.h> is a preprocessor command, which tells a C compiler to include stdio.h file before going to actual compilation. The next line int main() is the main function where the program execution begins. The next line /*...*/ will be ignored by the compiler and it has been put to add additional comments in the program. So such lines are called comments in the program. The next line printf(...) is another function available in C which causes the message "Hello, World!" to be displayed on the screen. The next line...

Why Software Engineering is Popular? | WaoFamHub

Why Software Engineering is Popular? Here are important reasons behind the popularity of software engineering: Large software – In our real life, it is quite more comfortable to build a wall than a house or building. In the same manner, as the size of the software becomes large, software engineering helps you to build software. Scalability - If the software development process were based on scientific and engineering concepts, it is easier to re-create new software to scale an existing one. Adaptability : Whenever the software process was based on scientific and engineering, it is easy to re-create new software with the help of software engineering. Cost - Hardware industry has shown its skills and huge manufacturing has lower the cost of the computer and electronic hardware. Dynamic Nature - Always growing and adapting nature of the software. It depends on the environment in which the user works. Quality Management : Offers better method of software development to provide quality so...

Bresenham’s Line Drawing Algorithm Program In C | WaoFamHub

Bresenham’s Line Drawing Algorithm Program In C INPUT #include<stdio.h> #include<graphics.h> void drawline(int x0, int y0, int x1, int y1) { int dx, dy, p, x, y; dx=x1-x0; dy=y1-y0; x=x0; y=y0; p=2*dy-dx; while(x<x1) { if(p>=0) { putpixel(x,y,7); y=y+1; p=p+2*dy-2*dx; } else { putpixel(x,y,7); p=p+2*dy; } x=x+1; } } int main() { int gdriver=DETECT, gmode, error, x0, y0, x1, y1; initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi"); printf("Enter co-ordinates of first point: "); scanf("%d%d", &x0, &y0); printf("Enter co-ordinates of second point: "); scanf("%d%d", &x1, &y1); drawline(x0, y0, x1, y1); getch(); } OUTPUT

Draw A Simple Hut On The Screen Program In C | WaoFamHub

A Simple Hut On The Screen INPUT #include<graphics.h> #include<conio.h> int main(){ int gd = DETECT,gm; initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); setcolor(WHITE); rectangle(150,180,250,300); rectangle(250,180,420,300); rectangle(180,250,220,300); line(200,100,150,180); line(200,100,250,180); line(200,100,370,100); line(370,100,420,180); setfillstyle(SOLID_FILL, BROWN); floodfill(152, 182, WHITE); floodfill(252, 182, WHITE); setfillstyle(SLASH_FILL, BLUE); floodfill(182, 252, WHITE); setfillstyle(HATCH_FILL, GREEN); floodfill(200, 105, WHITE); floodfill(210, 105, WHITE); getch(); closegraph(); return 0; } OUTPUT

AMP Website VS Normal Website | WaoFamHub

AMP Site VS Normal Site What Is AMP Site? AMP (originally an acronym for Accelerated Mobile Pages) is an open source HTML framework developed by the AMP Open Source Project. It was originally created by Google as a competitor to Facebook Instant Articles and Apple News. AMP is optimised for mobile web browsing and intended to help webpages load faster. What Is Website? A website (also written as web site) is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. ... Websites are typically dedicated to a particular topic or purpose, such as news, education, commerce, entertainment, or social networking. Whay AMP Site Load Fast? AMP-built web pages have a lightning bolt indicator in the search result. This is what an AMP page looks compared to a normal web page: The reason why AMP pages load instantly is because AMP restricts HTML/CSS and JavaScript, allowing faster rendering of mobile web pages. How To Make AMP ...

What Is Google Schemas? And Types | WaoFamHub

Google Schema What is Google Schema? (V1) Schema.org (often called Schema) is a semantic vocabulary of tags (or microdata) that you can add to your HTML to improve the way search engines read and represent your page in SERPs. What Is Google Schemas ? (V2) Website Schemas are essentially words or tags in a “shared vocabulary” that can be used by your on-line marketing company (like us!) to talk to search engines like Google & Bing to provide refined searches. What Is Google Schemas? (V3) Schema markup, also known as structured data, is the language of search engines, using a unique semantic vocabulary. It is code used to more clearly provide information to search engines in order to understand your content. In turn, this helps provide users with better, more accurate information in the rich snippets that are displayed beneath the page title. What is schema and why is it important? Schema is powerful and important. By being able to implement and use this information. You'll not o...

What Is C Programming? | Why To Learn C Programming | WaoFamHub

What Is C Programming C programming is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX operating system. C is the most widely used computer language. It keeps fluctuating at number one scale of popularity along with Java programming language, which is also equally popular and most widely used among modern software programmers. Why to Learn C Programming? C programming language is a MUST for students and working professionals to become a great Software Engineer specially when they are working in Software Development Domain. I will list down some of the key advantages of learning C Programming: Easy to learn Structured language It produces efficient programs It can handle low-level activities It can be compiled on a variety of computer platforms Facts about C C was invented to write an operating system called UNIX. C is a successor of B language which was introduced aroun...