The document provides an overview of agile and test-driven development. It begins by comparing waterfall and agile approaches, noting that agile uses short iterative cycles. It then defines agile as iterative and incremental, with continual revisiting of requirements and design. Common agile methodologies like Scrum and extreme programming are discussed. Test-driven development is introduced as writing tests before code to ensure requirements are met and prevent bugs. The benefits of agile and TDD for developers are more code proven to meet requirements and less time spent debugging.
Test Driven Development (TDD) & Continuous Integration (CI)Fatkul Amri
Sebuah pembahasan menarik tentang Agile Software Development dengan Test Driven Development (TDD) & Continuous Integration (CI). Materi ini disusun oleh Mas Disyam
A quick paced introduction to "Test Driven Development" (TDD) in an agile environment. The TDD philosophy states that you should develop your tests and then write code to make your tests pass and satisfy user requirements.
Slides from the session "TDD - That Was Easy!" presented by Fadi Stephan from Kaizenko at AgileDC2019 on September 23, 2019 in Washington DC. A blog post accompanying this talk will be published soon on kaizenko.com
Abstract:
Have you tried TDD? Do you hate it? Do you have a hard time applying it in practice? Do you find it promoting bad design decisions because you must write micro tests instead of looking at the big picture? Are your tests tightly coupled to the implementation due to a lot of mocking making refactoring a pain? Do tons of tests break when a simple change is made? Do you have a hard time justifying all the time spent on writing tests vs. just focusing on development?
You are not alone. Every organization or team that I run into is supposedly Agile. Some are also applying agile engineering practices such as automated unit, integration and acceptance testing, etc… However, many struggle with TDD. TDD is hard, seems counter-intuitive and requires a lot of investment. Come to this session for a TDD reboot. We will look at the benefits of TDD, discuss the resistance to TDD and uncover some common difficulties along with misconceptions. We will address these misunderstandings and explore different approaches to making TDD easier. Leave with a fresh perspective and new insights on how to become better at TDD and apply it with ease
Test driven development (TDD), a software development method, helps build high quality applications faster. Life-cycle, usefulness, limitations and similar techniques of TDD have been presented in this slide deck.
This workshop is designed specially for Queen Mary University of London alumni, in order to teach them TDD.
You will learn: What is TDD, Why and How.
If you want to learn more: https://github.com/MyPitit/TDD
Test Driven Development (TDD) & Continuous Integration (CI)Fatkul Amri
Sebuah pembahasan menarik tentang Agile Software Development dengan Test Driven Development (TDD) & Continuous Integration (CI). Materi ini disusun oleh Mas Disyam
A quick paced introduction to "Test Driven Development" (TDD) in an agile environment. The TDD philosophy states that you should develop your tests and then write code to make your tests pass and satisfy user requirements.
Slides from the session "TDD - That Was Easy!" presented by Fadi Stephan from Kaizenko at AgileDC2019 on September 23, 2019 in Washington DC. A blog post accompanying this talk will be published soon on kaizenko.com
Abstract:
Have you tried TDD? Do you hate it? Do you have a hard time applying it in practice? Do you find it promoting bad design decisions because you must write micro tests instead of looking at the big picture? Are your tests tightly coupled to the implementation due to a lot of mocking making refactoring a pain? Do tons of tests break when a simple change is made? Do you have a hard time justifying all the time spent on writing tests vs. just focusing on development?
You are not alone. Every organization or team that I run into is supposedly Agile. Some are also applying agile engineering practices such as automated unit, integration and acceptance testing, etc… However, many struggle with TDD. TDD is hard, seems counter-intuitive and requires a lot of investment. Come to this session for a TDD reboot. We will look at the benefits of TDD, discuss the resistance to TDD and uncover some common difficulties along with misconceptions. We will address these misunderstandings and explore different approaches to making TDD easier. Leave with a fresh perspective and new insights on how to become better at TDD and apply it with ease
Test driven development (TDD), a software development method, helps build high quality applications faster. Life-cycle, usefulness, limitations and similar techniques of TDD have been presented in this slide deck.
This workshop is designed specially for Queen Mary University of London alumni, in order to teach them TDD.
You will learn: What is TDD, Why and How.
If you want to learn more: https://github.com/MyPitit/TDD
This presentation gives you the evidence as to why unit testing works and a process for how to bring it your team as soon as possible. There's a reason why the growth of unit testing, and automated unit testing in particular, has exploded over the past few years. It not only improves your code, it's faster than releasing code without tests. You'll learn: What, exactly, is a unit test?; The 7 reasons why managers love unit testing; and how to change mindset and processes to start unit testing now.
Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server.
So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.
Test drive on driven development process.
What we covered:
* Test Driven Development
* Behavior Driven Development
* Feature Driven Development
* Acceptance Test Driven Development
What are we not covered:
* Model Driven Development
* Domain Driven Development
Introduction to the fundamentals of eXtreme programming (XP). XP is a software development approach which stresses on improving software quality and respond according to changing business requirements.
Nikolay Alimenkou and Aleksey Solntsev will show how to migrate from Ant project to Maven2 project and start using full power of XP engineering practices: CI, TDD, refactoring.
Многие жалуются на качество кода, автоматизированных тестов или продукта в целом, на количество ошибок, найденных конечными пользователями или отделом тестирования. Почему это происходит? Необходимо понимать, что для того чтобы не допустить подобных ситуаций требуются дополнительные усилия – необходимо следить за качеством кода и работать над его улучшением.
Code Review является одной из наиболее полезных и эффективных практик для ранней борьбы с дефектами в коде и повышению его качества. Использование Code Review на различных этапах разработки, начиная от дизайна и заканчивая написанием кода и тестов, помогает построить ранний цикл обратной связи и избежать потерь времени в будущем на исправление ошибок.
Дополнительным преимуществом применения Code Review является распространение знаний между членами команды и адаптация других командных подходов. Данная практика может быть интересна любому члену команды вне зависимости от его роли в проекте.
В докладе будут рассмотрены основные аспекты Code Review, способы проведения, инструменты и техники. Также будут продемонстрированы основные ошибки в использовании этой практики, полезные советы, приемы по внедрению и поддержке.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
This presentation is simply for motivating developers towards test automation and test-driven development. It discusses lightly unit testing, mocking and integration testing, too.
PHP Experience 2016 - [Workshop] Agile: Test Driven DevelopmentiMasters
Simone Pittner, Agile Coach na Adaptworks, ministrou o workshop "Agile: Test Driven Development", no PHP Experience 2016.
O iMasters PHP Experience 2016 aconteceu nos dias 21 e 22 de Março de 2015, no Hotel Tivoli em São Paulo-SP
http://phpexperience2016.imasters.com.br/
Test-Driven Development in the Corporate WorkplaceAhmed Owian
What is TDD, and why is it giving traditional software development practices a run for their money? This presentation answers these questions, while focusing on a popular agile methodology, Extreme Programming (XP). It places a particular emphasis on the exploratory programming nature of XP and its testing practice, TDD. The paper also summarizes prior research on TDD and includes the results from a research survey conducted to compare TDD with traditional testing practices.
This presentation gives you the evidence as to why unit testing works and a process for how to bring it your team as soon as possible. There's a reason why the growth of unit testing, and automated unit testing in particular, has exploded over the past few years. It not only improves your code, it's faster than releasing code without tests. You'll learn: What, exactly, is a unit test?; The 7 reasons why managers love unit testing; and how to change mindset and processes to start unit testing now.
Although all of us speak the same language, each of us uses different meaning of words "soon”, "fine” and "done”. That’s why for one developer "I’m done” means that just a moment ago the part of the code with implemented functionality has been successfully executed, while for another developer it means that code has been committed to repository but without checking if build is green or not on continuous integration server. At the same time "done" of developer-perfectionist means totally refactored and optimized code. And only for "black swan”-developer phrase "I'm done“ means that all tests were passed, new functionality was documented on wiki and a new feature was verified by customer on the demo server.
So if you want to decrease a risk of misunderstanding inside a team or between team and customer you should make agreement about common vision of “definition of done“ and then start using it on a daily basis. In order to prevent losing your time and stepping on the hidden rake during discussion of your done criteria we will share our knowledge about creating compact and most effective “definition of done“. We will talk about lifecycle of this document and about approaches that help you to add important items to it. We will discuss doneness on different levels (preplanning, user story and task development, sprint). And of course we won’t forget to tell you how to create “Definition of Done“ which will satisfy not only your team but your customer as well.
Test drive on driven development process.
What we covered:
* Test Driven Development
* Behavior Driven Development
* Feature Driven Development
* Acceptance Test Driven Development
What are we not covered:
* Model Driven Development
* Domain Driven Development
Introduction to the fundamentals of eXtreme programming (XP). XP is a software development approach which stresses on improving software quality and respond according to changing business requirements.
Nikolay Alimenkou and Aleksey Solntsev will show how to migrate from Ant project to Maven2 project and start using full power of XP engineering practices: CI, TDD, refactoring.
Многие жалуются на качество кода, автоматизированных тестов или продукта в целом, на количество ошибок, найденных конечными пользователями или отделом тестирования. Почему это происходит? Необходимо понимать, что для того чтобы не допустить подобных ситуаций требуются дополнительные усилия – необходимо следить за качеством кода и работать над его улучшением.
Code Review является одной из наиболее полезных и эффективных практик для ранней борьбы с дефектами в коде и повышению его качества. Использование Code Review на различных этапах разработки, начиная от дизайна и заканчивая написанием кода и тестов, помогает построить ранний цикл обратной связи и избежать потерь времени в будущем на исправление ошибок.
Дополнительным преимуществом применения Code Review является распространение знаний между членами команды и адаптация других командных подходов. Данная практика может быть интересна любому члену команды вне зависимости от его роли в проекте.
В докладе будут рассмотрены основные аспекты Code Review, способы проведения, инструменты и техники. Также будут продемонстрированы основные ошибки в использовании этой практики, полезные советы, приемы по внедрению и поддержке.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
This presentation is simply for motivating developers towards test automation and test-driven development. It discusses lightly unit testing, mocking and integration testing, too.
PHP Experience 2016 - [Workshop] Agile: Test Driven DevelopmentiMasters
Simone Pittner, Agile Coach na Adaptworks, ministrou o workshop "Agile: Test Driven Development", no PHP Experience 2016.
O iMasters PHP Experience 2016 aconteceu nos dias 21 e 22 de Março de 2015, no Hotel Tivoli em São Paulo-SP
http://phpexperience2016.imasters.com.br/
Test-Driven Development in the Corporate WorkplaceAhmed Owian
What is TDD, and why is it giving traditional software development practices a run for their money? This presentation answers these questions, while focusing on a popular agile methodology, Extreme Programming (XP). It places a particular emphasis on the exploratory programming nature of XP and its testing practice, TDD. The paper also summarizes prior research on TDD and includes the results from a research survey conducted to compare TDD with traditional testing practices.
Obstacle Driven Development has the most comprehensive testing of any engineering process or method. Tests are created for each element of all stages of development.
Agile principles are investigated, adapted and extended to become ODD principles. Similarities and differences of the methods are investigated.
Burndown charts and Agile organisation is extended to become test first based and help organise an ODD project for software, hardware and embedded.
Context driven agile tester - from outsourcing to startup world – EclipseCon ...Dragan Spiridonov
My first international presentation was given on 26.10.2016. during Project Quality Day on EclipseCon 2016. in Ludwigsburg Germany.
Here are slides from the presentation.
Informed & Agile: Test Driven Design w/ Jon InnesUserZoom
Do you find yourself sprinting without a clear direction? Pushing feature after feature out, only to wonder if your app or website is really getting better? Join Jon Innes of UX Innovation in a webinar on-demand, where he will discuss how to improve your sprints by incorporating UX/usability metrics that the whole team can use to measure progress on your agile journey as a product team.
TDD is the elengant way of designing software. People scares from it so much, because software design is hard and it requires discipline. In this talk, I tried to describe what TDD is from software design perspective.
Agile Software Development with Scrum_ A Complete Guide to The Steps in Agile...Fibonalabs
Agile scrum methodology is not only a model but a wonderful exercise in itself. It takes care of so many parameters that are involved in the development of software. Giving eye to detail is one of the most fascinating features of this framework. The steps in an agile scrum methodology involve envisioning, planning, developing, testing, and bug fixing for software. With scrum architecture, you can ensure continuous development, improvement, and delivery of a software product.
Managing a team and project are quite synonymous. Especially, teams require effective distribution of responsibility / roles. Once that is setup, a proper process guides people to make progress. All this fits into a product lifecycle, which is essential to develop the right product, in the right way, and deliver it at the right time.
What is Agile Methodology?
AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. Both development and testing activities are concurrent unlike the Waterfall model
A Test Strategy document is a high-level document and normally developed by the project manager. This document defines the “Software Testing Approach” to achieve testing objectives. The Test Strategy is normally derived from the Business Requirement Specification document.
Contact: experts@techdesti.com. Visit: https://www.techdesti.com/
This slide talks about Agile Methodologies, Scrum, Kanban, Agile Principles, Agile Values, and all agile related concepts. This slide is for the purpose of Agile Training
A keynote to help people involved in software product development to execute the right agile and lean practices in order to see a successful relationship among stakeholders.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
3. ● You complete one phase (e.g. Design) before moving on to the next phase
(e.g. Development)
● You rarely aim to revisit a 'phase' once it's completed
Waterfall development
4.
5. But ..
● You don't realize any value until the end of the project
● You leave the testing until the end
● You don't seek approval from the stakeholders until late in the day
This approach is highly risky, often more costly and generally less efficient than
agile approaches
6. Waterfall Vs Agile
● Waterfall model
phase by phase:
analysis > design > development >
testing and delivery of whole
functionality
● Agile model
analysis > design > development >
testing and delivery of a small
functional pieces in with short
cycles (Sprints)
9. what is agile ?
● In 1970, Dr. Winston Royce presented a paper entitled “Managing the
Development of Large Software Systems.
● In February 2001, seventeen software developers met at the Snowbird resort
in Utah to discuss lightweight development methods. They published the
Manifesto for Agile Software Development.
● agile methodology is described as “iterative” and “incremental.”
10. what is agile ? ,continue
● In an agile paradigm, every aspect of development — requirements, design,
etc. — is continually revisited throughout the lifecycle.
● Agile methodology is an alternative to traditional project management,
typically used in software development. It helps teams respond to
unpredictability through incremental, iterative work cadences, known as
sprints. Agile methodologies are an alternative to waterfall, or traditional
sequential development.
11. Agile Development Cycle
● the initial planning
● analysis is kept to a
very high level
● analysing, designing,
developing and
testing
12. ● An iteration is simply a fixed, short period of time that the team chooses to
work within.
● Typically for agile teams, an iteration is between 1 week and 30 days.
● Strictly speaking, the Scrum agile development methodology advocates 30
days .
● The Extreme Programming agile methodology advocates 1 week.
15. Types of agile:
● Scrum
● Kanban
● Extreme programming
● Lean software development
16. Agile principles
The Agile Manifesto is based on twelve principles:
1. Customer satisfaction by early and continuous delivery of useful software
2. Welcome changing requirements, even in late development
3. Working software is delivered frequently (weeks rather than months)
4. Close, daily cooperation between business people and developers
5. Projects are built around motivated individuals, who should be trusted
6. Face-to-face conversation is the best form of communication (co-location)
17. Agile principles ,continue
7. Working software is the principal measure of progress
8. Sustainable development, able to maintain a constant pace
9. Continuous attention to technical excellence and good design10.
10. Simplicity—the art of maximizing the amount of work not done—is essential
11. self-organizing teams
12. Regular adaptation to changing circumstance
18. Evolutions
● In 2009, Later, Ken Schwaber with others founded the Scrum Alliance and
created the Certified Scrum Master programs and its derivatives.
24. Scrum planning example
● Iteration cycle of weeks
● Working hour per day is 8
● Product backlog of 20 stories
● Each story effort is 10 hrs
Total hours of work iteration can accommodate
= 8hrs x 5days x 3weeks = 120 hrs
● Iteration backlog or number of stories per iteration 12 user story
26. What is Test-Driven Development?
● In principle, it is just about writing the test before the program
● But in consequence, it leads the developer to:
○ first think about “how to use” the component (why do we need the component, what’s it for?)
○ and only then about “how to implement”.
● So, it’s a testing technique as well as a design technique
○ It results into components that are easy to test and enhance.
● In the end, there is no code without a test.
27. Motivation
● If you intend to test after you‘ve developed the system, you won‘t have the
time for testing. => Write the tests before the code!
● If things get complicated, you might fear that „the system“ doesn‘t work.
=> Execute the tests and get positive feedback (everything still works) or get
pointed to the bit that does not / no longer work.
● If you don‘t have tests for the code, you shouldn‘t use it / ship it.
=> This can‘t happen if you write the test first (so you reach
better test coverage than with functional tests).
28. Mechanics of TDD
● Always start with a failing test
● Quickly write the simplest code needed to pass the test
● Remove duplication
● Repeat as needed to meet requirements
● Test everything that could possibly break
29. What should be tested?
● Valid inputs
● Invalid inputs
● Errors, exceptions, and events
● Boundary conditions
● Everything that could possibly break!
30. TDD Benefits for Developers
● Much less debug time
● Code proven to meet requirements
● Don’t write any un-necessary code
31. Getting started with TDD
● Get some training
● Start with a small visible project
● Shoot for 100% test coverage
● Don’t expect to be perfect
● Expect to improve dramatically in time
● Measure the results