SlideShare a Scribd company logo
1 of 28
Download to read offline
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
• 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
Agile Framework
katokjugu@gmail.com
• 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
• 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
SCRUM
katokjugu@gmail.com
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
• 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
• 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
• 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
• 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
• 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
• 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
Lean Software Development
katokjugu@gmail.com
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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

More Related Content

Similar to Software Dev Techniques.pdf

Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life CycleUTKARSHSRIVASTAVA235
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Project Management Methodologies Orangescrum Tutorial
Project Management Methodologies Orangescrum TutorialProject Management Methodologies Orangescrum Tutorial
Project Management Methodologies Orangescrum TutorialOrangescrum
 
An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Skygirabrent
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshellHieu Tran
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Muhammad Ahmed
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 

Similar to Software Dev Techniques.pdf (20)

Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Project Management Methodologies Orangescrum Tutorial
Project Management Methodologies Orangescrum TutorialProject Management Methodologies Orangescrum Tutorial
Project Management Methodologies Orangescrum Tutorial
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 
An Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel SkyAn Agile Overview @ ShoreTel Sky
An Agile Overview @ ShoreTel Sky
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)Software Development Process Models (SCRUM Methodology)
Software Development Process Models (SCRUM Methodology)
 
Agile
AgileAgile
Agile
 
Agile tutorial
Agile tutorialAgile tutorial
Agile tutorial
 
Agile management.pptx
Agile management.pptxAgile management.pptx
Agile management.pptx
 
Scrum basics
Scrum basicsScrum basics
Scrum basics
 
sdlc life cycle
sdlc life cyclesdlc life cycle
sdlc life cycle
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
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