This is a summary on Agile Framework.
Agile represents an overarching philosophy for software development, emphasizing the value of iterating quickly and often to satisfy customers.
Therefore, an agile framework can be defined as a specific software-development approach based on the agile philosophy articulated in the Agile Manifesto.
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Software Dev Techniques.pdf
1. SOFTWARE DEVELOPMENT TECHNIQUES–
ICE313
300 LEVEL FIRST SEMESTER
MODULE ONE
Mrs. Loreta Jugu (katokjugu@gmail.com)
AIRFORCE INSTITUTE OFTECHNOLOGY, KADUNA
FACULTY OF GROUND AND COMMUNICATION ENGINEERING
DEPARTMENT OF INFORMATION AND COMMUNICATION TECHNOLOGY
2. • What is an Agile Framework?
• Agile represents an overarching philosophy for software development, emphasizing the
value of iterating quickly and often to satisfy customers.
• Therefore, an agile framework can be defined as a specific software-development
approach based on the agile philosophy articulated in the Agile Manifesto.
• The Agile Manifesto is a brief document built on 4 values and 12 principles
for agile software development.
Agile Framework
katokjugu@gmail.com
4. • What is Scrum Agile Framework?
• Scrum is an approach to project management.Typically the Scrum agile
framework favours moving projects forward via short-term blocks of work called sprints,
which are usually confined to two-week intervals.
• Teams working with this framework are self-organizing and not top-down or hierarchical
in nature. Scrum-specific roles include the ScrumMaster, essentially a team guide, and
the Product Owner, who represents the business and customers.
SCRUM
katokjugu@gmail.com
5. • Product Backlog (PB):The product backlog is a list that collects everything the product needs to satisfy
the potential customers. It is prepared by the product owner and the functions are prioritized according
to what is more and less important for the business.The goal is for the product owner to answer the
question “What should be done”.
• Sprint Backlog (SB): It is a subset of items of the product backlog, which are selected by the team to
perform during the sprint on which they are going to work.The team establishes the duration of each
Sprint. Usually the sprint backlog, is displayed on physical boards called as Scrum board – that makes the
development process visible to everyone who enters the development area.
• Increment:The Increment is the sum of all the tasks, use cases, user stories, product backlogs and any
element that was developed during the sprint and that will be made available to the end user in the form
of Software.
SCRUM Artifacts
katokjugu@gmail.com
7. STRENGTHS AND WEAKNESS OF SCRUM AGILE
FRAMEWORK
• Strengths include:
• It is easy to understand
• Allows for rapid feedback
• Allows issues to be brought up through daily meetings
• Drawbacks include:
• Strictness (e.g., teams may not hold more than one sprint-review meeting during a sprint.And, there are
limitations on the number of people allowed on the team)
• Can lead to scope creep
• Some argue that the framework can place a high degree of pressure on the team due to the frequent, short
deadlines.
katokjugu@gmail.com
8. • The Dynamic Systems Development Method (DSDM) is an agile framework that addresses
the entire project lifecycle and its impact on the business.
• DSDM is an iterative approach to software development, and this framework explicitly states
“any project must be aligned to clearly defined strategic goals and focus upon early delivery of
real benefits to the business.”
• The framework is built on four principles:
• feasibility and business study
• functional model and prototype iteration
• design and build iteration
• and implementation.
Dynamic Systems Development Method
(DSDM)
katokjugu@gmail.com
9. • DSDM’s strengths include:
• Basic product functionality can be delivered rapidly
• Developers have easy access to end-users
• Projects are reliably completed on time
• DSDM’s weaknesses include:
• Can represent a dramatic and disruptive change in company culture
• Costly to implement
• Not ideal for small organizations
What are the Strengths and Weakness
of DSDM?
katokjugu@gmail.com
10. • Feature Driven Development (FDD) is an agile framework that, as its name suggests,
organizes software development around making progress on features.
• Features in the FDD context, though, are not necessarily product features in the
commonly understood sense.They are, rather, more akin to user stories in Scrum.
• In other words,“complete the login process” might be considered a feature in the
Feature Driven Development (FDD) methodology.
Feature Driven Development (FDD)
katokjugu@gmail.com
11. • FDD was designed to follow a five-step development process, built largely around
discrete “feature” projects.That project lifecycle looks like this:
• Develop an overall model
• Build a features list
• Plan by feature
• Design by feature
• Build by feature
Feature Driven Development (FDD)
katokjugu@gmail.com
12. • FDD’s strengths include:
• Simple five-step process allows for more rapid development
• Allows larger teams to move products forward with continuous success
• Leverages pre-defined development standards, so teams are able to move quickly
• FDD’s weaknesses include:
• Does not work efficiently for smaller projects
• Less written documentation, which can lead to confusion
• Highly dependent on lead developers or programmers
Strengths and Weakness of Feature
Driven Development
katokjugu@gmail.com
13. • What is Lean Software Development (LSD)?
• 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.
• The Lean approach is also often referred to as the MinimumViable Product
(MVP) strategy, in which a team releases a bare-minimum version of its product to the
market, learns from users what they like, don’t like and want to be added, and then
iterates based on this feedback.
Lean Software Development
katokjugu@gmail.com
15. • LSD’s strengths include:
• Streamlined approach allows more functionality to be delivered in less time
• Eliminates unnecessary activity, and as a result, can reduce costs
• Empowers the development team to make decisions, which can also boost morale
• LSD’s weaknesses include:
• Heavily depends on the team involved, making it not as scalable as other frameworks
• Depends on strong documentation, and failure to do so can result in development mistakes
What are the Strengths and Weakness
of Lean Software Development?
katokjugu@gmail.com
16. • LSD’s strengths include:
• Streamlined approach allows more functionality to be delivered in less time
• Eliminates unnecessary activity, and as a result, can reduce costs
• Empowers the development team to make decisions, which can also boost morale
• LSD’s weaknesses include:
• Heavily depends on the team involved, making it not as scalable as other frameworks
• Depends on strong documentation, and failure to do so can result in development mistakes
What are the Strengths and Weakness
of Lean Software Development?
katokjugu@gmail.com
17. • What is the Crystal Method?
• 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.
• The Crystal agile framework is built on two core beliefs:
• Teams can find ways on their own to improve and optimize their workflows
• Every project is unique and always changing, which is why that project’s team is best suited to
determine how it will tackle the work
Crystal Agile Framework
katokjugu@gmail.com
18. • These are categorized by colour, according to the number of people in the project;
• Crystal clear - Teams with less than 8 people
• Crystal yellow - Teams with between 10 and 20 people
• Crystal orange - Teams with between 20-50 people
• Crystal red
• - Teams with between 50-100 people
Crystal Agile Framework
katokjugu@gmail.com
19. • Crystal’s strengths include:
• Allows teams to work the way they deem most effective
• Facilitates direct team communication, transparency and accountability
• The adaptive approach lets teams respond well to changing requirements
• Crystal’s weaknesses include:
• Lack of pre-defined plans can lead to scope creep
• Lack of documentation can lead to confusion
What are the Strengths and Weakness
of Crystal?
katokjugu@gmail.com
20. • 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.
• The RAD model is comprised of four phases:
• Phase 1: Requirements planning
• Phase 2: User design
• Phase 3: Rapid construction
• Phase 4: Cutover
Rapid Application Development
katokjugu@gmail.com
21. • RAD’s strengths include:
• Takes advantage of the nature of software, which allows for rapid and low-cost iteration, to
allows organizations to quickly and continuously improve their products
• Allows teams to break down large projects into smaller, discrete, actionable tasks
• Users can receive working products in less time
• RAD’s weaknesses include:
• Requires highly skilled development team and product designers
• Requires user involvement throughout each stage of the project
• Does not work as well with large-scale projects
What are the Strengths and Weakness
of RAD?
katokjugu@gmail.com
22. • What is eXtreme Programming?
• eXtreme Programming (XP) is an agile framework that emphasizes both the broader
philosophy of agile—to produce higher-quality software to please customers—and the
more specific goal of making life better for the engineers developing it.
• The main characteristics of XP include dynamically changing software requirements; using
a small, collocated extended development team; and leveraging technology that facilitates
automated unit and functional tests.
eXtreme Programming (XP)
katokjugu@gmail.com
23. • XP’s strengths include:
• Can help cut costs for software development organizations
• Team members are accountable to the team for their work
• The emphasis on quality-of-life issues helps boost employee morale and retention
• XP’s weaknesses include:
• Does not emphasize code quality, which can lead to defects in early iterations
• Stresses code over product design
• It is not ideal if developers are not in the same location
Strengths and Weaknesses of eXtreme
Programming
katokjugu@gmail.com
24. • What Is RUP?
• Rational Unified Process (RUP) is an agile software development methodology.
• RUP splits the project life cycle into four phases. During each of the phases, all six core development
disciplines take place: business modelling, requirements, analysis and design, implementation, testing, and
deployment. However, certain processes are more important and take up more time during every stage.
For example, business modelling mostly takes place during the early phases, inception and elaboration.
Each of four phases has the main objective, which has to be completed before the project can progress
to the next phase.
• The main goal of RUP is to create high quality software with a predictable budget and time frame. Each
of the life cycle phases can be repeated, if needed, until the main objectives are met. Once the transition
stage is completed successfully, the project is finished.
Rational Unified Process (RUP)
katokjugu@gmail.com
25. • RUP’s strengths include:
• It allows you to deal with changing requirements regardless of whether they are coming from the customer or from
the project itself.
• It emphasizes the need for accurate documentation.
• It forces integration to happen throughout the software development, more specifically in the construction phase.
• RUP’s Weakness include:
• It mostly relies on the ability of experts and professionals to assign the activities to individuals who should then
produce pre-planned results in the form of artefacts.
• The integration in development process can also have an adverse impact on some more fundamental activities during
the stages of testing
• Although RUP has delivered excellent results, especially in software development, it is a rather complex method which
makes its implementation challenging, particularly for smaller businesses, teams or projects.
Strengths and Weaknesses of Rational Unified Process
(RUP)
katokjugu@gmail.com
26. • RUP Example
• Pear, Inc. is a software development company, specializing in mobile phone applications.They are currently working on a new productivity
enhancing application, called Get A Kitten, rewarding you with a cute picture of a kitten for every completed task from your to-do list. Pear, Inc.
uses RUP as their development framework.
Let's look at activities that Pear, Inc. team must complete during each of the phases.
• 1. Inception
During the inception phase, the initial evaluation is carried out to scope the system and determine whether the project is worth pursuing.A
business case is created by Pear, Inc., detailing the pricing model for Get A Kitten app and estimating development costs and schedule.An
agreement on project scope is reached with all stakeholders. Some of the features may be de-scoped to reduce the development time and
costs. For example, a to-do list originally supported three different task types, but will now support only one task time.
• 2. Elaboration
During the elaboration, more detailed evaluation is carried out, a development plan is created, and key risks are mitigated.The Pear, Inc. team
writes 80% of all use cases, creates the system architecture, and a development plan.
Rational Unified Process (RUP)
katokjugu@gmail.com
27. • 2. Elaboration
During the elaboration, more detailed evaluation is carried out, a development plan is created, and key risks are mitigated.
The Pear, Inc. team writes 80% of all use cases, creates the system architecture, and a development plan.
• 3. Construction
During construction, the software system is created; the code is written and tested.A dedicated team of Pear, Inc. software
developers is working on a project.A team of QA is testing the resulting software.The key output of this phase is
operational software.
• 4.Transition
During transition phase, the software is released to the end user. Pear, Inc. uploads Get A Kitten app to AppStore. Once the
application is accepted, the project is formally closed.
Rational Unified Process (RUP)
katokjugu@gmail.com
28. • Many factors may influence which framework you choose to work with. Such as:
• Company size
• Team structure
• Available resources
• Needs of stakeholders
• Structure/size of your product portfolio
SUMMERY:
katokjugu@gmail.com