A new version of the talk that describes what software estimates are used for, and alternatives that might serve you better. (This time with added logs ;)
In this session, I look at the challenges that real companies face when trying to adopt the good practices that fall under the banner of Continuous Delivery. To do this, we’ll start by extracting the core concepts described in the book Continuous Delivery by Jez Humble and Dave Farley, and look at how these map to the practices of typical organisations today.
We’ll dig deep into the relationship between Agile and Continuous Delivery, how DevOps and infrastructure-as-code fit into the delivery process, and its impact on software development practices, especially version control.
10 things about BDD, Cucumber and SpecFlow - Long Version 2016Seb Rose
SpecFlow is quite a recent addition to the software development toolbox. Sometimes it feels like we’re using a hammer to drive in a screw, so in this session we’ll explore what it’s good for and when to use it. We’ll also look at what problems it doesn’t help with and when not to use it.
As you might expect, I’m a huge fan of using SpecFlow, as part of a well thought out approach to Behaviour Driven Development (BDD) or Specification By Example (SBE). I’ve also seen the pain of organisations who have tried using SpecFlow from a pure test automation perspective, and this is one of the misapplications that we’ll talk about.
We’ll look at a further 9 specific, actionable recommendations for using SpecFlow well, including how to write maintainable executable specifications, organising large suites of specifications in an accessible way, and where SpecFlow fits into an Agile development process.
By the end of this session you’ll know enough to decide whether your problems are more like a screw or a nail – and whether SpecFlow is the right tool.
Introduction to BDD with Cucumber for JavaSeb Rose
This tutorial looks at what Cucumber is good for—and what it isn’t. It briefly covers what behavior-driven development (BDD) is and how Cucumber helps deliver on the promise of improved communication between the business and the development team. Then it dives into how Cucumber works, the specific details of the Java version (Cucumber-JVM), and what makes it different from other similar tools. Finally, it considers how Cucumber can fit into your test automation strategy and produce "living documentation" that is always up to date. You will come away with everything you need to know to be able to decide whether BDD (using Cucumber-JVM) is for you.
A whirlwind tour of of agile estimation from the perspective of planning poker. By the end of this session you'll know what planning poker is, why it was proposed, what it's useful for, how to get better at it and why it will never be perfect.
I'll also introduce you to some variants and alternatives.
#NoEstimates - Stop lying to yourself and your customers, and stop estimatinggerardbeckerleg
After his successful session last year on Agile Scrum, our resident Scrum White Robe Gerard Beckerleg is at it again, except this time he's taking on one of the most divisive topics in software development: Estimation.
In this video recorded at the Sydney SSW offices, Gerard Beckerleg takes a dive into the depths of this controversial topic and extracts the most interesting ideas and raises some very difficult questions about the big white elephant in the room that is Software Estimation.
After examining the pros and cons of estimation Gerard lays the blueprint for a better way to help you and your clients get what they are really looking for.
In this session, I look at the challenges that real companies face when trying to adopt the good practices that fall under the banner of Continuous Delivery. To do this, we’ll start by extracting the core concepts described in the book Continuous Delivery by Jez Humble and Dave Farley, and look at how these map to the practices of typical organisations today.
We’ll dig deep into the relationship between Agile and Continuous Delivery, how DevOps and infrastructure-as-code fit into the delivery process, and its impact on software development practices, especially version control.
10 things about BDD, Cucumber and SpecFlow - Long Version 2016Seb Rose
SpecFlow is quite a recent addition to the software development toolbox. Sometimes it feels like we’re using a hammer to drive in a screw, so in this session we’ll explore what it’s good for and when to use it. We’ll also look at what problems it doesn’t help with and when not to use it.
As you might expect, I’m a huge fan of using SpecFlow, as part of a well thought out approach to Behaviour Driven Development (BDD) or Specification By Example (SBE). I’ve also seen the pain of organisations who have tried using SpecFlow from a pure test automation perspective, and this is one of the misapplications that we’ll talk about.
We’ll look at a further 9 specific, actionable recommendations for using SpecFlow well, including how to write maintainable executable specifications, organising large suites of specifications in an accessible way, and where SpecFlow fits into an Agile development process.
By the end of this session you’ll know enough to decide whether your problems are more like a screw or a nail – and whether SpecFlow is the right tool.
Introduction to BDD with Cucumber for JavaSeb Rose
This tutorial looks at what Cucumber is good for—and what it isn’t. It briefly covers what behavior-driven development (BDD) is and how Cucumber helps deliver on the promise of improved communication between the business and the development team. Then it dives into how Cucumber works, the specific details of the Java version (Cucumber-JVM), and what makes it different from other similar tools. Finally, it considers how Cucumber can fit into your test automation strategy and produce "living documentation" that is always up to date. You will come away with everything you need to know to be able to decide whether BDD (using Cucumber-JVM) is for you.
A whirlwind tour of of agile estimation from the perspective of planning poker. By the end of this session you'll know what planning poker is, why it was proposed, what it's useful for, how to get better at it and why it will never be perfect.
I'll also introduce you to some variants and alternatives.
#NoEstimates - Stop lying to yourself and your customers, and stop estimatinggerardbeckerleg
After his successful session last year on Agile Scrum, our resident Scrum White Robe Gerard Beckerleg is at it again, except this time he's taking on one of the most divisive topics in software development: Estimation.
In this video recorded at the Sydney SSW offices, Gerard Beckerleg takes a dive into the depths of this controversial topic and extracts the most interesting ideas and raises some very difficult questions about the big white elephant in the room that is Software Estimation.
After examining the pros and cons of estimation Gerard lays the blueprint for a better way to help you and your clients get what they are really looking for.
No estimates - a controversial way to improve estimation with results-handoutsVasco Duarte
Often we hear that estimating a project is a must. "We can't make decisions without them" we hear often.
In this session I'll present examples of how we can predict a release date of a project without any estimates, only relying on easily available data.
I'll show how we can follow progress on a project at all times without having to rely on guesswork, and we will review how large, very large and small projects have already benefited from this in the past.
At the end of the session you will be ready to start your own
#NoEstimates journey.
Getting started with #NoEstimates was an interesting topic for last Scrum Breakfast in HCM. We can find some better ways to approach project faster and more efficiency rather than spend a lot of time for estimation.
Estimates or #NoEstimates by Enes PelkoBosnia Agile
Do we need estimates? Are the estimates abused so much that they became unusable? There is a new emerging movement behind #NoEstimates that thinks so. But is it for anyone and in any situation?
This is a concept I devised a couple of years ago, and it seems there is a new #NoEstimates audience that would like to know more about it.
A Slicing Heuristic is essentially:
An explicit policy that describes how to "slice" work Just-In-Time to help us create consistency, a shared language for work and better predictability.
The Slicing Heuristic seeks to replace deterministic estimation rituals by incorporating empirical measurement of actual cycle times for the various types of work in your software delivery lifecycle.
It is based on the hypothesis that empiricism leads to smaller cycle time duration and variation (which in business value terms means quicker time to market and better predictability) because it requires work to be sliced into clear, simple, unambiguous goals. Crucially, the heuristic also describes success criteria to ensure it is achieving the level of predictability we require.
Its application is most effective when used for all levels of work, but can certainly be used for individual work types. For example, a User Story heuristic can be an extremely effective way of creating smaller, simpler work increments, allowing teams to provide empirical forecasts without the need for estimating how long individual stories will take. However, if you are able to incorporate this concept from the portfolio level down, the idea is that you define each work type (e.g. Program, Project, Feature, User Story, etc.) along with a Slicing Heuristic, which forms part of that work type’s Definition of Ready.
We are giving estimation for planing budget, sales proposals etc. but we can not estimate variablility and complexity of software systems. So we need a better approach to forecast team throughput by using past infomation, here is the #noestimation.
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...Josiah Renaudin
Many levels of estimation are practiced in agile, including budgeting, high-level estimation, and task planning (detailed estimation). That might seem like an anathema to agile, but it is not. Mike Harris shares a case study that provides an approach that “checks the box” for standard corporate estimation requirements while staying true to the agile planning and estimation processes. Using the Agile Planning Onion popularized by Mike Cohn, this approach includes team and project level implementations of #NoEstimates concepts. Take away an approach that you can apply to testing for both small and large agile efforts. Most planning and estimating activities for agile testing focus on answering a few very basic questions: When will it be done? How much will it cost? What will actually get tested? Using agile development and testing techniques doesn’t abrogate the need to answer those questions, but it also does not mean testing has to revert to waterfall planning and management techniques.
#NoEstimates project planning using Monte Carlo simulationDimitar Bakardzhiev
Here is the text behind the slides http://www.infoq.com/articles/noestimates-monte-carlo
Here is a video I prepared in order to help people understand how to plan a release using the Monte Carlo simulation in MS Excel http://youtu.be/r38a25ak4co
And here is an Excel file to show how Monte Carlo is done http://modernmanagement.bg/data/NoEstimate_Project_Planning_MonteCarlo.xlsx
Here are the SIPs for the baseline project http://modernmanagement.bg/data/SIPs_MonteCarlo_FVR.xlsx
Here is the planing simulation in Excel http://modernmanagement.bg/data/High_Level_Project_Planning.xlsx
The video ( after the 3:00 minute) http://youtu.be/GE9vrJ741WY on how to use the Excel files
"Will Git Be Around Forever? A List of Possible Successors" from Devoxx 2022🎤 Hanno Embregts 🎸
Ten years ago, only Linux kernel committers and other early adopters used Git. Almost everyone else used Subversion. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now? And what features would YOU want from your version control software in 2032? No history rewrites? Faster? No merge conflicts ever?
In this talk I'll discuss a few post-Git products, including Fossil, Plastic and Pijul, and their support for the features we so dearly desire. I'll also try to predict which one will be 'the top dog' in 2032.
So attend this session if you're excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 😀
Software contracts - Global Enterprise Agile 2023.pdfSeb Rose
The rise of micro-service architectures offers the promise of a more agile software development process.
Software systems will be made up of many collaborating components which are developed, deployed and operated by distributed teams and organizations. But how can we avoid a recurring configuration nightmare (c.f. DLL hell) and ensure that we benefit from the promised flexibility, rather than creating a fragile, distributed monolith?
Contract testing offers an excellent solution.
Participants will be able to:
- Explain why contract testing is critically important
- Describe how to incorporate contract testing in your development practices
- Show their team where they can get an introduction to the open source tool, Pact.
No estimates - a controversial way to improve estimation with results-handoutsVasco Duarte
Often we hear that estimating a project is a must. "We can't make decisions without them" we hear often.
In this session I'll present examples of how we can predict a release date of a project without any estimates, only relying on easily available data.
I'll show how we can follow progress on a project at all times without having to rely on guesswork, and we will review how large, very large and small projects have already benefited from this in the past.
At the end of the session you will be ready to start your own
#NoEstimates journey.
Getting started with #NoEstimates was an interesting topic for last Scrum Breakfast in HCM. We can find some better ways to approach project faster and more efficiency rather than spend a lot of time for estimation.
Estimates or #NoEstimates by Enes PelkoBosnia Agile
Do we need estimates? Are the estimates abused so much that they became unusable? There is a new emerging movement behind #NoEstimates that thinks so. But is it for anyone and in any situation?
This is a concept I devised a couple of years ago, and it seems there is a new #NoEstimates audience that would like to know more about it.
A Slicing Heuristic is essentially:
An explicit policy that describes how to "slice" work Just-In-Time to help us create consistency, a shared language for work and better predictability.
The Slicing Heuristic seeks to replace deterministic estimation rituals by incorporating empirical measurement of actual cycle times for the various types of work in your software delivery lifecycle.
It is based on the hypothesis that empiricism leads to smaller cycle time duration and variation (which in business value terms means quicker time to market and better predictability) because it requires work to be sliced into clear, simple, unambiguous goals. Crucially, the heuristic also describes success criteria to ensure it is achieving the level of predictability we require.
Its application is most effective when used for all levels of work, but can certainly be used for individual work types. For example, a User Story heuristic can be an extremely effective way of creating smaller, simpler work increments, allowing teams to provide empirical forecasts without the need for estimating how long individual stories will take. However, if you are able to incorporate this concept from the portfolio level down, the idea is that you define each work type (e.g. Program, Project, Feature, User Story, etc.) along with a Slicing Heuristic, which forms part of that work type’s Definition of Ready.
We are giving estimation for planing budget, sales proposals etc. but we can not estimate variablility and complexity of software systems. So we need a better approach to forecast team throughput by using past infomation, here is the #noestimation.
Budgeting, Estimation, Planning, and #NoEstimates: They All Make Sense for Ag...Josiah Renaudin
Many levels of estimation are practiced in agile, including budgeting, high-level estimation, and task planning (detailed estimation). That might seem like an anathema to agile, but it is not. Mike Harris shares a case study that provides an approach that “checks the box” for standard corporate estimation requirements while staying true to the agile planning and estimation processes. Using the Agile Planning Onion popularized by Mike Cohn, this approach includes team and project level implementations of #NoEstimates concepts. Take away an approach that you can apply to testing for both small and large agile efforts. Most planning and estimating activities for agile testing focus on answering a few very basic questions: When will it be done? How much will it cost? What will actually get tested? Using agile development and testing techniques doesn’t abrogate the need to answer those questions, but it also does not mean testing has to revert to waterfall planning and management techniques.
#NoEstimates project planning using Monte Carlo simulationDimitar Bakardzhiev
Here is the text behind the slides http://www.infoq.com/articles/noestimates-monte-carlo
Here is a video I prepared in order to help people understand how to plan a release using the Monte Carlo simulation in MS Excel http://youtu.be/r38a25ak4co
And here is an Excel file to show how Monte Carlo is done http://modernmanagement.bg/data/NoEstimate_Project_Planning_MonteCarlo.xlsx
Here are the SIPs for the baseline project http://modernmanagement.bg/data/SIPs_MonteCarlo_FVR.xlsx
Here is the planing simulation in Excel http://modernmanagement.bg/data/High_Level_Project_Planning.xlsx
The video ( after the 3:00 minute) http://youtu.be/GE9vrJ741WY on how to use the Excel files
"Will Git Be Around Forever? A List of Possible Successors" from Devoxx 2022🎤 Hanno Embregts 🎸
Ten years ago, only Linux kernel committers and other early adopters used Git. Almost everyone else used Subversion. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now? And what features would YOU want from your version control software in 2032? No history rewrites? Faster? No merge conflicts ever?
In this talk I'll discuss a few post-Git products, including Fossil, Plastic and Pijul, and their support for the features we so dearly desire. I'll also try to predict which one will be 'the top dog' in 2032.
So attend this session if you're excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 😀
Software contracts - Global Enterprise Agile 2023.pdfSeb Rose
The rise of micro-service architectures offers the promise of a more agile software development process.
Software systems will be made up of many collaborating components which are developed, deployed and operated by distributed teams and organizations. But how can we avoid a recurring configuration nightmare (c.f. DLL hell) and ensure that we benefit from the promised flexibility, rather than creating a fragile, distributed monolith?
Contract testing offers an excellent solution.
Participants will be able to:
- Explain why contract testing is critically important
- Describe how to incorporate contract testing in your development practices
- Show their team where they can get an introduction to the open source tool, Pact.
Micro-service delivery - without the pitfallsSeb Rose
The days of delivering a monolithic desktop application once a year on physical media are long gone. Today we expect continuous (or at least frequent) delivery of upgrades and security patches with zero downtime. To support this, more and more companies are moving to a distributed, cloud-based architecture of collaborating micro-services. But managing and testing an evolving of a micro-service ecosystem is not without it’s challenges.
In this session we’ll examine what can go wrong when organisations jump headfirst into micro-service architectures without understanding the potential pitfalls. You’ll leave with an understanding of the techniques and tooling necessary to reap the benefits of increased flexibility and velocity without creating additional risk or deployment nightmares.
New software development approaches continue to be promoted. You may be aware of waterfall, RUP, 4GLs, 3-tier client server – all still alive and kicking in some domains. You will be familiar with some (or all) of Agile, Kanban, DevOps, SAFe, No Code/Low Code and many others. A new kid on the block is DevSecOps. What does that mean? Why is it important? How will it affect agile software teams? If we adopted the tenets of DevSecOps without calling it DevSecOps would it “smell just as sweet”? What would it “smell” like if we spun up a DevSecOps team, without understanding the fundamental challenges that DevSecOps was intended to overcome? In this session I’ll explore the origins of DevSecOps before going on to demonstrate how there’s often a distance between the label and the intent of DevSecOps. Finally I’ll discuss the impact that DevSecOps can have on our agile teams and organisations based on my perspective gathered over a 40 year career in software.
Microservices architecture has become the new norm in software development. CI/CD delivery had made releasing updates so frequent it’s almost a daily thing. Modern Software delivery allows no downtime and creates new challenges.
In this webinar, Seb Rose, Continuous Improvement Lead at SmartBear, and Alon Eizenman, CTO & Co-Founder at SeaLights will examine what can go wrong when organizations jump headfirst into microservices architectures without understanding the potential pitfalls.
Join this webinar to learn:
Techniques and tooling necessary to reap the benefits of increased flexibility and velocity without creating additional risk or deployment nightmares
How to gain visibility to ensure your coverage in each microservice
How to set quality gates without delaying release to production
Example mapping - slice any story into testable examples - SoCraTes 2022.pdfSeb Rose
Example mapping is a simple but powerful technique for structuring the conversation you need to have before a user story goes into development. If you are struggling with user stories that are too big, or hard to test, or you're finding that the team are not all on the same page about the scope of a user story, Example Mapping could be just what you need. Using a regular pack of coloured index cards, we'll work in groups to practice breaking down the details of a user story, capturing the business rules, examples of those rules, and any questions or assumptions that emerge. Example mapping is a great input to a BDD or ATDD process, but that's not essential. You'll still get a lot out of this conversation technique even if you don't turn the examples into automated tests.
Software testing - learning to walk again (expoQA22)Seb Rose
Software testing seems to advance at an ever increasing pace. However, lurking under the surface of relentless progress, Seb Rose believes there is a rich strata of continuity. In this session he will explore these foundational aspects of our trade - informally and illustrated by some pretty pictures.
The first article Seb wrote for a software journal was in 2003 (https://accu.org/index.php/articles/363) where he drew an awkward analogy between software projects and building a shed. Over the years, he has found that he has a penchant for analogies and this session will continue in that vein. Don’t worry, though, he’s not going to bore you with pictures of building sites or aphorisms from lean manufacturing.
Instead, he’ll take you on a gentle walk on some mountainous paths in the south of France. There’ll be red wine and automated testing; oak forests and scope creep; deep river gorges and CI pipelines. He’ll ask you to walk with him and take a close look at the concepts that underpin our trade.
“We must learn to walk before we can run” is an age-old adage. We all learned to walk decades ago. Many of us learnt how to test software shortly thereafter. However, just as running is not simply walking faster, neither is better software testing simply working with the latest shiny tools. By slowing down, observing our behaviour, considering alternatives, and deliberately practicing different approaches we can re-learn how to develop software. Or confirm that how we’re doing it now is just fine.
As Jon Jagger reminds us in the FAQ of the wonderful Cyber-Dojo: “Stop trying to go faster; start trying to go slower. Don’t think about finishing; think about improving. Think about practicing.”
From this keynote, you’ll enjoy a gentle walk on some mountainous paths in the south of France, some red wine with unit testing and above all understand how to walk before running.
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021Seb Rose
New software development approaches continue to be promoted. You may be aware of waterfall, RUP, 4GLs, 3-tier client server – all still alive and kicking in some domains. You will be familiar with some (or all) of Agile, Kanban, DevOps, SAFe, No Code/Low Code and many others.
A new kid on the block is DevSecOps. What does that mean? Where did it come from? Why is it important? If we adopted the tenets of DevSecOps without calling it DevSecOps would it “smell just as sweet”? What would it “smell” like if we spun up a DevSecOps team, without understanding the fundamental challenges that DevSecOps was intended to overcome?
In this session I’ll explore the origins of DevSecOps before going on to demonstrate the distance between the label and the intent of DevSecOps. Finally I’ll try to generalise the journey from “good idea” to “empty slogan” that seems to underpin many of the hyped transformations that I’ve lived through during my 40 year career in software.
A brief history of requirements - Unicom 2022Seb Rose
Was there a time before requirements? Can the product be created before the requirements? Is a product ever “finished”? These are just some of the questions considered in this session. It begins by reviewing the great requirement formalisms of yester-year, before delving into the secrets which still lie at the heart of agile product development, from user stories to living documentation, via confetti parties and Behaviour Driven Development (BDD)
* BDUF – Big Design Up Front
** JIT – Just In Time
Example mapping (with builds) - ProductWorld 2022Seb Rose
Is your team struggling with unproductive meetings and workshops? Are you unsatisfied with how your team comes together to refine requirements and specify solutions? Have you heard about example mapping and want to know more?
Specifying and delivering software is a process of discovery. No team has ever delivered a valuable product without discovering many things during the development process, but many teams struggle to get good at discovery. Matt Wynne created a technique called example mapping that has helped thousands of teams around the world use examples to reach a shared understanding of the problems that need solved. As a consequence there are fewer misunderstandings, fewer disagreements, and a smoother flow of value delivery.
Is your team struggling with unproductive meetings and workshops? Are you unsatisfied with how your team comes together to refine requirements and specify solutions? Have you heard about example mapping and want to know more?
Specifying and delivering software is a process of discovery. No team has ever delivered a valuable product without discovering many things during the development process, but many teams struggle to get good at discovery. Matt Wynne created a technique called example mapping that has helped thousands of teams around the world use examples to reach a shared understanding of the problems that need solved. As a consequence there are fewer misunderstandings, fewer disagreements, and a smoother flow of value delivery.
No code, low code, machine code QA ATL 2021Seb Rose
Everything looks solvable if you ignore most of the complications. Many things look impossible if you’re stuck in the weeds. The current fashion for low/no code solutions heralds the cyclical return to looking for solutions that require softer skillsets. When is this appropriate and when is it a recipe for disaster?
No code, low code, machine code QA ATL 2021Seb Rose
Everything looks solvable if you ignore most of the complications. Many things look impossible if you’re stuck in the weeds. The current fashion for low/no code solutions heralds the cyclical return to looking for solutions that require softer skillsets. When is this appropriate and when is it a recipe for disaster?
No code, low code, machine code - Unicom 2021Seb Rose
Everything looks solvable if you ignore most of the complications. Many things look impossible if you’re stuck in the weeds. The current fashion for low/no code solutions heralds the cyclical return to looking for solutions that require softer skillsets. When is this appropriate and when is it a recipe for disaster?
BDD: from soup to nuts - The Future of Work Scotland 2021Seb Rose
Behaviour Driven Development (BDD) is an agile approach to delivering software that has been around for well over a decade. It was created to help developers care about quality, morphed into a collaboration approach, and found widespread mis-adoption as a test automation technique.
In this session Seb will explain how BDD is intended to work, what value it delivers when done well, and why much BDD in the workplace falls short.
Learning Objectives:
What can our attendees expect to take away from the session?
● enumerate the three core practices of BDD
● explain the difference between BDD and test automation
● argue that collaboration and learning are at the heart of successful software development
Contrasting test automation and BDD - 2020Seb Rose
Test automation and BDD are related, but they are not the same. To get the most out of each of them, we need to understand the separate challenges that they address before getting engrossed in the tools that have been created to facilitate their adoption. And those challenges are rooted in the interactions between the different disciplines involved in software specification and delivery.
In this session we’ll explore what test automation and BDD are - and how they separately contribute to successful inter-disciplinary agile delivery. We'll also spend some time describing how they're different, and look at several typical examples of what can go wrong when BDD and test automation get confused.
Are BDD and test automation the same thing? Automation Guild 2021Seb Rose
Test automation and behaviour-driven development (BDD) are related, but they are not the same. To get the most out of each of them, we need to understand the separate challenges that they address before getting engrossed in the tools that have been created to facilitate their adoption. And those challenges are rooted in the interactions between the different disciplines involved in software specification and delivery.
In this session we’ll explore what test automation and BDD are – and how they separately contribute to successful inter-disciplinary agile delivery. We’ll also spend some time describing how they’re different, and look at several typical examples of what can go wrong when BDD and test automation get confused.
"Our BDDs are broken!" Lean Agile Exchange 2020Seb Rose
Is the goal of your QA team to increase the number of automated tests? Are managers looking for tools that allow test-automation without the need for development skills? Are you using Given/When/Then phrasing to write automation tests?
In this session we’ll briefly define what BDD is, spend a bit longer describing what it isn’t, and look at several typical examples of what can go wrong if you use Cucumber when you’re not following a BDD approach.
User stories: from good intentions to bad advice - Agile Scotland 2019Seb Rose
These are the slides I wanted to use at Agile Scotland 2019. Unfortunately, my laptop refused to play ball and I ended up using an older version that was already on SlideShare.
User stories: from good intentions to bad advice - Lean Agile Scotland 2019Seb Rose
User stories are one of the most visible artefacts of most agile methods and, as such, have generated large quantities of expert advice. In my experience, much of that advice is open to misinterpretation.
In this session, we'll explore several classic pieces of advice, to see how misunderstandings can cause problems, despite the best intentions. The examples we'll look at are:
- an acronym: INVEST, created by Bill Wake
- a technique: relative estimation using story points, created by Ron Jeffries or Joseph Pelrine
- a template: Connextra (As-A/I-Want/So-That), created by Rachel Davies
Expert advice taken in good faith, that leads to bad outcomes, can cause us to become distrustful. It's time to reiterate that there is no magic formula, no silver bullet. At best, experts can lend you a framework within which to think, but their advice will never make thinking unnecessary.
Software contracts or: how I learned to stop worrying and love releasing. Agi...Seb Rose
The test automation pyramid suggests that we should favour unit and integration tests over end-to-end tests, which leads developers to use test doubles (fakes, stubs, mocks etc.). The risk is that the developer's test double does not behave in exactly the same way as the actual component that it is replacing. When this happens, the tests all pass in your build pipeline, but you get failures when it's released into an integration (or production) environment.
Contract testing is a technique that can give you confidence that your test doubles are accurately simulating the dependencies that they replace. This is not a new technique, but the extra investment in creating and maintaining (yet another) suite of tests has restricted its uptake. Instead, organizations mitigate the risks by investing in more and more integration environments and end-to-end tests. This was always expensive, but with the adoption of micro-service architectures across the industry, the cost and complexity has escalated to a point where this approach is no longer sustainable.
There is now an urgent need for organizations to revisit contract testing, with a specific focus on consumer driven contracts for micro-services. This need led to the creation of the Pact open source tool for HTTP based micro-services. The Pact project has created a multi-platform suite of tools that dramatically simplifies the adoption of contract testing.
In this session, you'll learn why contract testing is critically important, look at how you can incorporate contract testing in your development practices, and get an introduction to Pact.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
5. @sebrose h)p://cucumber.io
Warren Ellis, author & humanist
“I try not to get involved in the
business of predic'on.
It's a quick way to look like an idiot.”
6. @sebrose h)p://cucumber.io
The Cone of Uncertainty in Project Management
26. @sebrose h)p://cucumber.io
Probabilis5c
planning
...uses historical data or a model of
expected capability to build a
forecast of the project outcome
31. @sebrose h)p://cucumber.io
“... rather than trying to improve the ini>al project
es>mates, the budgets and deadlines must be set
based on the value of delivery (not the cost).”
h)p://www.gilb.com/dl460
Es5ma5on:
A Paradigm Shig Toward
Dynamic Design-‐to-‐Cost
and
Radical Management
34. @sebrose h)p://cucumber.io
"We aren't really bad at
es5ma5ng.
What we are really bad at
is enumera5ng all the
assump5ons that lie
behind our es5mates."
-‐Paul Rook
35. @sebrose h)p://cucumber.io
Is it small,
or just far away?
42. @sebrose h)p://cucumber.io
The idea behind the #NoEs5mates
approach to sogware development
isn't to eliminate es:mates
[it is] to explore other ways to solve
problems
without specifically asking,
'How long will it take?'
h)p://www.cio.com/ar5cle/2381167/agile-‐development/-‐no-‐es5mates-‐in-‐ac5on-‐5-‐ways-‐to-‐rethink-‐sogware-‐projects.html
43. @sebrose h)p://cucumber.io
Giving sogware projects an API
... [is] about
“yes, yes, yes”.
h)p://xprogramming.com/ar5cles/ar5facts-‐are-‐not-‐the-‐problem/
44. @sebrose h)p://cucumber.io
Ask yourself whether the value you get from
es5mates jus5fies the cost of producing them.
#NoEs:mates is the banner under which
people look for alterna:ve ways
of gerng
the benefits that they want,
without
the waste that they don’t.
Finally....