Sdlc-2 PPT Source

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Agile Software Development: Methodologies and Trends

Yang cetak merah ga masuk ppt tapi lisan yah

Research Background

Software Engineering: A Challenges of Traditional Need for Agile Development


Systematic Discipline Methods (Try to solve with Aglie)
(Introduction) (Problem)
 Software Engineering  Traditional methods  Traditional methods
emerged in 1968 to like the waterfall become problematic
address the growing model prioritize when user needs
complexity of extensive upfront evolve during
software planning. development.
development.
 Similar to other  This includes defining  Agile methodologies
engineering fields, it requirements, address this by
emphasizes a designing the adopting a more
systematic and well- software, coding, iterative and
defined approach. testing, and incremental approach.
deployment in a linear
sequence.
 This ensures the final  While suitable for  This allows for faster
software product is complex projects, development cycles
reliable, maintainable, these methods and easier adaptation
and meets user struggle to adapt to to changing
requirements. changes in requirements.
requirements.

Methodology

Literatur Review (Agile Comparative Research Descriptive


Software Development
manifesto)
The author endeavors to The author also utilizes
The author extensively cites juxtapose research descriptive research
previous research as the findings on Agile methodology to examine
foundation of their arguments. Software Development recent state-of-the-art trends
against those of in agile development,
Traditional Software particularly in the realms of
Development. cloud computing, big data,
and coordination.
Result

Title: The main advantages of agile based software development (based on values and
principal):
• Enhanced communication and coordination among team members.
• Rapid release cycles.
• Design flexibility.
• Streamlined processes.

Title: Agile development software is the ability to adapt to changes:

The author pointed out that traditional software development processes experience a nonlinear
increase in cost as the project advances and changes occur. In contrast, the agile process's
incremental delivery approach reduces this cost and keeps it steady, enabling changes in later
stages without significant cost and time losses.

Penulis menunjukkan bahwa proses pengembangan perangkat lunak tradisional mengalami


peningkatan biaya nonlinier seiring kemajuan proyek dan perubahan yang terjadi. Sebaliknya,
pendekatan pengiriman inkremental pada proses agile mengurangi biaya ini dan menjaganya
tetap stabil, sehingga memungkinkan perubahan pada tahap selanjutnya tanpa kehilangan biaya
dan waktu yang signifikan.

Title: Table of comparation

Parameter Traditional Methods Agile Methods


Ease of Hard Easy
Modification
Development Predictive Adaptive
Approach
Development Process Oriented Customer Oriented
Orientation
Project Size Large Small or Medium
Planning Scale Long Term Short Term
Management Style Command and Control Leadership and
Collaboration
Learning Continuous Learning Learning is secondary to
while Development Development
Documentation High Low
Organization High Revenue Moderate and low
Type Revenue
Organization’s Large Small
Number of
Employees
Budget High Low
Number of Teams Multiple One
Team Size Medium Small

The comparison between agile and traditional software development methods shows that agile is
better at adapting to changes, leading to direct collaboration between developers and customers.
Agile is more suitable for small and medium projects due to its efficiency. Agile methods
involve short-term planning for specific functionalities, which is easier compared to the long-
term planning required in traditional methods. Traditional methods necessitate high-level,
detailed documentation, resulting in extensive work and large documents. Additionally,
traditional methods often involve more teams and employees, requiring a higher budget.

Perbandingan antara metode pengembangan perangkat lunak agile dan tradisional menunjukkan
bahwa agile lebih baik dalam beradaptasi terhadap perubahan, sehingga mengarah pada
kolaborasi langsung antara pengembang dan pelanggan. Agile lebih cocok untuk proyek kecil
dan menengah karena efisiensinya. Metode tangkas melibatkan perencanaan jangka pendek
untuk fungsi tertentu, yang lebih mudah dibandingkan dengan perencanaan jangka panjang yang
diperlukan dalam metode tradisional. Metode tradisional memerlukan dokumentasi tingkat tinggi
dan terperinci, sehingga menghasilkan pekerjaan ekstensif dan dokumen besar. Selain itu,
metode tradisional sering kali melibatkan lebih banyak tim dan karyawan, sehingga
membutuhkan anggaran yang lebih tinggi.
Title: Agile methods
Each Agile method involves unique sets of practices that describe how software developers carry
out their day-to-day work. These methods vary from one another by selecting specific
terminologies and practices that suit their needs// Setiap metode Agile melibatkan serangkaian
praktik unik yang menggambarkan bagaimana pengembang perangkat lunak melaksanakan
pekerjaan mereka sehari-hari. Metode-metode ini berbeda satu sama lain dengan memilih
terminologi dan praktik tertentu yang sesuai dengan kebutuhan mereka.
SubTitle:
1. Feature driven development (FDD)
Feature Driven Development (FDD) is an agile development method focused on
managing short, incremental iterations to deliver functional software.

a. Role:
 Project Manager: Leads the project and makes administrative
decisions while ensuring a productive working environment.
 Chief Architect: Designs the software and gives final approval for
the design.
 Development Manager: Supervises the development team,
possesses technical skills to solve complex problems, and resolves
conflicts between teams.
 Chief Programmer: Leads small teams through analysis, design,
