This document discusses the benefits of testing early and often using agile methods. It begins with background on the author and then discusses challenges with traditional project management approaches. Key benefits of agile testing highlighted include finding defects much earlier, improving productivity, and increasing project success rates. The document provides an overview of agile testing practices and how they improve the testing workflow. It also discusses how agile testing approaches can help control costs and improve overall project quality.
The Rationale for Continuous Delivery by Dave FarleyBosnia Agile
The production of software is a complex, collaborative process that stretches our ability as human beings to cope with its demands.
Many people working in software development spend their careers without seeing what good really looks like.
Our history is littered with inefficient processes creating poor quality output, too late to capitalise on the expected business value. How have we got into this state? How do we get past it? What does good really look like?
Continuous Delivery changes the economics of software development for some of the biggest companies in the world, whatever the nature of their software development, find out how and why.
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Eero Laukkanen
This document discusses a case study of a software organization that was attempting to adopt continuous delivery (CD) practices while using a stage-gate process for managing releases. The study identified several direct signs of dysfunctional CD, including failing builds, flaky tests, low test coverage, and slow feedback. Through workshops, the researchers analyzed the root causes of these issues, many of which related to lack of time due to the stage-gate process and tight schedules. The stage-gate process affected CD adoption by creating branches, time pressure, and limiting the ability to improve practices like testing. Guidelines are proposed based on providing more time and flexibility to support better CD.
HP Software Performance Tour 2014 - Velocity and quality in the age of the cu...HP Enterprise Italia
During the HP Software Performance Tour 2014 Riccardo Sanna, HP ADM Practice Manager, explained the importance of continuous delivery to ensure better business performance.
This document provides an introduction and overview for a course on test engineering foundations. It outlines the topics that will be covered in the course, including fundamentals of testing, testing throughout the software lifecycle, static and dynamic testing techniques, test management, and tool support for testing. It also describes the course materials, exercises and objectives. The goal is to help participants become more effective test professionals and obtain certification from the International Software Testing Qualifications Board.
Why is TDD so hard for Data Engineering and Analytics Projects?Phil Watt
This slide show describes the difficulties in implementing Test-Driven Development (TDD) in the context of analytics and data engineering in development and maintenance phases. If we assumes that the objective of TDD is to reduce cycle time, improve developer productivity and improve production quality. It identifies 7 challenges from the analytics literature and a further 10 from interviews (n=14) and survey respondents (n=20) selected from analytics leaders. A key theme emerging as an output is that many of the challenges can be addressed through education and coaching, notably around data literacy for key stakeholders and executives
- Software engineering is extremely complex and expensive work, with large software systems costing more than buildings and often having high failure rates.
- The two main factors that cause "runaway" software projects that exceed budgets and schedules are poor estimation done too early and unstable requirements that change frequently.
- Programmers are often given impossible tasks with too much work and not enough time, leading them to produce workarounds and quick fixes rather than well-designed solutions.
Beyond DevOps: Finding Value through RequirementsGail Murphy
DevOps practices have enabled faster delivery of software features. However, there remains a gap in consistently tracking how features connect to customer and organizational value. Requirements engineering needs to play a key role in identifying and linking features to value, as well as tracking value delivery and reassessing features over time. This will allow organizations to focus on delivering value rather than just features through their software development processes.
The Rationale for Continuous Delivery by Dave FarleyBosnia Agile
The production of software is a complex, collaborative process that stretches our ability as human beings to cope with its demands.
Many people working in software development spend their careers without seeing what good really looks like.
Our history is littered with inefficient processes creating poor quality output, too late to capitalise on the expected business value. How have we got into this state? How do we get past it? What does good really look like?
Continuous Delivery changes the economics of software development for some of the biggest companies in the world, whatever the nature of their software development, find out how and why.
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Eero Laukkanen
This document discusses a case study of a software organization that was attempting to adopt continuous delivery (CD) practices while using a stage-gate process for managing releases. The study identified several direct signs of dysfunctional CD, including failing builds, flaky tests, low test coverage, and slow feedback. Through workshops, the researchers analyzed the root causes of these issues, many of which related to lack of time due to the stage-gate process and tight schedules. The stage-gate process affected CD adoption by creating branches, time pressure, and limiting the ability to improve practices like testing. Guidelines are proposed based on providing more time and flexibility to support better CD.
HP Software Performance Tour 2014 - Velocity and quality in the age of the cu...HP Enterprise Italia
During the HP Software Performance Tour 2014 Riccardo Sanna, HP ADM Practice Manager, explained the importance of continuous delivery to ensure better business performance.
This document provides an introduction and overview for a course on test engineering foundations. It outlines the topics that will be covered in the course, including fundamentals of testing, testing throughout the software lifecycle, static and dynamic testing techniques, test management, and tool support for testing. It also describes the course materials, exercises and objectives. The goal is to help participants become more effective test professionals and obtain certification from the International Software Testing Qualifications Board.
Why is TDD so hard for Data Engineering and Analytics Projects?Phil Watt
This slide show describes the difficulties in implementing Test-Driven Development (TDD) in the context of analytics and data engineering in development and maintenance phases. If we assumes that the objective of TDD is to reduce cycle time, improve developer productivity and improve production quality. It identifies 7 challenges from the analytics literature and a further 10 from interviews (n=14) and survey respondents (n=20) selected from analytics leaders. A key theme emerging as an output is that many of the challenges can be addressed through education and coaching, notably around data literacy for key stakeholders and executives
- Software engineering is extremely complex and expensive work, with large software systems costing more than buildings and often having high failure rates.
- The two main factors that cause "runaway" software projects that exceed budgets and schedules are poor estimation done too early and unstable requirements that change frequently.
- Programmers are often given impossible tasks with too much work and not enough time, leading them to produce workarounds and quick fixes rather than well-designed solutions.
Beyond DevOps: Finding Value through RequirementsGail Murphy
DevOps practices have enabled faster delivery of software features. However, there remains a gap in consistently tracking how features connect to customer and organizational value. Requirements engineering needs to play a key role in identifying and linking features to value, as well as tracking value delivery and reassessing features over time. This will allow organizations to focus on delivering value rather than just features through their software development processes.
YuryMakedonov_SavingRunawayProject_DKL_2005_07Yury M
This document describes how a failing software project was turned around using agile principles. The project originally followed a waterfall approach but failed to deliver what users wanted. It was restarted using iterative development, active user involvement in testing and requirements development, co-location of team members, and oversight from a change control board including the project sponsor. These agile practices allowed the project to be delivered in increments that met user needs.
Towards Mining Software Repositories Research that MattersTao Xie
- The document discusses challenges in achieving real-world impact from machine learning and software engineering research. It notes research may take 15-20 years from publication to widespread adoption in products.
- It provides examples of successful research with later impact, such as the LLVM compiler framework developed at the University of Illinois.
- For university groups, it suggests balancing producing high-quality research with training students, focusing on problems that matter now or in the future, collaborating with industry, and occasionally achieving unexpected impacts like the Whyper system. Starting a spin-off company is also discussed.
Farid Vaswani has over 12 years of experience in IT, including 7 years in software testing and 4 years in lead/management positions. He currently works as a Testing Manager at the University of Auckland, overseeing a team of 8-20 testers responsible for testing over 35 applications and 95 integration items. In this role, he is responsible for all aspects of testing, including functional, integration, performance, security and disaster recovery testing. He also serves as an Associate Board Member for the ANZ Testing Board, where he works to enhance career opportunities for testing professionals.
The document discusses how agile methods can and should be applied to software maintenance, not just development. It provides several examples and studies that show how agile practices like Extreme Programming (XP) improve maintenance by reducing costs and issues while improving quality, compared to traditional waterfall methods. Open source software development is also discussed as a natural fit for agile maintenance practices.
Top Software Engineering & Applications Research articles of 2019ijseajournal
The International Journal of Software Engineering & Applications (IJSEA) is a bi-monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the Software Engineering & Applications. The goal of this journal is to bring together researchers and practitioners from academia and industry to focus on understanding Modern software engineering concepts & establishing new collaborations in these areas.
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]Yuriy Tymchuk
This document discusses treating code quality as a first-class entity when developing software tools. It suggests that tools need a model that allows for smart quality rules that can aid in issue resolution, allows rules to be adapted for specific scopes like projects or teams, and is aware of software lifecycles and dependencies between projects. The document examines how tools could help with issues like reducing noise from rules, enhancing deprecation of APIs with rules, handling conflicts between rules for dependent projects, and determining the importance and cost of resolving issues over time.
The presentation provides an overview of peer review, including:
1) Key principles of peer review such as having peers find errors early, training the team on the process, and reviewing work products at every stage of development.
2) Details on preparing for peer reviews, such as putting reviews on the project schedule, preparing checklists, and addressing resistance to the process.
3) Practices for conducting peer reviews like using a standard process, documenting reviews, and measuring defects found to prove the benefit of peer reviews.
- A bug or defect is the result of an error or mistake that leads to a run-time problem experienced by a user.
- The effect of testing is to give an indication of software quality and enable those responsible for failures to be identified.
- Retesting involves running the same test again in the same circumstances to reproduce a problem and see if it is solved in new software.
This pdf file contains the slide from the first webinar in a "A Guide for Management: Successfully Applying Laboratory Systems to Your Organization’s Work…Part 1". This is the first in a series of webinars on lab informatics
Implications of Open Source Software Use (or Let's Talk Open Source)Gail Murphy
A talk given to the UBC Computer Science Alumni group discussing a number of implications of the use of open source as part of the global software supply chain.
Communication and Testing: Why You Have Been Wrong All Along!TechWell
This document outlines Joel Montvelisky's presentation on communication and testing. It discusses how communication is typically handled in testing by simply providing status updates and reports, but fails to align with goals. The presentation introduces a four level model of testing communication: over-the-wall, learning, research, and constructive. Over-the-wall communication examples include bug reports and test results, with the objective of helping stakeholders make tactical decisions. The model aims to improve alignment of communication with goals at different levels.
The document summarizes the results of an online survey of 76 rule-based system developers. It discusses the tools, methodologies, challenges, and comparisons to other programming approaches reported by participants. Key findings included the continued use of text editors for development, debugging challenges, and a lack of academic interest in practical rule-based methodologies.
Testes em ambiente agil - TechTalks ADP LabsElias Nogueira
Apresentação no dia 04/12/2014 no escritório da ADP Labs em Porto Alegre/RS no evento TechTalk sobre Testes em um ambiente ágil.
Em resumo foi apresentado como um testador é inserido em um time e quais as principais atividades de um tester dentro de um projeto ágil
O documento fornece informações sobre os serviços oferecidos pela empresa Qualister, especializada em testes e qualidade de software. A Qualister oferece terceirização de profissionais de teste, consultoria, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. O documento também fornece detalhes sobre cursos de avaliação de usabilidade ministrados pela Qualister.
A Qualister oferece serviços de qualidade e teste de software, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade e treinamentos. Os serviços incluem automação de testes, testes de performance e inspeção de artefatos. A empresa tem experiência em projetos para grandes empresas de tecnologia.
Tecnicas de projeto design especificacao modelagem de casos de testesCristiano Caetano
O documento apresenta informações sobre a Qualister, uma empresa especializada em serviços de qualidade e teste de software. A Qualister oferece terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, o documento descreve técnicas de projeto de casos de teste, incluindo particionamento em classes de equivalência, análise de valores limítrofes e permutações.
O documento apresenta uma explicação detalhada sobre como trabalhar com requisitos de forma ágil através de técnicas como refinamento de requisitos, user stories e critérios de aceitação. Ele também mostra como aplicar testes automatizados unitários, de integração e de aceitação ao longo do desenvolvimento de uma aplicação web simples de semáforo.
O documento discute níveis de maturidade em automação de testes de software. Apresenta 4 níveis, desde automação acidental sem planejamento até automação formal com medição de métricas e melhoria contínua dos processos.
YuryMakedonov_SavingRunawayProject_DKL_2005_07Yury M
This document describes how a failing software project was turned around using agile principles. The project originally followed a waterfall approach but failed to deliver what users wanted. It was restarted using iterative development, active user involvement in testing and requirements development, co-location of team members, and oversight from a change control board including the project sponsor. These agile practices allowed the project to be delivered in increments that met user needs.
Towards Mining Software Repositories Research that MattersTao Xie
- The document discusses challenges in achieving real-world impact from machine learning and software engineering research. It notes research may take 15-20 years from publication to widespread adoption in products.
- It provides examples of successful research with later impact, such as the LLVM compiler framework developed at the University of Illinois.
- For university groups, it suggests balancing producing high-quality research with training students, focusing on problems that matter now or in the future, collaborating with industry, and occasionally achieving unexpected impacts like the Whyper system. Starting a spin-off company is also discussed.
Farid Vaswani has over 12 years of experience in IT, including 7 years in software testing and 4 years in lead/management positions. He currently works as a Testing Manager at the University of Auckland, overseeing a team of 8-20 testers responsible for testing over 35 applications and 95 integration items. In this role, he is responsible for all aspects of testing, including functional, integration, performance, security and disaster recovery testing. He also serves as an Associate Board Member for the ANZ Testing Board, where he works to enhance career opportunities for testing professionals.
The document discusses how agile methods can and should be applied to software maintenance, not just development. It provides several examples and studies that show how agile practices like Extreme Programming (XP) improve maintenance by reducing costs and issues while improving quality, compared to traditional waterfall methods. Open source software development is also discussed as a natural fit for agile maintenance practices.
Top Software Engineering & Applications Research articles of 2019ijseajournal
The International Journal of Software Engineering & Applications (IJSEA) is a bi-monthly open access peer-reviewed journal that publishes articles which contribute new results in all areas of the Software Engineering & Applications. The goal of this journal is to bring together researchers and practitioners from academia and industry to focus on understanding Modern software engineering concepts & establishing new collaborations in these areas.
Treating Code Quality as a First Class Entity (icsme15) [doc. symposium]Yuriy Tymchuk
This document discusses treating code quality as a first-class entity when developing software tools. It suggests that tools need a model that allows for smart quality rules that can aid in issue resolution, allows rules to be adapted for specific scopes like projects or teams, and is aware of software lifecycles and dependencies between projects. The document examines how tools could help with issues like reducing noise from rules, enhancing deprecation of APIs with rules, handling conflicts between rules for dependent projects, and determining the importance and cost of resolving issues over time.
The presentation provides an overview of peer review, including:
1) Key principles of peer review such as having peers find errors early, training the team on the process, and reviewing work products at every stage of development.
2) Details on preparing for peer reviews, such as putting reviews on the project schedule, preparing checklists, and addressing resistance to the process.
3) Practices for conducting peer reviews like using a standard process, documenting reviews, and measuring defects found to prove the benefit of peer reviews.
- A bug or defect is the result of an error or mistake that leads to a run-time problem experienced by a user.
- The effect of testing is to give an indication of software quality and enable those responsible for failures to be identified.
- Retesting involves running the same test again in the same circumstances to reproduce a problem and see if it is solved in new software.
This pdf file contains the slide from the first webinar in a "A Guide for Management: Successfully Applying Laboratory Systems to Your Organization’s Work…Part 1". This is the first in a series of webinars on lab informatics
Implications of Open Source Software Use (or Let's Talk Open Source)Gail Murphy
A talk given to the UBC Computer Science Alumni group discussing a number of implications of the use of open source as part of the global software supply chain.
Communication and Testing: Why You Have Been Wrong All Along!TechWell
This document outlines Joel Montvelisky's presentation on communication and testing. It discusses how communication is typically handled in testing by simply providing status updates and reports, but fails to align with goals. The presentation introduces a four level model of testing communication: over-the-wall, learning, research, and constructive. Over-the-wall communication examples include bug reports and test results, with the objective of helping stakeholders make tactical decisions. The model aims to improve alignment of communication with goals at different levels.
The document summarizes the results of an online survey of 76 rule-based system developers. It discusses the tools, methodologies, challenges, and comparisons to other programming approaches reported by participants. Key findings included the continued use of text editors for development, debugging challenges, and a lack of academic interest in practical rule-based methodologies.
Testes em ambiente agil - TechTalks ADP LabsElias Nogueira
Apresentação no dia 04/12/2014 no escritório da ADP Labs em Porto Alegre/RS no evento TechTalk sobre Testes em um ambiente ágil.
Em resumo foi apresentado como um testador é inserido em um time e quais as principais atividades de um tester dentro de um projeto ágil
O documento fornece informações sobre os serviços oferecidos pela empresa Qualister, especializada em testes e qualidade de software. A Qualister oferece terceirização de profissionais de teste, consultoria, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. O documento também fornece detalhes sobre cursos de avaliação de usabilidade ministrados pela Qualister.
A Qualister oferece serviços de qualidade e teste de software, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade e treinamentos. Os serviços incluem automação de testes, testes de performance e inspeção de artefatos. A empresa tem experiência em projetos para grandes empresas de tecnologia.
Tecnicas de projeto design especificacao modelagem de casos de testesCristiano Caetano
O documento apresenta informações sobre a Qualister, uma empresa especializada em serviços de qualidade e teste de software. A Qualister oferece terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, o documento descreve técnicas de projeto de casos de teste, incluindo particionamento em classes de equivalência, análise de valores limítrofes e permutações.
O documento apresenta uma explicação detalhada sobre como trabalhar com requisitos de forma ágil através de técnicas como refinamento de requisitos, user stories e critérios de aceitação. Ele também mostra como aplicar testes automatizados unitários, de integração e de aceitação ao longo do desenvolvimento de uma aplicação web simples de semáforo.
O documento discute níveis de maturidade em automação de testes de software. Apresenta 4 níveis, desde automação acidental sem planejamento até automação formal com medição de métricas e melhoria contínua dos processos.
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013Cristiano Caetano
A Qualister oferece serviços de terceirização de profissionais de teste, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. A empresa fornece soluções para testes ágeis, como testes de unidade, integração e interface do usuário, utilizando métodos como TDD, BDD e ferramentas como JBehave e FitNesse.
Este documento apresenta os conceitos e técnicas de testes exploratórios em três frases:
1) Testes exploratórios são testes onde o planejamento, execução, interpretação e aprendizado são realizados de forma iterativa e simultânea pelo mesmo testador, sem seguir um roteiro pré-definido.
2) O teste exploratório baseado em sessões (SBTM) propõe uma abordagem para dar mais visibilidade aos testes exploratórios através da realização de sessões de teste com dura
TDC-2014 Automação de testes para não programadores com selenium e keyword dr...Cristiano Caetano
This document discusses automating tests for non-programmers. It introduces the Selenium and keyword-driven testing approaches, and describes a case study where Qualister used the Suricato keyword-driven library to automate tests for Softplan's UNIC construction industry software. The automation helped detect over 140 defects.
The document discusses optimizing website performance for designers. It begins by explaining how front-end assets like HTML, CSS, JavaScript and images account for 80-90% of page load time. It then discusses common causes of poor performance like too many requests, large file sizes, and too many assets. The rest of the document provides strategies for optimizing assets, such as combining files, minifying code, using CSS sprites for images, and optimizing loading order. The overall goal is reducing page size and number of requests to improve load times.
A apresentação resume os serviços e estratégias de testes da Qualister Consultoria e Treinamento LTDA, incluindo terceirização de profissionais de teste, consultoria, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Apresenta também informações sobre a empresa como sua fundação em 2007, localização em Florianópolis e parcerias internacionais.
O documento fornece informações sobre o mercado de teste de software no Brasil e internacionalmente. Apresenta o palestrante Cristiano Caetano e suas credenciais, além de links para o site da Qualister e perfis nas redes sociais. O mercado de testes no Brasil está crescendo em importância e passando por amadurecimento. Há também links para pesquisas sobre salários na área de testes e sobre a qualidade de software globalmente.
O documento fornece informações sobre os serviços de uma empresa de testes de software chamada Qualister, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, fornece detalhes de contato e links para o site da empresa.
Este documento fornece informações de contato e serviços de uma empresa de consultoria e treinamento em teste e qualidade de software. A empresa oferece terceirização de profissionais de teste, consultoria em teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. O documento também inclui links para o site da empresa, que fornece mais detalhes sobre os serviços e cursos oferecidos.
O documento fornece informações sobre os serviços de uma empresa de testes e qualidade de software chamada Qualister, incluindo terceirização de profissionais, consultoria, treinamentos, testes de segurança, usabilidade e performance. O documento também lista vulnerabilidades comuns em aplicações web e explica brevemente os riscos de segurança na internet.
Mini curso de testes ágeis (agile testing)
Quer realizar esse curso na sua empresa, entre em contato conosco: cristiano.caetano@qualister.com.br
Visite: http://www.qualister.com.br/cursos
Perspectivas do profissional de qualidade e testes de softwareCristiano Caetano
A Qualister é uma empresa brasileira especializada em serviços de qualidade e teste de software. Ela oferece terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Seus contatos são (48) 3285 5615 / 9645 5506 e contato@qualister.com.br.
Análise de Riscos - Estratégia infalível no projeto de testes de softwareGabi Linhares
1) O documento discute estratégias de projeto de testes de software considerando riscos.
2) A análise de riscos é fundamental para alocar recursos de teste de forma adequada e testar o que realmente importa no tempo disponível.
3) As características de qualidade do software e os tipos de testes necessários devem ser definidos baseados nos riscos identificados.
Business Value of Agile Methods: Benefits of Testing Early & OftenDavid Rico
Agile testing involves testing early and often through practices like test-driven development and continuous integration. It provides benefits like faster delivery of value, lower costs, fewer defects, and manageable risk compared to traditional testing approaches. Key aspects of agile testing include automated builds and testing, frequent inspections, generation of reports and documentation, and deployment of working software. Companies like Google have shown how agile testing can be scaled to very large projects with thousands of developers running millions of tests daily.
Business Value of Agile Methods: Its Leadership ConsiderationsDavid Rico
Agile methods provide benefits over traditional approaches such as lower costs, fewer defects, and higher success rates. Studies show that agile projects have lower costs by 61% on average and 93% fewer defects. Agile adoption is widespread, with 80% of organizations using some agile practices. The number of certified scrum masters has doubled in two years, yet there remains a shortage of qualified agile practitioners. Agile is used successfully across many industries, including highly regulated domains.
Business Value of Agile Methods: Using ROI & Real OptionsDavid Rico
The document provides background on agile methods and their business value compared to traditional project management approaches. It discusses how agile methods can help address issues like cost overruns, defects, and project failures seen in many traditional projects. The document summarizes research showing that agile projects have significantly better outcomes in terms of costs, quality, and success rates compared to traditional approaches.
Business Value of Agile Testing: Using TDD, CI, CD, & DevOpsDavid Rico
Presentation on the "Business Value of Agile Testing: Using Test Driven Development, Continuous Integration, Continuous Delivery, & DevOps," which are highly-disciplined contemporary new product development (NPD) approaches for rapidly building high-quality information technology-intensive systems. Identifies the motivation for agile methods, provide a brief introduction to agile methods, describe the fundamental mechanics of agile methods, and a brief survey of the benefits of agile methods as reported by major industry studies (including rarely seen, late-breaking economic data and results from the top consulting firms). Defines agile testing and introduce basic and advanced agile testing practices, strategies, metrics, outcomes, costs & benefits, cost of quality, and statistical performance data. Introduces basic and advanced agile scaling practices, case studies of enterprise-level agile testing, Continuous Delivery, and DevOps at major Internet firms, and common agile testing tools and automation suites. Closes with a summary of agile testing adoption rates, common barriers to agile testing, organizational change models for agile testing, and a summary of the benefits of agile testing.
Lean & Agile Methods & Frameworks: Perspectives on Kanban for ITDavid Rico
This document provides an overview of lean and agile concepts as applied to IT projects, including:
- Lean thinking aims to eliminate waste from processes to maximize value. It originated from Toyota's production system and was later adapted to product development.
- Agile methods deliver working software frequently through short iterations to respond quickly to change. They value individuals, collaboration, and adaptability.
- Lean and agile concepts intersect as agile naturally supports lean principles like small batches and continuous flow. When combined, they aim to deliver maximum value with minimal waste.
Business Value of CI, CD, & DevOpsSec: Scaling to Billion User Systems Using ...David Rico
This is a presentation on the "Business Value of Continuous Integration, Continuous Delivery, & DevOps(Sec): Scaling Up to Billion User Global Systems of Systems Using End-to-End Automation & Containerized Docker Ubuntu Cloud Image-Based Microservices," which are late-breaking 21st century approaches for rapidly and cost-effectively building high-quality global information systems, minimum viable products, minimum marketable features, service oriented architectures, web services, and microservices using containerization and end-to-end automation.
Intro to Agile Methods for Execs, Leaders, and ManagersDavid Rico
Quick, overview of an Introduction to Agile Methods for Business Executives, Technical Leaders, and Systems Developers. Begins with the impetus for using agile vs. traditional methods and techniques, an overview of why traditional projects fail, a definition of agile methods, and a quick overview of its value system, principles, and organizational context. Then, provides a quick survey of major competing lean and agile methods, techniques, paradigms, their evolution, and history. Provides a quick snapshot of the predominant agile methodology Scrum and its major ceremonies. Then, it provides a broad survey of the costs, benefits, return on investment, and business performance of using lean and agile methods at the project, program, portfolio, organization, industry, and national levels. Wraps up with a few high-profile case studies, and a summary of agile project management principles.
Short introduction to key, critical concepts, metrics, models, and measurements with respect to lean thinking, innovation, and development of new products and services ...
ROI & Business Value of CI, CD, DevOps, DevSecOps, & MicroservicesDavid Rico
Comprehensive overview of CI, CD, DevOps, DevSecOps, and Microservices, along with costs, benefits, facts, figures, statistics, models, tools, DevOps ecosystems and pipelines, case studies, and edge cases ...
Workshop BI/DWH AGILE TESTING SNS Bank EnglishMarcus Drost
The workshop focused on improving testing processes for data intensive environments like business intelligence and data warehousing systems. Participants discussed challenges with the traditional waterfall model and benefits of agile/Scrum approaches. Common problems identified included unstable test data, long test runtimes, lack of automation, and pressure on testers. Potential solutions proposed applying agile practices like continuous integration and regression testing, automating test data generation, deployments, and output validation to make testing more efficient and independent of production systems. The workshop aimed to provide insights into both problems with current testing approaches and actions that could be taken to address them.
Comprehensive overview of using Test Driven Development (TDD), Behavior Driven Development (BDD), Continuous Integration (CI), Continuous Delivery (CD), Development Operations (DevOps), and Development Operations Security (DevOpsSec). Describes the current global environment, basic lean and agile principles, and the evolution of Microservices. From there, a detailed deep-dive of TDD, BDD, CI, CD, DevOps, and DevOpsSec principles and practices ensues. Closes by identifying key DevOps tool automation ecosystems/pipelines, metrics, case studies, return on investment (ROI)/business cases, implementation roadmaps, adoption statistics, leadership insights, and a summary. Contains a lot of helpful data for constructing DevOps strategic business cases as well as tactical implementation strategies (while not ignoring essential elements such as microservices, containerization, and application security).
Brief, but descriptive tutorial of the Scaled Agile Framework (SAFe) 4.5. Starts with impetus for agility, overview of lean and agile thinking, definition of portfolio management, explanation of SAFe and its values and principles, etc. Then, provides a level-by-level overview of SAFe, including case studies, metrics, business case, adoption statistics, roles, responsibilities, and other considerations. Closes with a nice summary of key SAFe implementation principles ...
IBM® Rational® Quality Manager is a collaborative, Web-based, quality management tool for comprehensive test planning and test asset management throughout the software lifecycle. It is built on the Jazz™ platform and is designed to be used by test teams of all sizes. It supports a variety of user roles, such as test manager, test architect, test lead, tester, and lab manager, as well as roles outside of the test organization. This article explains how to set up a new project in Rational Quality Manager and reviews several of the basic things that you can do with it in your projects.Strongback Consulting helps organizations get started automated their test environment and improving the quality of the quality management process.
Return on Investment (ROI) of Lean & Agile MethodsDavid Rico
Quick overview of the Return on Investment of (ROI) of using Lean & Agile Methods for managing the development of high-technology products and services. Begins with the impetus for using lean and agile vs. traditional methods and techniques, an overview of why traditional projects fail, a definition of lean and agile methods, and a quick overview of its value system, principles, and organizational context. Then, provides a quick survey of major competing lean and agile methods, techniques, paradigms, their evolution, and history. Then, it provides a broad survey of the costs, benefits, return on investment, and business performance of using lean and agile methods at the project, program, portfolio, organization, industry, and national levels. Wraps up with a few high-profile case studies, and a summary of lean and agile project management principles.
The document discusses Agile software development methods and provides evidence that Agile approaches are effective. It defines Agile development as iterative and incremental with close collaboration. Case studies show organizations achieving better results with Agile, including increased productivity, quality, and customer satisfaction. Adopting Agile practices like Scrum and test-driven development enables organizations to adapt to changing priorities and deliver working software more frequently.
This document discusses the rationale for adopting continuous delivery practices in software development. It summarizes several studies that found high rates of project failures and benefits not being realized from traditional development approaches. Continuous delivery is presented as an approach that can help address these issues by focusing on rapid, reliable, and automated software releases. Case studies are provided of organizations like Google, Amazon, and HP that have successfully implemented continuous delivery at large scales. Adopting these practices is associated with benefits like increased throughput, reliability, innovation, and business performance.
ALM Practices - Modern Applications Development and its impact on ALM especificacoes.com
The document discusses modern approaches to application lifecycle management (ALM). It notes that the way software is developed is changing, with modern applications focusing on rapid feedback, continuous delivery, and deployment on elastic infrastructure. It advocates dividing ALM tasks between those requiring algorithmic emphasis like continuous integration and those requiring heuristic emphasis like design. The goal is to support high-performance teams, revitalize architectures, and make the development process social, fun and rewarding.
Data-Driven DevOps: Improve Velocity and Quality of Software Delivery with Me...Splunk
Much of the value of DevOps comes from a (renewed) focus on measurement, sharing, and continuous feedback loops. In increasingly complex DevOps workflows and environments, and especially in larger, regulated, or more crystallized organizations, these core concepts become even more critical.
This session will show how, by focusing on 'metrics that matter,' you can provide objective, transparent, and meaningful feedback on DevOps processes to all stakeholders. Learn from real-life examples how to use the data generated throughout application delivery to continuously identify, measure, and improve deployment speed, code quality, process efficiency, outsourcing value, security coverage, audit success, customer satisfaction, and business alignment.
Quick overview of Metrics, Models, and Measures for successfully measuring and managing the performance of Lean & Agile portfolios, programs, projects, and teams. Begins with the impetus for using lean and agile vs. traditional methods and techniques, an overview of why traditional projects fail, a definition of lean and agile metrics, and a quick overview how metrics support its basic value system, principles, and organizational context. Then presents a broad taxonomy of product, project, tracking, testing, business value, health, and portfolio metrics, models, and measures. Then, it provides a broad survey of the costs, benefits, return on investment, and business performance of using lean and agile methods at the project, program, portfolio, organization, industry, and national levels. Wraps up with a few high-profile case studies, and a summary of lean and agile project measurement principles.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Agile methods cost of quality
1. Agile Methods
Cost of Quality
Benefits of Testing Early & Often
Dr. David F. Rico, PMP, ACP, CSM
Twitter: @dr_david_f_rico
Website: http://www.davidfrico.com
LinkedIn: http://www.linkedin.com/in/davidfrico
Facebook: http://www.facebook.com/profile.php?id=1540017424
Dave’s Agile Articles: http://davidfrico.com/agile-message.doc
2. Author Background
DoD contractor with 28+ years of IT experience
B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys.
Large gov’t projects in U.S., Far/Mid-East, & Europe
2
Published six books & numerous journal articles
Adjunct at George Wash, UMBC, UMUC, Argosy
Agile Program Management & Lean Development
Specializes in metrics, models, & cost engineering
Six Sigma, CMMI, ISO 9001, DoDAF, & DoD 5000
Cloud Computing, SOA, Web Services, FOSS, etc.
4. Traditional Projects
4
Big projects result in poor quality and scope changes
Productivity declines with long queues/wait times
Large projects are unsuccessful or canceled
Jones, C. (1991). Applied software measurement: Assuring productivity and quality. New York, NY: McGraw-Hill.
Size vs. Quality
DefectDensity
0.00
3.20
6.40
9.60
12.80
16.00
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. Productivity
CodeProductionRate
0.00
1.00
2.00
3.00
4.00
5.00
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. Requirements Growth
Percentage
0%
8%
16%
24%
32%
40%
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. Success
Percentage
0%
12%
24%
36%
48%
60%
0 2 6 25 100 400
Lines of Code (Thousands)
5. Global Project Failures
5
Standish Group. (2010). Chaos summary 2010. Boston, MA: Author.
Sessions, R. (2009). The IT complexity crisis: Danger and opportunity. Houston, TX: Object Watch.
Challenged and failed projects hover at 67%
Big projects fail more often, which is 5% to 10%
Of $1.7T spent on IT projects, over $858B were lost
16% 53% 31%
27% 33% 40%
26% 46% 28%
28% 49% 23%
34% 51% 15%
29% 53% 18%
35% 46% 19%
32% 44% 24%
33% 41% 26%
0% 20% 40% 60% 80% 100%
1994
1996
1998
2000
2002
2004
2006
2008
2010
Year
Successful Challenged Failed
$0.0
$0.4
$0.7
$1.1
$1.4
$1.8
2002 2003 2004 2005 2006 2007 2008 2009 2010
Trillions(USDollars)
Expenditures Failed Investments
6. Requirements Defects & Waste
6
Sheldon, F. T. et al. (1992). Reliability measurement: From theory to practice. IEEE Software, 9(4), 13-20
Johnson, J. (2002). ROI: It's your job. Extreme Programming 2002 Conference, Alghero, Sardinia, Italy.
Requirements defects are #1 reason projects fail
Traditional projects specify too many requirements
More than 65% of requirements are never used at all
Other 7%
Requirements
47%
Design
28%
Implementation
18%
Defects
Always 7%
Often 13%
Sometimes
16%
Rarely
19%
Never
45%
Waste
7. Network
Computer
Operating System
Middleware
Applications
APIs
GUI
How Agile Works
Agile requirements implemented in slices vs. layers
User needs with higher business value are done first
Reduces cost & risk while increasing business success
7Shore, J. (2011). Evolutionary design illustrated. Norwegian Developers Conference, Oslo, Norway.
Agile Traditional
1 2 3 Faster
Early ROI
Lower Costs
Fewer Defects
Manageable Risk
Better Performance
Smaller Attack Surface
Late
No Value
Cost Overruns
Very Poor Quality
Uncontrollable Risk
Slowest Performance
More Security Incidents Seven Wastes
1.Rework
2.Motion
3.Waiting
4.Inventory
5.Transportation
6.Overprocessing
7.Overproduction
MINIMIZES MAXIMIZES
JIT, Just-enough architecture
Early, in-process system V&V
Fast continuous improvement
Scalable to systems of systems
Maximizes successful outcomes
Myth of perfect architecture
Late big-bang integration tests
Year long improvement cycles
Breaks down on large projects
Undermines business success
8. What is Agile Testing?
Traditional testing is a late, manual process
Agile testing is an early and automated process
The goal of agile testing is to deliver early and often
8
Rico, D. F. (2012). Agile testing resources. Retrieved Sep. 9, 2012, from http://davidfrico.com/agile-testing-resources.txt
Crispin, L., & Gregory, J. (2009). Agile testing: A practical guide for testers and agile teams. Boston, MA: Addison-Wesley.
Grant, T. (2005). Continuous integration using cruise control. Northern Virginia Java Users Group (Novajug), Reston, Virginia, USA.
Traditional Testing
Combining source files
Combining software and environment
Combining software and data
Combining software and tests
Combining developers
Agile Testing
Code is frequently checked in
Code is automatically retrieved
Compilation is done automatically
Tests are done automatically
Code reports are generated
Developers get instant feedback
Code is automatically deployed or
packaged for delivery
9. Thousands of Tests
Continuously Executed
No More Late Big
Bang Integration
Agile Testing Model
User needs designed & developed one-at-a-time
Changes automatically detected, built, and tested
System fully tested and deployed as changes occur
9Humble, J., & Farley, D. (2011). Continuous delivery. Boston, MA: Pearson Education.
Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration. Boston, MA: Addison-Wesley.
Build
Integration
Server
Version
Control
Server
Build
Scripts
UsesWatches
Build
Status
ProvidesDeveloper A
Developer B
Developer C
Commits
Changes
Commits
Changes
Commits
Changes
Builds
Database
Analysis
Testing
Reporting
Documentation
Deployment
Early, Automated, Fast,
Efficient, & Repeatable
Constant Readiness
State & CM Control
Lean, Waste Free, Low WIP,
No Deadlocked Test Queues
Rapidly & Successfully
Dev. Complex Systems
10. Agile Testing Done Early & Often
Eliminates big-bang integration in the 11th hour
Creates a repeatable and reliable testing process
Evaluates system-wide changes throughout project
10Maeda, M. K. (2009). Agile testing: Early, often, and Smart. Arlington, MA: Cutter Consortium.
11. Agile Testing Practices
Agile testing consists of seven broad practices
Includes automated builds, testing, inspections, etc.
Also includes reporting, documentation, deployment, etc.
11
Practice
Building
Database
Inspections
Testing
Feedback
Documentation
Deployment
Description
Frequently assembling products and services to ensure delivery readiness
Frequently generating/analyzing database schemas, queries, and forms
Frequently performing automated static analysis of product/service quality
Frequently performing automated dynamic product and service evaluation
Frequently generating automated status reports/messages for all stakeholders
Frequently performing automated technical/customer document generation
Frequently performing automated delivery of products/services to end users
Duvall, P., Matyas, S., & Glover, A. (2006). Continuous integration: Improving software quality and reducing risk. Boston, MA: Addison-Wesley.
Humble, J., & Farley, D. (2011). Continuous delivery. Boston, MA: Pearson Education.
12. Agile Testing Workflow
12
Traditional vs. Agile Cumulative Flow
Work(Story,Point,Task)orEffort(Week,Day,Hour)
Time Unit (Roadmap, Release, Iteration, Month, Week, Day, Hour, etc.)
Work(Story,Point,Task)orEffort(Week,Day,Hour)
Time Unit (Roadmap, Release, Iteration, Month, Week, Day, Hour, etc.)
Traditional Cumulative Flow Agile Cumulative Flow
Late big bang integration increases WIP backlog
Agile testing early and often reduces WIP backlog
Improves workflow and reduces WIP and lead times
Anderson, D. J. (2004). Agile management for software engineering. Upper Saddle River, NJ: Pearson Education.
Anderson, D. J. (2010). Kanban: Successful evolutionary change for your technology business. Sequim, WA: Blue Hole Press.
13. Agile Testing Costs & Benefits
Grant, T. (2005). Continuous integration using cruise control. Northern Virginia Java Users Group (Novajug), Reston, Virginia, USA.
Fredrick, J. (2008). Accelerate software delivery with continuous integration and testing. Japanese Symposium on Software Testing, Tokyo, Japan.
Most agile testing tools are “free” open source
A build server is no more than a commodity PC
10x more efficient/effective than traditional testing
13
14. Agile Testing Economics
Traditional testing finds a defect in about 10 hours
Manual code inspections find a defect in 1 hour
Agile testing finds a defect every 6 minutes
14
Rico, D. F. (2012). The Cost of Quality (CoQ) for Agile vs. Traditional Project Management. Fairfax, VA: Gantthead.Com.
15. Agile Cost of Quality (CoQ)
Agile testing is 10x better than code inspections
Agile testing is 100x better than traditional testing
Agile testing is done earlier “and” 1,000x more often
15
Rico, D. F. (2012). The Cost of Quality (CoQ) for Agile vs. Traditional Project Management. Fairfax, VA: Gantthead.Com.
16. Agile Testing Statistics
Fewer builds leave in higher bug counts
A high number of builds eliminates the defects
Goal is to have as many, early builds as possible
16
Lacoste, F. J. (2009). Killing the gatekeeper: Introducing a continuous integration system. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA, 387-392.
17. Scaling Agile Testing
Agile testing slows down with very large systems
Slow testing slows integration and increases bugs
Agile testing can speed back up with proper attention
17
Kokko, H. (2009). Increase productivity with large scale continuous integration. Proceedings of the Agile 2009 Conference, Chicago, Illinois, USA.
Wide Impact Tuning
Fast builds – less changes – more green
Parallelization of test runs
ClearCase to subversion
Pre-installing as much as possible
Removal of randomness
Compilation in memory
Installation starting parallel with system
build
Focused Impact Tuning
More memory and CPUs
Parallelize builds
Replace 3rd party test libraries
Reduce/remove timeouts in tests
Select different tests
Refactor code & components
Tune the network & software
Tune the database
18. Agile Cost & Benefit Analysis
Costs based on avg. productivity and quality
Productivity ranged from 4.7 to 5.9 LOC an hour
Costs were $588,202 and benefits were $3,930,631
18
Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation.
Ft. Lauderdale, FL: J. Ross Publishing.
d1 = [ln(Benefits Costs) + (Rate + 0.5 Risk2) Years] Risk Years, d2 = d1 Risk Years
5
1i
19. Benefits of Agile Methods
Analysis of 23 agile vs. 7,500 traditional projects
Agile projects are 54% better than traditional ones
Agile has lower costs (61%) and fewer defects (93%)
Mah, M. (2008). Measuring agile in the enterprise: Proceedings of the Agile 2008 Conference, Toronto, Canada.
Project Cost in Millions $
0.75
1.50
2.25
3.00
2.8
1.1
Before Agile
After Agile
61%
Lower
Cost
Total Staffing
18
11
Before Agile
After Agile
39%
Less
Staff
5
10
15
20
Delivery Time in Months
5
10
15
20
18
13.5
Before Agile
After Agile
24%
Faster
Cumulative Defects
625
1250
1875
2500
2270
381
Before Agile
After Agile
93%
Less
Defects
19
20. Agile vs. Traditional Success
Traditional projects succeed at 50% industry avg.
Traditional projects are challenged 20% more often
Agile projects succeed 3x more and fail 3x less often
Standish Group. (2012). Chaos manifesto. Boston, MA: Author.
20
Agile Traditional
Success
42%
Failed
9%
Challenged
49%
Success
14%
Failed
29%
Challenged
57%
21. Hoque, F., et al. (2007). Business technology convergence. The role of business technology convergence in innovation
and adaptability and its effect on financial performance. Stamford, CT: BTM Institute.
21
Study of 15 agile vs. non-agile Fortune 500 firms
Based on models to measure organizational agility
Agile firms out perform non agile firms by up to 36%
Benefits of Organizational Agility
22. Agile Recap
Agile methods DON’T mean deliver it now & fix it later
Lightweight, yet disciplined approach to development
Reduced cost, risk, & waste while improving quality
22
Rico, D. F. (2012). What’s really happening in agile methods: Its principles revisited? Retrieved June 6, 2012, from http://davidfrico.com/agile-principles.pdf
Rico, D. F. (2012). The promises and pitfalls of agile methods. Retrieved February 6, 2013 from, http://davidfrico.com/agile-pros-cons.pdf
Rico, D. F. (2012). How do lean & agile intersect? Retrieved February 6, 2013, from http://davidfrico.com/agile-concept-model-3.pdf
What How Result
Flexibility Use lightweight, yet disciplined processes and artifacts Low work-in-process
Customer Involve customers early and often throughout development Early feedback
Prioritize Identify highest-priority, value-adding business needs Focus resources
Descope Descope complex programs by an order of magnitude Simplify problem
Decompose Divide the remaining scope into smaller batches Manageable pieces
Iterate Implement pieces one at a time over long periods of time Diffuse risk
Leanness Architect and design the system one iteration at a time JIT waste-free design
Swarm Implement each component in small cross-functional teams Knowledge transfer
Collaborate Use frequent informal communications as often as possible Efficient data transfer
Test Early Incrementally test each component as it is developed Early verification
Test Often Perform system-level regression testing every few minutes Early validation
Adapt Frequently identify optimal process and product solutions Improve performance
23. Conclusion
23
Agility is the evolution of management thought
Confluence of traditional and non-traditional ideas
Improve performance by over an order of magnitude
“The world of traditional methods belongs to yesterday”
“Don’t waste your time using traditional methods on 21st century projects”
Agile methods are …
Systems development approaches
New product development approaches
Expertly designed to be fast and efficient
Intentionally lean and free of waste (muda)
Systematic highly-disciplined approaches
Capable of producing high quality systems
Right-sized, just-enough, and just-in-time tools
Scalable to large, complex mission-critical systems
Designed to maximize business value for customers
Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.
24. Books on ROI of SW Methods
Guides to software methods for business leaders
Communicates business value of software methods
Rosetta stones to unlocking ROI of software methods
http://davidfrico.com/agile-book.htm (Description)
http://davidfrico.com/roi-book.htm (Description)
24