SlideShare a Scribd company logo
1 of 66
Download to read offline
Agility via Software
Engineering Practices
Agile Tour Montréal - November 2015
Steve Mercier
Who am I?
I participated in multiple software development projects:
• from very small (<10 person) to large (~400 persons)
• from a long time ago (>20 years) up to now
• from different angles/roles: Developer, Architect, PM, DevOps/
BuildMaster, Software Release Manager
• I have seen software methods/processes come and go: Waterfall,
RUP, OpenUP, XP, Scrum, Scaled Agile, etc.
But the essential remains:
I believe that to produce good software, it takes good people +
resources AND discipline/professionalism/focus!
But enough about me
What about you?
Are You Agile?
Agile is not easy… and is not only about ceremonies + tools!
A few questions
• Raise your hand, if you participate in:
• Daily stand-up meetings
• Sprint planning meetings
• Sprint reviews and demos
• Sprint retrospectives and lessons learned
• Regular backlog grooming sessions
Now THE question
• By raising your hand
• Who believes that he/she works in an Agile
environment?
What would be a good
measure of Agility
anyway?
We will come back to this at the end
What is your (real) release
frequency?
• At what frequency are you delivering software updates that add value to
your clients?
• Once a year?
• Once a quarter?
• Once a month?
• Once a sprint?
• Once a day?
Without breaking any previously delivered
business value that you want to retain…?
Scrum Overview
Agile Simplified Overview
How can we ensure this loop works smoothly and fast?
Client
PO
Team
Delivery
What are the typical
Agile issues?
Elements preventing Agility that could be fixed
by a specific software development practice?
Agile Issue #1:
Communication Issues
Dozens of ways to communicate
With more and more possibilities, growing!
Communication Issue Example
“But, I published my design document on SharePoint!”
Communication Issue Example
“But, I sent you an email!”
Communication Issue Proposition
Only one truly Agile communication technique: Dialog!
What technique can improve dialog?
You could consider BDD to close the communication
gap between business people and technical people
Agile Issue #2:
Manual Interventions
Everything not automated
reduces your Agility
Manual triggers can take a long time
Manual = Time++;
As your manager might say
Time == Money();
What techniques can reduce manual steps?
You could consider using DevOps:
CI server, CD server, Infrastructure as Code to automate
as mush as possible your release process
DevOps
Client
PO
Team
Delivery
What techniques can reduce manual steps?
Continuous Integration
What techniques can reduce manual steps?
Continuous Delivery/Deployment
What techniques can reduce manual steps?
Infrastructure As Code
Agile Issue #3:
Customers not really
validating increments
Not fully involved customer…
Customer not validating increments
Proposition
You should again consider using BDD to involve your
customers as much as possible; this would ensure a
relationship between the needs and the demo
• Various things could contribute to this issue (cumulative!):
• Specifications created without customer’s involvement
• Specifications not properly handed over to teams for execution
• Specifications not validated automatically or systematically every sprint
• Customers not involved in sprint demos or not giving feedback during demos
• Not delivering produced software regularly to customers for evaluation
Remember, you want this
Not that!
Agile Issue #4:
PO wants it all
(aka priority
management issue)
Be careful about
scope creep and
absence of
prioritization!
PO wanting it all
I do not really have a specific technique
for this one…
I suggest selecting the right PO in the first
place
AND
then to use proper backlog grooming
techniques
(Buy him the book 50 quick ideas to
improve your user stories by Gojko Adzic)
Agile Issue #5:
Demos done from
unreleased software
(aka Works at my desk)
Your software must have it!
Demos from unreleased software /
Difficulty to release in production
Involve Ops people in sprints
Releasing in prod should be doable by
anyone, anytime, using a single click
(rollback is obviously a feature you will want!)
Agile practices to
overcome the presented
Agile issues
Intro to a few + associated
tools
BDD—Behaviour
Driven Development
BDD—Behaviour Driven Development
Bridges the gap between customers/business people
and teams
1-An
technology
agnostic
feature file
developed
with your
users
This is
somehow an
executable
specification
2-A technology
specific code
generator
(SpecFlow/C#,
JBehave/Java,
Behave/Python,
etc.)
BDD—Behaviour Driven Development
3-Complete cycle
with inner TDD
BDD—Behaviour Driven Development
CI—Continuous
Integration
Continuous Integration
Continuous Builds, Continuous Testing, Continuous
Inspections
Continuous Integration
Not only build on commit by the continuous integration
server, but also:
• Systematic unit tests (e.g. NUnit, JUnit)
• Aim at 70-90% code coverage
• Measure your coverage (e.g. dotCover, NCover)
• Code inspections (static analysis, linter, code complexity)
Continuous Integration
cont’d:
• Publish built artifacts on artifacts server (e.g. Artifactory)
• Deploy into staging environments
• Run integration/functional testing
• Run performance testing
• Publish reports of selected metrics for the above
elements (e.g. SonarQube)
CD—Continuous
Delivery/Deployment
Continuous Delivery/Deployment
Always have a shippable version available for your customers
Ex: GO CD (from Thoughtworks - now Open Source)
You can integrate your CI servers (Jenkins) with a CD server
Continuous Delivery/Deployment
A good practice to deploy gradually using cascaded
environments:
• (Development)
• Test
• Less resources, used mostly to validate business logic
• Staging/Pre-Production
• More representative of the production environment. Can be
used for load/performance testing. Typically uses a data set
that is a copy of the Production data set.
• Production
IaC—Infrastructure as
Code
Infrastructure as Code
Your code is under CM, but your
infrastructure is typically not! It also needs
to be versioned, tracked and automated!
There are so many tools available. But essentially,
keep ALL under source control, including what it takes
to reproduce your production environment from ZERO
Infrastructure as Code
• How to restart a hardware environment/virtual machines
• How to install the platform on the machines
• How to install the applications on the platforms
• How to configure the whole stack
• The databases schemas and content
• Everything!
If you are not convinced, think about your disaster
recovery plan (you have one, right?)
Infrastructure as Code
What if your server room is destroyed by water/
fire? (or the one from your cheap cloud provider…)
With IaC at least, the software part is covered in
case of disaster
DevOps
DevOps
• A Good app without an infrastructure to run it is useless…
• A superb, scalable infrastructure without an app adding
business value to a customer is also useless…
• You need both!
• DevOps should not be a separate team! It serves to
bridge the gap between development and operations
teams.
• And if you are not convinced that DevOps cannot
typically be a single person’s responsibility…
DevOps related tools
Agile Values vs.
Agile Practices
Agility is more than Agile values and
ceremonies
It is acting as per the Agile values and
producing software with related best practices
But where to start?
Every Agile cycle, try to improve on those issues, trying
to automate everything you can, while having the
conversation with your key stakeholders
What would be a good
measure of Agility
anyway?
Suggestion #1:
The frequency at which you are
delivering software updates
that add business value to your clients
without breaking any previously
delivered business value that you
want to retain
(aka The capability to release)
Suggestion #2:
The time it takes you to deliver
the smallest change/fix to your
software in production
(aka The time to release)
Engineering requirements to attain
Agility:
Good people with good tools,
applying proven software
development best practices
consistently with discipline
using continuous improvement
principles
Questions or
comments?
© Pyxis Technologies inc.
Thanks!
© Pyxis Technologies inc.
Titre sur mesure
POINTS FORTS 1
T h a n k&yo u !
Questions
pyxis&tech.com

More Related Content

What's hot

DevOps Certification
DevOps CertificationDevOps Certification
DevOps CertificationAakash Yadav
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)Brad Appleton
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Explore Events of Scrum Framework
Explore Events of Scrum FrameworkExplore Events of Scrum Framework
Explore Events of Scrum FrameworkNaveen Kumar Singh
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition StrategiesAlec Lazarescu
 
DevOps Transformation - Another View
DevOps Transformation - Another ViewDevOps Transformation - Another View
DevOps Transformation - Another ViewAgron Fazliu
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?XebiaLabs
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDDicodingEvent
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrumSoftServe
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016w2fong
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar SlidesWayne Greene
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachIevgenii Katsan
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
 

What's hot (20)

DevOps
DevOpsDevOps
DevOps
 
DevOps Certification
DevOps CertificationDevOps Certification
DevOps Certification
 
Agile vs dev ops
Agile vs dev opsAgile vs dev ops
Agile vs dev ops
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Explore Events of Scrum Framework
Explore Events of Scrum FrameworkExplore Events of Scrum Framework
Explore Events of Scrum Framework
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition Strategies
 
DevOps Transformation - Another View
DevOps Transformation - Another ViewDevOps Transformation - Another View
DevOps Transformation - Another View
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrum
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
 

Similar to Agility via Software Engineering Practices - Agile Tour Montreal 2015

To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfEcosmobTechnologies1
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryNajib Radzuan
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...SlideTeam
 
Data Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsData Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsAnant Corporation
 