and implementation, selects features for each iteration, and
addresses implementation issues.
 Class Owner: Designs, codes, and tests features.
 Domain Expert: Provides business expertise, understands business
operations and needs, and enriches the feature list with valuable
insights.
b. Advantage
 FDD is highly adaptive and can accommodate late changes from
the customer.
 It emphasizes delivering high-quality results after each phase.
 Results from each iteration can be delivered within one to four
weeks, enabling quick feedback from customers.
c. Disadvantage
 FDD lacks guidance on requirement gathering, analysis, and risk
management.
 It necessitates an expert team with strong skills in designing and
modeling.
 FDD does not address criticality issues in projects.

2. Feature driven development (FDD)


Test-Driven Development (TDD) entails the initial creation of small, iterative
automated testing programs, subsequent to which code is developed to satisfy
these tests, deferring code enhancements to later stages. This methodology
diverges from traditional software development practices, where testing occurs
after code completion.

a. Steps:

b. Advantage
 allows for early defect handling and direct identification of bugs
 Iterative testing improves code quality as all code undergoes
testing during development.
 development process more manageable.
 improves design and facilitates integration with other
functionalities.
 Developing small functionalities in each iteration reduces the
complexity of the overall software
c. Disadvantage
 Programmers need some extra skill
 Using TDD in projects with complex synchronization between
functionalities and parts can be challenging.
 leads to poor documentation
 consumes time when the repeated failures happened.
 not guided by management principles in software development,
only focuses on the development activities.
3. Dynamic System Development Method (DSDM)
The main idea about the DSDM is to set and define the resources of the project
and the time for the project and then adjust the amount of functionality that can be
done in these time and resources
a. DSDM Cycle:

 Feasibility study phase: The initial step in the DSDM method


involves studying the project to determine if DSDM is suitable for
development. Risk analysis and technical requirements are assessed
here, resulting in a feasibility report and a development outline.
 Business study phase: Meetings between client business experts and
the development team occur in this phase to define user requirements
and prioritize system functionalities. Technology selection, process
descriptions, system architecture, and an outline prototyping plan are
outcomes of this phase.
 Functional model iteration: Analysis, coding, and prototyping are
conducted iteratively and incrementally to specify software
development, priorities, functional prototypes, nonfunctional
requirements, and risk analysis.
 Design and build phase: This iterative phase implements
requirements identified earlier, publishes them for user testing and
feedback, leading to a tested software with a minimal set of
requirements.

Implementation phase: The software transitions from development to


production, with user training and manual development. If all user
requirements are met, further development processes are
unnecessary; otherwise, the process is repeated.
b. Advantage
 Rapid application development based on agile principles (focus on
business needs, timely delivery, quality focus, incremental and
iterative development, direct feedback).
 Incorporates best practices from other approved methodologies.
 Provides guidelines for project management, risk control, and
development techniques.

c. Disadvantage
 Complexity due to a large number of roles, leading to challenges in
project administration.
 Does not consider project criticality.
 Lacks specific guidelines for issues related to team size and
iteration length.
4. Scrum
focuses on delivering the highest value in the shortest time. It is a team oriented
agile methodology that specifies a certain role, establishes a short time boxed
iteration called sprints in which the system is incrementally developed and
produces a different artifact that coordinates its work. Ga bahas lebih lanjut
karena sudah dijelaskan pada slide sebelumnya

5. Extreme programming method)


XP aims to improve the software quality by taking the concepts of software
engineering to an extreme level
a. XP 13 primary technical practices:
sit together,
whole team,
informative workspace,
energized work,
pair programming,
stories,
short iteration,
quarterly release,
slack,
ten-minute build,
continuous integration,
acceptance- and unit test-driven development,
and incremental design

b. Advantage
 Incremental development is supported
 Improve the productivity
 simplicity Maintaining
c. Disadvantage
 lacks the capability to support the distributed teams
 requires additional technical training
 depends on the informal documentation.
 effective but stressful
Title: Cloud Computing, Big Data, And Coordination Challenges Faced To Agile Benefit

Challenges Agile Benefit

Adaptable to changing needs through continuous


Evolving Requirements
feedback loops.

Large datasets and complex


Faster delivery of initial functionalities and insights.
analysis

Collaboration between diverse


Encourages close collaboration and communication.
teams

Unpredictable nature of Big Mitigates risks through iterative development and


Data projects early detection of issues.

Resource constraints Prioritizes tasks and optimizes resource allocation.

Title: Conclusion

1. Different agile methodologies have distinct advantages and disadvantages, making it crucial to
carefully select the most suitable one based on project specifications and needs.

2. Traditional methods may be optimal for projects with large teams, critical budgets, while agile
methodologies are more suitable for smaller teams and lower budget projects.

3. XP was initially popular in the agile revolution but has declined in interest since 2004,
although its practices like pair programming and TDD remain valuable.

4. Scrum, focusing on project management, is currently leading agile development trends and has
a significant impact.

5. TDD has maintained stable research interest since 2007.

6. The research also explored agile implementation in big data systems and cloud computing
environments.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy