AGILE Development

advertisement
AGILE Development
Group 2
1501147113 KEVIN
1501148362 STEVEN EKAPUTRANTO
1501149226 RENDY WINARTA
1501158893 STEFANY TRIFOSA
1501165476 GLADYS NATALIA
AGILE Development
 Background
 Business nowadays wants to give a fast, nimble respond
and result in order to improve customer’s satisfaction.
 Agile is also about getting closer to what customer
wants. The end result would be very satisfactory. Agile
software development is also a very dynamic, flexible
cycle. In it, change is very encouraged.
 As being agile is very useful, Agile Software
Development is used by businesses. It basically reduces
the time needed to develop software by being as
simple as possible, making the software to become very
light as well. This also makes the job of the
developer/programmer becomes easier, which is
another plus point.
AGILE Development
 Module scopes covers:
 What Is The Definition of Agile Development
 What are the advantages by using Agile Methodology
Development in system
 What are the disadvantages by using Agile
Methodology Development in system
 How many step in developing Agile Development and
what are they (with examples)
 What are the differences between Agile Development
and Rapid Development Goals and Benefit
 In this method, writers perform these stages:
 Literature study is a methodology that searching for
relevant theory or references which support the case or
problem. References can be found by using guide
books, research and journal in internet.
AGILE Development
 Goals
 Purpose of creating this paper is to meet the
requirements for doing thesis and to obtain value
and grade for this course (“Topik Topik Lanjutan
Sistem Informasi”).
 Benefits
 Reader understands about what is Agile System
Development.
 Reader aware of the advantages and
disadvantages of Agile Development.
 Reader can differentiate between Agile
Development and Rapid Application Development
AGILE Development
 Agile Development is a philosophy and set of
guidelines for developing software in an unknown,
rapidly changing situation ( System Analysis and
Design in a changing world p.671 by Satzinger)
 Agile Methodology is a philosophy about how to
build models, some of which are formal and
detailed and other sketchy and minimal.
 Agile Development methodology consist of 3 :
 Extreme Programming methodology
 Scrum methodology
 UP methodology
Agile Development
methodology
 Extreme Programming is an adaptive , agile
development methodology that was created in
the mid-1990s by attempt to take the best
practices of software development and extend
them “to the extreme”.
 Scrum is another adaptive development
methodology, a truly empirical process control
approach to developing software.
 Agile Unified Process is simplified development
methodology for RUP in an agile context.
Steps of Agile Methodology
 Project Approval
 Pre-Iteration Planning
 Iteration
 Iteration Planning
 Iteration Execution
 Iteration Wrap-Up
 Post-Iteration Consolidation
 Release
AGILE Development
Advantages
 Advantages
 Agile create software team to increase teamwork
between individual in team which is the success key of
a project.
 Tools utilization in software development created as
effective as possible.
 Documentation in software development made as
effective and brief as possible, so the information in that
document really useful for development team.
 Involved customer in development process, so from
customer’s feedback, development team can do
improvement in software.
 Good software design in Agile concept, build a flexible
software that adapt existed business process, so the
programmer found no difficulty in take improvement in
software.
AGILE Development
Disdvantages
 Agile Development methodology would be difficult
to run if the user (in CPPIB case is the developer
team) is a newbie of Agile itself or currently running
another method of development such as Waterfall
which causing the user need to readapt and
change the whole concept of development.
 Agile development works well only for small to
medium sized teams
 Due to the number of iterations involved it would be
difficult to understand the current project status.
 This approach requires highly motivated and skilled
individuals which would not always be existent.
Rapid Application
Development
 Rapid application development (RAD) is an
incremental software development process
model that emphasizes an extremely short
development cycle. (Software Engineering: a
practitioner’s approach p.32 by Roger
S.Pressman )
 It is very similar to Agile Development, but there
are differences in it (discussed later).
RAPID VS AGILE
 RAD = prototypes, reduced features, rich
requirements gathering. Agile = iterations.
 Using an agile methodologies is means that we
still use other processes around it,
documentation, system and user acceptance
testing, deployment processes to improve more
development.
 Traditionally the rapid application development
approach involves compromises in usability,
features, and/or execution speed.
Conclusion of Agile Development
 Agile Development is a philosophy and set of
guidelines for developing software .
 A philosophy about how to build models
 Agile development offers a lightweight
framework and significantly reducing the overall
risk associated with software development.
 Agile development accelerates the delivery of
initial business value.
 Easily adapting to change requirements
throughout the process
Suggestions of Agile
Development
 Agile Development is not ready for automated
testing
 Hard to get buy-in. We suggest that everyone
must involved in a project to understand how
they and their colleagues can work and mitigate
risk
 Agile development are designed to produce the
software the user want, therefore all the
stakeholders must be involved in the
development process from the start to prevent
any mistake.
Download