Dev ops training in chennai
Dev ops training in chennaiDev ops training in chennai
Dev ops training in chennairaj esaki
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)Ahmed Misbah
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & TestQualitest
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Jean-Philippe Briend
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)Nitin Bhide
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDFMayank Kumar
 
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...
CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in...CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in...
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...Erez PEDRO
 
Webinar Driving DevOps
Webinar Driving DevOpsWebinar Driving DevOps
Webinar Driving DevOpsDelta-N
 

Similar to Agility via Software Engineering Practices - Agile Tour Montreal 2015 (20)

To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...To successfully deliver your IT project: build your team, build your Agile it...
To successfully deliver your IT project: build your team, build your Agile it...
 
Key items for a digital enterprise
Key items for a digital enterpriseKey items for a digital enterprise
Key items for a digital enterprise
 
Comprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdfComprehensive Guide to Hire DevOps Engineer.pdf
Comprehensive Guide to Hire DevOps Engineer.pdf
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software Delivery
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
Data Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps FundamentalsData Engineer's Lunch #68: DevOps Fundamentals
Data Engineer's Lunch #68: DevOps Fundamentals
 
Dev ops training in chennai
Dev ops training in chennaiDev ops training in chennai
Dev ops training in chennai
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
 
Agile, DevOps & Test
Agile, DevOps & TestAgile, DevOps & Test
Agile, DevOps & Test
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
 
DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)DevOps - Understanding Core Concepts (Old)
DevOps - Understanding Core Concepts (Old)
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Agility in DevOPS
Agility in DevOPSAgility in DevOPS
Agility in DevOPS
 
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...
CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in...CodeValue Architecture Next 2018 - Executive track  dilemmas and solutions in...
CodeValue Architecture Next 2018 - Executive track dilemmas and solutions in...
 
Webinar Driving DevOps
Webinar Driving DevOpsWebinar Driving DevOps
Webinar Driving DevOps
 

Recently uploaded

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 

