Code clones (duplicates) is one of the most painful enemies of clean code. Teams transitioning to Agile find it very hectic to chase code clones and fix scattered chunks of unstructured business logic.
We know that software is important to our lives. Today, software was applied to diverse applications, but there are still many problems. Software Engineering was established to find solutions to various problems. About Software Development I expect that this presentation will be the one that keeps pushing, as a starting point or inspires you to interested in learning further about software engineering.
According to my previous slide share, Introduction to software engineering, http://www.slideshare.net/ssuser45a683/introduction-to-software-engineering-48462625. I would like to expand further in part of software testing.
Software testing is vital, no less than software development. It can be said that software testing should be the same level as software development.
The content of this slide will discuss the meaning of software testing. The importance of software and concepts of software testing.
My presentation slides my workshop at Agile Middle East summit 2016.
Description: Kanban is a famous lean technique for managing software projects. Actually, it's being used to manage so many types of projects even outside the software domain because of its simplicity and effectiveness. In Software, it's becoming a very famous counterpart to Scrum. Many teams starts with Kanban right away, and keep some practices from Scrum. Others, on the other side, start from Scrum, and move slowly to Kanban.
In this dynamic workshop, we will learn and practice Kanban. We will use the getKanban opensource toolkit v2.0, which is a simulation game for managing a project from start to end using a real Kanban board and related charts and metrics. It will be fun, and full of learning at the same time.
This presentations answers the question of why your company needs to work agile .
to be able to cope with changing markets and grow through organizational learning to explore new markets
We know that software is important to our lives. Today, software was applied to diverse applications, but there are still many problems. Software Engineering was established to find solutions to various problems. About Software Development I expect that this presentation will be the one that keeps pushing, as a starting point or inspires you to interested in learning further about software engineering.
According to my previous slide share, Introduction to software engineering, http://www.slideshare.net/ssuser45a683/introduction-to-software-engineering-48462625. I would like to expand further in part of software testing.
Software testing is vital, no less than software development. It can be said that software testing should be the same level as software development.
The content of this slide will discuss the meaning of software testing. The importance of software and concepts of software testing.
My presentation slides my workshop at Agile Middle East summit 2016.
Description: Kanban is a famous lean technique for managing software projects. Actually, it's being used to manage so many types of projects even outside the software domain because of its simplicity and effectiveness. In Software, it's becoming a very famous counterpart to Scrum. Many teams starts with Kanban right away, and keep some practices from Scrum. Others, on the other side, start from Scrum, and move slowly to Kanban.
In this dynamic workshop, we will learn and practice Kanban. We will use the getKanban opensource toolkit v2.0, which is a simulation game for managing a project from start to end using a real Kanban board and related charts and metrics. It will be fun, and full of learning at the same time.
This presentations answers the question of why your company needs to work agile .
to be able to cope with changing markets and grow through organizational learning to explore new markets
You Build It, You Secure It: Introduction to DevSecOpsSumo Logic
In this presentation, DevOps and DevSecOps expert John Willis dives into how to implement DevSecOps, including:
- Why traditional DevOps has shifted and what this shift means
- How DevSecOps can change the game for your team
- Tips and tricks for getting DevSecOps started within your organization
DevSecOps - It can change your life (cycle)Qualitest
QualiTest explains how a secured DevOps (DevSecOps) delivery process can be achieved using automated code scan, enabling significant shift left of issues detection and minimizing the time to fix. Whether you are considering DevSecOps, on the path, or already there, this slide is for you.
For more information, please visit www.QualiTestGroup.com
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...Gene Kim
Mirco Hering, Agile & DevOps Lead, Accenture
Systems of record are often seen as especially difficult to deal with in regards to Agile adoption and DevOps practices. But is that a reason to avoid them? Unfortunately often people don’t talk about the messy work that is required to make these systems work in an Agile environment, it looks so much cleaner with web applications or your custom Java application. Let’s get our hands dirty together in this talk.
I will show you that once you drill open the COTS and Enterprise systems you will be surprised to find common ground, that allows you to deal with these systems in a very similar way to your custom development applications. I work with enterprise grade applications (for example Siebel, Mainframe) all the time and I want to share with you what you can do to make your COTS and Enterprise systems work better in an Agile environment. I provide tangible examples from Siebel and Mainframe to illustrate how you can solve some of the problems and will also share some of the areas that I have failed in so far.
Leveraging AI and ML in Test Management Systems - DevOps NextPerfecto by Perforce
AI and ML can be utilized to improve test management and quality, and the impact of changes from design into production. Learn about the various stages of software development life cycle from planning and design, through coding and testing, and shows how AI and ML can benefit these stages from within a test management system.
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
Dr. Fahim Arif who is the Director R&D at MCS, principal investigator and GHQ authorized consultant for Nexsource Pak (Pvt) Ltd) discussed the capability of building cyber defense in the Data Protection and Cyber Security event that was hosted recently by Maven Logix. In his session he gave the audience valuable information about the life cycle of a cyber-threat discussing what and how to take measures by performing formal code reviews, code inspections. He discussed essential elements of code review, paired programming and alternatives to treat and tackle cyber-threat
Enhancing Developer Productivity with Code ForensicsTechWell
Imagine an engineering system that could evaluate developer performance, recognize rushed check-ins, and use that data to speed up development. “Congratulations Jane. You know this code well. No check-in test gate for you.” Anthony Voellm shares how behavioral analysis and developer assessments can be applied to improve productivity. This approach was motivated by today's test systems, tools, and processes that are all designed around the premise that “all developers are created equal.” Studies have shown developer error rates can vary widely and have a number of root causes—the mindset of the developer at the time the code was written, experience level, amount of code in a check-in, complexity of the code, and much more. With Digital Code Forensics, a set of metrics that can evaluate developers, Anthony demonstrates how even modest applications of this approach can speed up development. Discover and use the cutting edge of engineering productivity.
How do organizations build secure applications, given today's rapidly moving and evolving DevOps practices? Join Black Duck and our customer experts on best practices for application security in DevOps.
You’ll learn:
-New security challenges facing today’s popular DevOps and Continuous Integration (CI) practices, including managing custom code and open source risks with containers and traditional environments
-Best practices for designing and incorporating an automated approach to application security into your existing development environment
-Future development and application security challenges organizations will face and what they can do to prepare
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
The Digital Transformation is real. It is having a profound effect on how business is done and the nature of the systems required to deliver productive customer experiences and consequent business benefits. The demand for flexible and rapid delivery of software and systems is there. Software development teams can deliver if they adopt the disciplines of Continuous Delivery, DevOps and in-production experimentation. The barrier to achieving success in the software delivery process is likely to be the inability of testers to align testing and automated testing in particular to the development processes. Our track record in test automation is not good enough. In order to succeed a new way of thinking about testing is required, and the New Model of Testing offers a way of identifying the elements of the test process that must be ‘shifted left’. This does not necessarily mean testers move, but rather that the thinking processes must move.
During this lecture, Paul has shown that it is possible that users, BAs, and developers take some responsibility in this area. The New Model applies to all testing, whether performed in development, integration, system or user testing, by people or tools.
Software testing tools are evolving. More testing frameworks are emerging through the open source community and commercial vendors. In addition, we’re starting to see the rise of machine-learning (ML) and artificial intelligence (AI) in testing solutions.
Given this evolution, it is important to map the tools that match both the practitioners’ skills and their testing types. When referring to the testing practitioners, we mainly look at three different personas:
-The business tester
-The software developer in test (SDET)
-The software developer
These practitioners are tasked with creating, maintaining, and executing unit tests, build acceptance tests, integration, regression, and other nonfunctional tests.
In this webinar led by Perfecto’s Chief Evangelist, Eran Kinsbruner, you will learn the following:
-How should testing types be dispersed among the three personas and throughout the DevOps pipeline?
-What tools should each of these three personas use for the creation and execution of tests?
-What are the key benefits to continuous testing when mapped correctly?
Some of the most famous information breaches over the past few years have been a result of entry through embedded and IoT system environments. Often these breaches are a result of unexpected system architecture and service connectivity on the network that allows the hacker to enter through an embedded device and make their way to the financial or corporate servers. Experts in embedded security discuss key security issues for embedded systems and how to address them.
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.
You Build It, You Secure It: Introduction to DevSecOpsSumo Logic
In this presentation, DevOps and DevSecOps expert John Willis dives into how to implement DevSecOps, including:
- Why traditional DevOps has shifted and what this shift means
- How DevSecOps can change the game for your team
- Tips and tricks for getting DevSecOps started within your organization
DevSecOps - It can change your life (cycle)Qualitest
QualiTest explains how a secured DevOps (DevSecOps) delivery process can be achieved using automated code scan, enabling significant shift left of issues detection and minimizing the time to fix. Whether you are considering DevSecOps, on the path, or already there, this slide is for you.
For more information, please visit www.QualiTestGroup.com
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...Gene Kim
Mirco Hering, Agile & DevOps Lead, Accenture
Systems of record are often seen as especially difficult to deal with in regards to Agile adoption and DevOps practices. But is that a reason to avoid them? Unfortunately often people don’t talk about the messy work that is required to make these systems work in an Agile environment, it looks so much cleaner with web applications or your custom Java application. Let’s get our hands dirty together in this talk.
I will show you that once you drill open the COTS and Enterprise systems you will be surprised to find common ground, that allows you to deal with these systems in a very similar way to your custom development applications. I work with enterprise grade applications (for example Siebel, Mainframe) all the time and I want to share with you what you can do to make your COTS and Enterprise systems work better in an Agile environment. I provide tangible examples from Siebel and Mainframe to illustrate how you can solve some of the problems and will also share some of the areas that I have failed in so far.
Leveraging AI and ML in Test Management Systems - DevOps NextPerfecto by Perforce
AI and ML can be utilized to improve test management and quality, and the impact of changes from design into production. Learn about the various stages of software development life cycle from planning and design, through coding and testing, and shows how AI and ML can benefit these stages from within a test management system.
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
Dr. Fahim Arif who is the Director R&D at MCS, principal investigator and GHQ authorized consultant for Nexsource Pak (Pvt) Ltd) discussed the capability of building cyber defense in the Data Protection and Cyber Security event that was hosted recently by Maven Logix. In his session he gave the audience valuable information about the life cycle of a cyber-threat discussing what and how to take measures by performing formal code reviews, code inspections. He discussed essential elements of code review, paired programming and alternatives to treat and tackle cyber-threat
Enhancing Developer Productivity with Code ForensicsTechWell
Imagine an engineering system that could evaluate developer performance, recognize rushed check-ins, and use that data to speed up development. “Congratulations Jane. You know this code well. No check-in test gate for you.” Anthony Voellm shares how behavioral analysis and developer assessments can be applied to improve productivity. This approach was motivated by today's test systems, tools, and processes that are all designed around the premise that “all developers are created equal.” Studies have shown developer error rates can vary widely and have a number of root causes—the mindset of the developer at the time the code was written, experience level, amount of code in a check-in, complexity of the code, and much more. With Digital Code Forensics, a set of metrics that can evaluate developers, Anthony demonstrates how even modest applications of this approach can speed up development. Discover and use the cutting edge of engineering productivity.
How do organizations build secure applications, given today's rapidly moving and evolving DevOps practices? Join Black Duck and our customer experts on best practices for application security in DevOps.
You’ll learn:
-New security challenges facing today’s popular DevOps and Continuous Integration (CI) practices, including managing custom code and open source risks with containers and traditional environments
-Best practices for designing and incorporating an automated approach to application security into your existing development environment
-Future development and application security challenges organizations will face and what they can do to prepare
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
The Digital Transformation is real. It is having a profound effect on how business is done and the nature of the systems required to deliver productive customer experiences and consequent business benefits. The demand for flexible and rapid delivery of software and systems is there. Software development teams can deliver if they adopt the disciplines of Continuous Delivery, DevOps and in-production experimentation. The barrier to achieving success in the software delivery process is likely to be the inability of testers to align testing and automated testing in particular to the development processes. Our track record in test automation is not good enough. In order to succeed a new way of thinking about testing is required, and the New Model of Testing offers a way of identifying the elements of the test process that must be ‘shifted left’. This does not necessarily mean testers move, but rather that the thinking processes must move.
During this lecture, Paul has shown that it is possible that users, BAs, and developers take some responsibility in this area. The New Model applies to all testing, whether performed in development, integration, system or user testing, by people or tools.
Software testing tools are evolving. More testing frameworks are emerging through the open source community and commercial vendors. In addition, we’re starting to see the rise of machine-learning (ML) and artificial intelligence (AI) in testing solutions.
Given this evolution, it is important to map the tools that match both the practitioners’ skills and their testing types. When referring to the testing practitioners, we mainly look at three different personas:
-The business tester
-The software developer in test (SDET)
-The software developer
These practitioners are tasked with creating, maintaining, and executing unit tests, build acceptance tests, integration, regression, and other nonfunctional tests.
In this webinar led by Perfecto’s Chief Evangelist, Eran Kinsbruner, you will learn the following:
-How should testing types be dispersed among the three personas and throughout the DevOps pipeline?
-What tools should each of these three personas use for the creation and execution of tests?
-What are the key benefits to continuous testing when mapped correctly?
Some of the most famous information breaches over the past few years have been a result of entry through embedded and IoT system environments. Often these breaches are a result of unexpected system architecture and service connectivity on the network that allows the hacker to enter through an embedded device and make their way to the financial or corporate servers. Experts in embedded security discuss key security issues for embedded systems and how to address them.
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.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
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.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
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.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
2. About Amr
• Agile practitioner, coach, trainer, &
consultant
• Co-Founder of Agile Academy
• SCEA, CSP, 6σ black-belt for IT
• Co-Author of the ‘Process Increments’
method, for software process
improvement
• Initiator of Egypt’s GoAgile program at
2011, a Government initiative to boost
lean & agile software development in
Egypt
• Agile Egypt meetup organizer, the largest
agile community in the Middle East
5. What’s Evil about Dead Code?
Out of the $100
Billion spent on
software in the 90’s,
$70 Billion are spent
on Maintenance
5
Cost of New
Development
30%
Cost of
Maintenance
70%
Reference: Dennis D. Smith, Designing Maintainable Software, Springer, 1999.
6. Cost of
locating bugs
6
60% 40%
Everything else!
Fixing
Testing
Reviews
Integration
Integration & system testing
Deployment
User Acceptance
. . . .
Cost of
Maintenance
7. What’s Evil About
Dead Code?
• Creates noise when
locating bugs
• Extremely easy to
pinpoint and remove:
– 4-7% of the code is
dead
– Removing dead code
removed 10% of
duplicate code as well!
– Removing dead code
takes 1-3 days
Reference:
http://www.agilealliance.org/files/2113/8134/26
17/5076a129.pdf
7
9. Types of Code Clones
• Exact
– Duplicated chunks of code
• Similar
– No added/changed/deleted lines of code
– Renames exists
• Gapped
– Exact or Similar Clones
– One or two lines of code are
added/changed/deleted
13. Dormant Bugs
• 30% of detected bugs are
dormant*
• You don’t know when they
will hit, and what are the
side effects
Ref: An Empirical Study of
Dormant Bugs
Queen’s University, Canada, Rochester Institute
of Technology, USA
14. Code Clones Hard Numbers
Overall, 20%
effort increase
in maintenance
due to code
clones
14
Reference: https://www.cqse.eu/publications/2009-do-code-clones-matter.pdf
System Code
40% Code clones
52% Inconsistent clones
18% faults in system
The driving habits and practices are the same
The car is different, the tool, the apparatus
Notes:
In the quick-wins stage, it is advisable to work in the same order, remove dead code, then code duplicates, then apply coding style
Technical Dept: You have a piece of functionality that you need to add to your system. You see two ways to do it, one is quick to do but is messy - you are sure that it will make further changes harder in the future. The other results in a cleaner design, but will take longer to put in place.
Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice. We can choose to continue paying the interest, or we can pay down the principal by refactoring the quick and dirty design into the better design. Although it costs to pay down the principal, we gain by reduced interest payments in the future.
Technical Dept: You have a piece of functionality that you need to add to your system. You see two ways to do it, one is quick to do but is messy - you are sure that it will make further changes harder in the future. The other results in a cleaner design, but will take longer to put in place.
Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice. We can choose to continue paying the interest, or we can pay down the principal by refactoring the quick and dirty design into the better design. Although it costs to pay down the principal, we gain by reduced interest payments in the future.
Would it make any difference?
60% of time spent on maintenance is consumed in locating the bug
Notes:
In the quick-wins stage, it is advisable to work in the same order, remove dead code, then code duplicates, then apply coding style
Notes:
The effort spent on both releases is the same (4 months each)
The number of bugs increased, but this does not indicate less quality, because it depends on many factors like the complexity of the new feature requests. Anyway, the raise in the number of bugs is not dramatic
The percentage of regression bugs is the very interesting, because it dropped from about 30 to 25%. This drop may not be a strong indication of good quality, but for sure it is an indication that the applied refactorings did not affect the code quality negatively, which is very interesting.
Also, the average bug fixing cost dropped, which may give an indication that code quality is better, or at least the code didn’t go bad due to applied refactorings.
Notes:
In the quick-wins stage, it is advisable to work in the same order, remove dead code, then code duplicates, then apply coding style
Notes:
In the quick-wins stage, it is advisable to work in the same order, remove dead code, then code duplicates, then apply coding style