Professional Documents
Culture Documents
Agile Process
Information on the
Web should be
readable to
machines, as well
as humans., Using
metadata and
ontologies to
facilitate
Generic Architecture of Web Applications
Document-Centric Web sites
Precursors to Web applications
Static HTML documents
Manual updates
Pros
Simple, stable, short response times
Cons
High management costs for frequent updates
large collections
More prone to inconsistent/redundant info
Example static home pages
Introduction to Agile View Process
The Agile thought process had started early in the software development and started
becoming popular with time due to its flexibility and adaptability.
The most popular Agile methods include Rational Unified Process (1994), Scrum (1995),
Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature
Driven Development, and Dynamic Systems Development Method (DSDM) (1995).
These are now collectively referred to as Agile Methodologies, after the Agile Manifesto
was published in 2001.
It promotes disciplined project management. It talks about frequent inspection and
leadership philosophy.
It allows to provide high quality software.
It needs minimum planning, minimize overall risks and adapt changes quickly.
Agile means dynamic, content specific and growth oriented systems.
Customer satisfaction is rapid.
Changes in the requirements are welcomed and considered at any point of time of
project development.
Image source- google.com
Agile process 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.
Agile Process Model
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.
What is Scrum?
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.
(For example, the Scrum process framework requires the use of development cycles called
Sprints, the XP framework requires pair programming, and so forth.)
“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 of Roles, Artifacts, and Time Boxes.
Scrum is most often used to manage complex software and product development, using
iterative and incremental practices.
Scrum significantly increases productivity and reduces time to benefits relative to classic
“waterfall” processes.
Scrum processes enable organizations to adjust smoothly to rapidly-
changing requirements, and produce a product that meets evolving
business goals. An agile Scrum process benefits the organization by
helping it to
Increase the quality of the deliverables
Cope better with change (and expect the changes)
Provide better estimates while spending less time creating them
Be more in control of the project schedule and state
eXtreme Programming(XP)
Extreme Programming (XP) is an agile software development framework that aims to produce
higher quality software, and higher quality of life for the development team. XP is the most specific
of the agile frameworks regarding appropriate engineering practices for software development.
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.
When Applicable
The general characteristics where XP is appropriate were described by Don Wells
on www.extremeprogramming.org:
Dynamically changing software requirements
Risks caused by fixed time projects using new technology
Small, co-located extended development team
The technology you are using allows for automated unit and functional tests
Due to XP’s specificity when it comes to it’s full set of software engineering practices, there are
several situations where you may not want to fully practice XP. The post When is XP Not
Appropriate on the C2 Wiki is probably a good place to start to find examples where you may not
want to use XP.
While you can’t use the entire XP framework in many situations, that shouldn’t stop you from using
as many of the practices as possible given your context.
Adaptive Software Development (ASD)
Adaptive Software Development is a method to build complex software and system. ASD focuses
on human collaboration and self-organization. ASD “life cycle” incorporates three phases namely:
1. Speculation:
During this phase project is initiated and planning is conducted. The project plan uses project
initiation information like project requirements, user needs, customer mission statement, etc, to
define set of release cycles that the project wants.
2. Collaboration:
It is the difficult part of ASD as it needs the workers to be motivated. It collaborates communication
and teamwork but emphasizes individualism as individual creativity plays a major role in creative
thinking. People working together must trust each others to
Criticize without animosity,
Assist without resentment,
Work as hard as possible,
Possession of skill set,
Communicate problems to find effective solution.
Adaptive Software Development (ASD)
3. Learning:
The workers may have a overestimate of their own understanding of the
technology which may not lead to the desired result. Learning helps the
workers to increase their level of understanding over the project.
Learning process is of 3 ways:
Focus groups
Technical reviews
Project postmortem
ASD’s overall emphasis on the dynamics of self-organizing teams,
interpersonal collaboration, and individual and team learning yield
software project teams that have a much higher likelihood of success.
Dynamic Software Development Method(DSDM):
The Dynamic Systems Development technique (DSDM) is an associate degree agile code
development approach that provides a framework for building and maintaining systems. The DSDM
philosophy is borrowed from a modified version of the sociologist principle—80 % of An application
is often delivered in twenty percent of the time it’d desire deliver the entire (100 percent)
application.
DSDM is An iterative code method within which every iteration follows the 80% rule that simply
enough work is needed for every increment to facilitate movement to the following increment. The
remaining detail is often completed later once a lot of business necessities are noted or changes
are requested and accommodated.
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:
Time Boxing
MoSCoW Rules
Prototyping
The DSDM project contains seven stages:
Pre-project
Feasibility Study
Business Study
Functional Model Iteration
Design and build Iteration
Implementation
Post-project
Crystal:
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:
https://www.cprime.com/resources/what-is-agile-what-is-scrum/
https://www.javatpoint.com/software-engineering-agile-model
https://www.geeksforgeeks.org/dynamic-systems-development-method-
dsdm/
Kappel, G., Proll, B. Reich, S. Retschitzegger,
W. (2006). Web Engineering, 1st ed. Hoboken, NJ
Wiley Sons. ISBN 04700-1554-3.
http//www.sis.pitt.edu/jgrady/
For Queries and suggestions
Email:-
kavita.khobragade@fergusson.edu
kavitanand@gmail.com