Recently uploaded (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

Agility via Software Engineering Practices - Agile Tour Montreal 2015

  • 1. Agility via Software Engineering Practices Agile Tour Montréal - November 2015 Steve Mercier
  • 2. Who am I? I participated in multiple software development projects: • from very small (<10 person) to large (~400 persons) • from a long time ago (>20 years) up to now • from different angles/roles: Developer, Architect, PM, DevOps/ BuildMaster, Software Release Manager • I have seen software methods/processes come and go: Waterfall, RUP, OpenUP, XP, Scrum, Scaled Agile, etc. But the essential remains: I believe that to produce good software, it takes good people + resources AND discipline/professionalism/focus!
  • 5. Are You Agile? Agile is not easy… and is not only about ceremonies + tools!
  • 6. A few questions • Raise your hand, if you participate in: • Daily stand-up meetings • Sprint planning meetings • Sprint reviews and demos • Sprint retrospectives and lessons learned • Regular backlog grooming sessions
  • 7. Now THE question • By raising your hand • Who believes that he/she works in an Agile environment?
  • 8. What would be a good measure of Agility anyway? We will come back to this at the end
  • 9. What is your (real) release frequency? • At what frequency are you delivering software updates that add value to your clients? • Once a year? • Once a quarter? • Once a month? • Once a sprint? • Once a day? Without breaking any previously delivered business value that you want to retain…?
  • 11. Agile Simplified Overview How can we ensure this loop works smoothly and fast? Client PO Team Delivery
  • 12. What are the typical Agile issues? Elements preventing Agility that could be fixed by a specific software development practice?
  • 14. Dozens of ways to communicate With more and more possibilities, growing!
  • 15. Communication Issue Example “But, I published my design document on SharePoint!”
  • 16. Communication Issue Example “But, I sent you an email!”
  • 17. Communication Issue Proposition Only one truly Agile communication technique: Dialog!
  • 18. What technique can improve dialog? You could consider BDD to close the communication gap between business people and technical people
  • 19. Agile Issue #2: Manual Interventions
  • 21. Manual triggers can take a long time Manual = Time++;
  • 22. As your manager might say Time == Money();
  • 23. What techniques can reduce manual steps? You could consider using DevOps: CI server, CD server, Infrastructure as Code to automate as mush as possible your release process DevOps Client PO Team Delivery
  • 24. What techniques can reduce manual steps? Continuous Integration
  • 25. What techniques can reduce manual steps? Continuous Delivery/Deployment
  • 26. What techniques can reduce manual steps? Infrastructure As Code
  • 27. Agile Issue #3: Customers not really validating increments
  • 28. Not fully involved customer…
  • 29. Customer not validating increments Proposition You should again consider using BDD to involve your customers as much as possible; this would ensure a relationship between the needs and the demo • Various things could contribute to this issue (cumulative!): • Specifications created without customer’s involvement • Specifications not properly handed over to teams for execution • Specifications not validated automatically or systematically every sprint • Customers not involved in sprint demos or not giving feedback during demos • Not delivering produced software regularly to customers for evaluation
  • 32. Agile Issue #4: PO wants it all (aka priority management issue)
  • 33. Be careful about scope creep and absence of prioritization!
  • 34. PO wanting it all I do not really have a specific technique for this one… I suggest selecting the right PO in the first place AND then to use proper backlog grooming techniques (Buy him the book 50 quick ideas to improve your user stories by Gojko Adzic)
  • 35. Agile Issue #5: Demos done from unreleased software (aka Works at my desk)
  • 36. Your software must have it!
  • 37. Demos from unreleased software / Difficulty to release in production Involve Ops people in sprints Releasing in prod should be doable by anyone, anytime, using a single click (rollback is obviously a feature you will want!)
  • 38. Agile practices to overcome the presented Agile issues Intro to a few + associated tools
  • 40. BDD—Behaviour Driven Development Bridges the gap between customers/business people and teams 1-An technology agnostic feature file developed with your users This is somehow an executable specification
  • 42. 3-Complete cycle with inner TDD BDD—Behaviour Driven Development
  • 44. Continuous Integration Continuous Builds, Continuous Testing, Continuous Inspections
  • 45. Continuous Integration Not only build on commit by the continuous integration server, but also: • Systematic unit tests (e.g. NUnit, JUnit) • Aim at 70-90% code coverage • Measure your coverage (e.g. dotCover, NCover) • Code inspections (static analysis, linter, code complexity)
  • 46. Continuous Integration cont’d: • Publish built artifacts on artifacts server (e.g. Artifactory) • Deploy into staging environments • Run integration/functional testing • Run performance testing • Publish reports of selected metrics for the above elements (e.g. SonarQube)
  • 48. Continuous Delivery/Deployment Always have a shippable version available for your customers Ex: GO CD (from Thoughtworks - now Open Source) You can integrate your CI servers (Jenkins) with a CD server
  • 49. Continuous Delivery/Deployment A good practice to deploy gradually using cascaded environments: • (Development) • Test • Less resources, used mostly to validate business logic • Staging/Pre-Production • More representative of the production environment. Can be used for load/performance testing. Typically uses a data set that is a copy of the Production data set. • Production
  • 51. Infrastructure as Code Your code is under CM, but your infrastructure is typically not! It also needs to be versioned, tracked and automated!
  • 52. There are so many tools available. But essentially, keep ALL under source control, including what it takes to reproduce your production environment from ZERO Infrastructure as Code • How to restart a hardware environment/virtual machines • How to install the platform on the machines • How to install the applications on the platforms • How to configure the whole stack • The databases schemas and content • Everything!
  • 53. If you are not convinced, think about your disaster recovery plan (you have one, right?) Infrastructure as Code What if your server room is destroyed by water/ fire? (or the one from your cheap cloud provider…) With IaC at least, the software part is covered in case of disaster
  • 55. DevOps • A Good app without an infrastructure to run it is useless… • A superb, scalable infrastructure without an app adding business value to a customer is also useless… • You need both! • DevOps should not be a separate team! It serves to bridge the gap between development and operations teams. • And if you are not convinced that DevOps cannot typically be a single person’s responsibility…
  • 58. Agility is more than Agile values and ceremonies It is acting as per the Agile values and producing software with related best practices
  • 59. But where to start? Every Agile cycle, try to improve on those issues, trying to automate everything you can, while having the conversation with your key stakeholders
  • 60. What would be a good measure of Agility anyway?
  • 61. Suggestion #1: The frequency at which you are delivering software updates that add business value to your clients without breaking any previously delivered business value that you want to retain (aka The capability to release)
  • 62. Suggestion #2: The time it takes you to deliver the smallest change/fix to your software in production (aka The time to release)
  • 63. Engineering requirements to attain Agility: Good people with good tools, applying proven software development best practices consistently with discipline using continuous improvement principles
  • 64. Questions or comments? © Pyxis Technologies inc.
  • 66. Titre sur mesure POINTS FORTS 1 T h a n k&yo u ! Questions pyxis&tech.com