This document discusses agile software development methods. It covers topics like extreme programming (XP), which takes an iterative approach with new versions built daily or weekly. XP emphasizes customer involvement, pair programming, collective code ownership, and test-driven development. The document also discusses Scrum, an agile project management framework that uses short "sprints" to iteratively develop software in increments. Each sprint involves selecting stories, implementing the code as a team, and then reviewing the completed increment with customers.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
The Many approaches and methodologies are available in the development of software with error free to its end user by fulfilling the values of stake-holders. Among the available methodologies Agile is a popular methodology which is introduced in 2001. Agile consists of various development processes such as Scrum, XP, Kanban, Lean and others. Among them Lean is one of the methodology in development of software domain which is adapted from Toyota Production System. This paper concentrates on how Lean sustains in the business stagnation because there exists some problems such as missing deadline, over development and ineffective management. Lean is having its own advantages and pitfalls. To overcome the pitfalls of Lean an adaptive approach is needed which may fit with existing industry standards.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
International Journal of Computational Engineering Research(IJCER)ijceronline
International Journal of Computational Engineering Research(IJCER) is an intentional online Journal in English monthly publishing journal. This Journal publish original research work that contributes significantly to further the scientific knowledge in engineering and Technology
The Many approaches and methodologies are available in the development of software with error free to its end user by fulfilling the values of stake-holders. Among the available methodologies Agile is a popular methodology which is introduced in 2001. Agile consists of various development processes such as Scrum, XP, Kanban, Lean and others. Among them Lean is one of the methodology in development of software domain which is adapted from Toyota Production System. This paper concentrates on how Lean sustains in the business stagnation because there exists some problems such as missing deadline, over development and ineffective management. Lean is having its own advantages and pitfalls. To overcome the pitfalls of Lean an adaptive approach is needed which may fit with existing industry standards.
Explore the innovative world of trenchless pipe repair with our comprehensive guide, "The Benefits and Techniques of Trenchless Pipe Repair." This document delves into the modern methods of repairing underground pipes without the need for extensive excavation, highlighting the numerous advantages and the latest techniques used in the industry.
Learn about the cost savings, reduced environmental impact, and minimal disruption associated with trenchless technology. Discover detailed explanations of popular techniques such as pipe bursting, cured-in-place pipe (CIPP) lining, and directional drilling. Understand how these methods can be applied to various types of infrastructure, from residential plumbing to large-scale municipal systems.
Ideal for homeowners, contractors, engineers, and anyone interested in modern plumbing solutions, this guide provides valuable insights into why trenchless pipe repair is becoming the preferred choice for pipe rehabilitation. Stay informed about the latest advancements and best practices in the field.
Vaccine management system project report documentation..pdfKamal Acharya
The Division of Vaccine and Immunization is facing increasing difficulty monitoring vaccines and other commodities distribution once they have been distributed from the national stores. With the introduction of new vaccines, more challenges have been anticipated with this additions posing serious threat to the already over strained vaccine supply chain system in Kenya.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
Presented at NUS: Fuzzing and Software Security Summer School 2024
This keynote talks about the democratization of fuzzing at scale, highlighting the collaboration between open source communities, academia, and industry to advance the field of fuzzing. It delves into the history of fuzzing, the development of scalable fuzzing platforms, and the empowerment of community-driven research. The talk will further discuss recent advancements leveraging AI/ML and offer insights into the future evolution of the fuzzing landscape.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
Maintaining high-quality standards in the production of TMT bars is crucial for ensuring structural integrity in construction. Addressing common defects through careful monitoring, standardized processes, and advanced technology can significantly improve the quality of TMT bars. Continuous training and adherence to quality control measures will also play a pivotal role in minimizing these defects.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
1. Chapter 3 – Agile Software Development
Pepper
modification of Sommerville presentation
& Colm O’hEocha – AgileInnovation Ltd presentation
1
Chapter 3 Agile software development
2. Topics covered
Agile methods
Plan-driven and agile development
Extreme programming
Agile project management
Scaling agile methods
2
Chapter 3 Agile software development
3. Rapid software development
Why?
Need to react to changes more quickly than 2 year long waterfall projects
2 years and then you got the design wrong anyway! Small deliveries
aren't abstract
How?
Goal - Deliver working software quickly
• Compromise - less functionality in a delivery, not lower quality
• Less documentation
Focus on the code rather than the design
Interleave
• Specification, design and implementation are inter-leaved
Deliver small versions and get user (stakeholder) input
3
Chapter 3 Agile software development
5. Agile manifesto
Our values:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
Chapter 3 Agile software development 5
6. Plan-driven and agile specification
6
Chapter 3 Agile software development
separate
development
stages with
the outputs to
be produced
at each of
these stages
planned in
advance.
Not
necessarily
waterfall
model – plan-
driven,
incremental
development
is possible
Iteration within stage
Iteration of stage
User's full
agreement at
end, not before
code
8. Problems with agile methods
It can be difficult to keep the interest of customers / users who are involved
in the process.
Team members may be unsuited to the intense involvement that
characterizes agile methods.
Prioritizing changes can be difficult where there are multiple stakeholders.
Maintaining simplicity requires extra work.
Contracts may be a problem as with other approaches to iterative
development.
Because of their focus on small, tightly-integrated teams, there are
problems in scaling agile methods to large systems.
Less emphasis on documentation - harder to maintain when you get a new
team for maintenance
8
Chapter 3 Agile software development
9. Balance plan driven and agile
Not great for Agile:
What type of system is being developed?
• Plan-driven approaches may be required for systems that require a lot of analysis before
implementation (e.g. real-time system with complex timing requirements).
What is the expected system lifetime?
• Long-lifetime systems may require more design documentation to communicate the
original intentions of the system developers to the support team.
What technologies are available to support system development?
• Agile methods rely on good tools to keep track of an evolving design
How is the development team organized?
• Many teams; Outsourcing ---> need design documents to control borders
Culture or contract needs detailed specification
Is rapid feedback from users realistic?
Large scale, not co-located may require more formal communication methods
Need high level programming skills - refactoring, work with little spec
Outside regulation documentation requirements
9
Chapter 3 Agile software development
10. Extreme programming
A popular form of Agile
Extreme Programming (XP) takes an ‘extreme’ approach to iterative
development.
New versions may be built several times per day;
Increments are delivered to customers every 2 weeks;
All tests must be run for every build and the build is only accepted if tests run
successfully.
Customer involvement means full-time customer engagement with the
team. - Specifications through user stories broken into tasks
People not process : pair programming, collective ownership and a process
that avoids long working hours.
Regular system releases. - release set of user stories
Maintaining simplicity through constant refactoring of code.
10
Chapter 3 Agile software development
12. The Parts and the Whole
Controller
Inspect
Set Target Adapt
• Clean Design & Code & Refactor
• User Stories - Late Elaboration
• Shared Code Ownership
• Test Driven Development…..
• Iteration Plan
• Daily Stand-Up
• Pair Programming
• Customer Reviews &
Feedback
• Retrospectives
• AutoTest…..
Sustainable pace
Collective Ownership with users
Minimal documentation for sprint
16. Examples of task cards for prescribing
medication
16
Chapter 3 Agile software development
17.
18. Refactoring
Programming team look for possible software improvements and
make these improvements even where there is no immediate need
for them.
This improves the understandability of the software and so reduces
the need for documentation.
Changes are easier to make because the code is well-structured
and clear.
However, some changes requires architecture refactoring and this is
much more expensive.
RISK:
Changes the user does not test
Changes to working software break it
Chapter 3 Agile software development 18
19. Examples of refactoring
Re-organization of a class hierarchy to remove duplicate
code.
Tidying up and renaming attributes and methods to make
them easier to understand.
The replacement of inline code with calls to methods that
have been included in a program library.
Chapter 3 Agile software development 19
21. Test automation
Automate tests (junit)
Run upon checkin
Difficulties:
Time constraints
Programmer preferences to not test
Test coverage
Chapter 3 Agile software development 21
22. Pair programming
In XP, programmers work in pairs, sitting together to
develop code.
Common ownership
Knowledge spread
Informal review
Refactoring
Similar output to two people coding
22
Chapter 3 Agile software development
23. Scrum
Project Manager's job: - Deliver needed system on time
within budget
The Scrum approach - manage the iterations
There are three phases in Scrum.
outline planning phase - general picture and architecture
Sprint cycles releasing increments of the system.
The project closure phase - final delivery, documentation and
review of lessons learned.
Chapter 3 Agile software development 23
25. The Sprint cycle
Every 2–4 weeks (a fixed length).
1) Project team with customer: Look at product backlog -
select stories to implement
2) implement with all customer communication through
scrum master (protecting pgmr at this point)
Scrum master has project manager role during sprint
Daily 15 min meetings
Stand up often
Team presents progress and impediments
Scrum master tasked with removing impediments
3) Review system release with user
25
Chapter 3 Agile software development
26. Scrum benefits
The product is broken down into a set of manageable
and understandable chunks.
Unstable requirements do not hold up progress.
The whole team have visibility of everything and
consequently team communication is improved.
Customers see on-time delivery of increments and gain
feedback on how the product works.
Trust between customers and developers is established
and a positive culture is created in which everyone
expects the project to succeed.
Chapter 3 Agile software development 26
27. Summary
Plan Driven (Ex: Waterfall) vs Incremental (Ex: Agile )
Structure and benefits and downfalls
XP - an implementation of Agile - Power to the Programmer
User story requirements
Test driven design with continual retest and integration
Pair Programming
Refactoring encouraged
Scrum - project management of Agile using sprints
Iterations of full team contact / Scrum master protection of
programmers / full team release review
27
Chapter 3 Agile software development