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

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
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
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Recently uploaded (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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 ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

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