SlideShare a Scribd company logo
1
FUG2016Copyright © Serena Software 2016
WE OWN IT!
Dimensions CM:
Agile Software Engineering Practices
Don Irvine
VP ALM Products
2
FUG2016
Agenda
Why modernize your practices?
Managing code change
Feature based development
Reviewing changes
Embrace CI & DevOps
3
FUG2016
Why modernize your practices?
4
FUG2016
Why modernize?
• Makes your development team comfortable
• If a task or process is cumbersome developers will find a way around it
• New hires more familiar with modern practices
• Will improve your efficiency
• Iterate on development work faster
• Reduce the pain of merge activities
• Will improve your quality
• Catch defects earlier
• Catch deployment issues before production
• Aligned with direction of Serena products
5
FUG2016
Process review
• Opportunity to review your processes
• Existing implementation may be many years old
• Dimensions CM has changed over the years
• Industry best practices have evolved (e.g. agile/iterative development)
• Listen to the users
• What don’t they like about existing development practices
• What gets in their way?
• What do they like about current processes?
• Do some root cause analysis
• What is causing issues you see today?
• Failed compilation, failed deployment, failed testing
• Not meeting requirements/standards
• Serena Professional Services can help
6
FUG2016
Managing code change
7
FUG2016
Check-Out/Check-In - Projects
Check-Out Check-In
Code/build/test
Project
Work Area
8
FUG2016
Problems with Check-Out/Check-In
• When parallel check-out is not allowed
• Development becomes serial
• Other users cannot change the file until the lock is released
• When parallel check-out is allowed
• Can lead to multiple tip revisions
• Which version is the latest?
• When do you merge them?
• Revisions in the project may not have been built/tested
• An extra step for the developers
• They just want to edit the code, not check-out first
• Industry has evolved
• This model was the norm 10-15 years ago
9
FUG2016
Copy/Modify/Merge - Streams
Update
Code/build/test
Deliver
Conflicts? YesNo
Stream Work Area
10
FUG2016
Copy/Modify/Merge - Benefits
• Encourages frequent update
• Finds integration issues sooner
• Encourages local build and test before delivery
• Not able to make direct modifications to the stream
• Enables parallel development
• Improves the speed of development
• No need to wait for other users to check-in first
• Locking is still possible for files in a stream
• For files where parallel development is not possible
• No big merge exercise at end of development
• Smaller incremental merges as each developer delivers
11
FUG2016
Copy/Modify/Merge – Benefits…
• Delivery of multiple files in a single changeset
• Logical unit of change
• Instead of individual file/folder operations
• Gives visibility to the change as a whole
• Single change to be built/reviewed/merged
• Results in simple item pedigree
• Single line of descent in a stream
• Easier to identify where a change was introduced
12
FUG2016
When to use Check-Out/Check-In
• Some situations may mean you need to use check-out/check-in
• When files cannot be merged
• Parallel check-out disallowed, enforces development in serial
• When you need to see which files are being changed
• Checking-out gives some visibility to who is working on what
• But you always know which developers are working on which requests
• When user making the changes cannot perform the merge
• Check-Out/Check-In with parallel check-out
• Create multiple tip revisions
• Other users can perform merge later
• When using Dimensions z/OS
• Our recommendation is to use Streams
13
FUG2016
Feature based development
14
FUG2016
Isolating units of work
• Why separate out pieces of work?
• Agile approach (only include in the release what work is complete)
• Will not be affected by defects/changes introduced by other work
• More stable/release-ready software
• Works best if the features are truly separate
• Code does not overlap with that of other features
• Separate software components
• Something with a well defined interface
Mainline
Feature 1
Feature 2
15
FUG2016
How to isolate units of work?
• Using revised baselines
• Use requests to pick and choose which changes go into your baseline
• Build and test that baseline
• But what if changes overlap?
• Using design parts
• Each feature has its own part
• Baseline each part independently
• Merge baselines together to form a release
• Only works if features are separate components
• Using separate streams
• Features developed in separate streams
• Clear separation from other work
• Easy for developers to understand
16
FUG2016
Using separate streams
• Each development project has a mainline
• Maybe one of these for each parallel release of software
• Maybe your releases also feed up to a single mainline
• Separate stream for features or teams
• Branch off the release stream when development starts
Mainline
Release2
Release1
FeatureX
17
FUG2016
How and when to rebase?
• When to “rebase” or update your Streams from mainline?
• When there is a change you are dependent upon
• You may not need to do this at all
• But the longer you leave this the harder your merge will be
Mainline
HotFix
NextRelease
FeatureX
Hot Fix has
completed so the
team decide to
merge it in.
18
FUG2016
How and when to merge?
• How and when to merge
• When testing is complete
• When another team needs your feature
• When Serena Pulse tells you the health and quality are good
• When a release is complete
Mainline
HotFix
NextRelease
FeatureX
Release has
shipped, so can
be merged to
mainline.
19
FUG2016
Some things to consider
• Each stream may need its own infrastructure
• Separate builds for each feature
• Separate deployment areas might be needed
• Testing tools/infrastructure
• Consider how this effects your requests
• Do you have changes that cross multiple features/teams?
• Create high level requests
• Break them down into the changes needed in each stream
• Applies to incoming defects as well as development change requests
• Each Stream may be a mini-development-project
• With stage gates and deliverables and a timescale for merge
• Some naming convention for your streams
• e.g. <RELEASE>_<FEATURE>
20
FUG2016
What is Peer Review?
21
FUG2016
What is Peer Review?
“Examination of a work product by the author and one or more colleagues”
• Design, Documentation, Source, Configuration Files, Scripts, Models etc
• Complete “change” is examined as a whole
• Comparing previous version of each file with the new version
• Also look at new files, removed files and refactoring
“Q: What's the cheapest way to get rid of bugs?”
“A: Don't put them in in the first place”
• Goal of Peer Review is to:
• Find defects/issues in the deliverables
• Improve the quality of the deliverables
• Verify what was implemented meets expectations/requirements
22
FUG2016
The history of Peer Review
• The Fagan process for software inspection (1976)
• Michael Fagan documented the process of formal software inspection [1]
• Defines formal review in terms of roles, inputs, deliverables, meetings
• Peer Review in an agile environment (2001)
• Often referred to as “lightweight” peer review
• Continuous Review (every delivery is reviewed)
• Pair Programming and XP
• Serena Pulse delivers integrated Peer Review with Dimensions CM
(2014)
• Configurable, controlled & audited, collaborative Peer Review
• Bringing all the information together for the reviewers to do their job
[1] M.E., Fagan (1976). "Design and Code inspections to reduce errors in program development". IBM Systems Journal
23
FUG2016
Types of Peer Review
• Pre-delivery (“over the shoulder” review)
• Before the developer checks-in
• Works best for small local teams
• Good opportunity to ask the author questions
• But no audit trail or accountability
• Not practical if multiple people need to do the review
• Continuous Review (on every delivery)
• Automated review process, after the developer checks-in
• Captures audit trail of the review
• Gives reviewers more time to perform the review
• Can work well with teams of reviewers
• Formal Code Inspection (on entire features/components)
• Scheduled review meeting with stakeholders
• Often involves other artefacts (requirements, test plans, training material)
• Works well for highly regulated industries
• Can be costly to perform
24
FUG2016
Why Perform Peer Review?
25
FUG2016
Cost of finding and fixing issues
• Cheaper to find and fix defects during development
26
FUG2016
Improving Software Quality
"If you know someone is going to look at your code afterwards then you are far
more likely to write it better in the first place.“
• Industry average is 5 bugs for every 100 lines of modified code
• Peer Review can catch 65% of all defects [2]
• "given enough eyeballs, all bugs are shallow“ – Linus Torvalds
• Validates the logic/algorithm of the code
• Catches edge cases
[2] Capers Jones (June 2008). “Measuring Defect Potentials and Defect Removal Efficiency”. Crosstalk Magazine
27
FUG2016
Improving Software Security & Maintainability
• Improving Software Security
• Check for common security issues
• Ensure no backdoors or debug code is left in
• Check that standard encryption and authentication are used
• Improving Software Maintainability
• Compliance to company coding standards
• Identify overly complex logic
• Ensure use of common software patterns
• Reviewer needs to understand the authors code
• Improving Software Compliance
• 21 CFR Part 11, SOX, ISO26262 etc
• Part of your audit trail
• Does the delivery include 3rd party components?
• Is software appropriately licensed?
28
FUG2016
Improving Developers Skills
• Developers learn from one-another during Peer Review
• Peer Review improves your “bus factor”
• More developers familiar with the changes being delivered
• Junior Developer reviewing Senior Developers code
• Learns tips and tricks from the author
• Senior Developer reviewing Junior Developers code
• Can get a feeling for how the junior developer is progressing
• Builds a sense of team spirit
• “we are in it together”
29
FUG2016
How to Perform Peer Review?
30
FUG2016
Peer Review practices
• Review and Inspect all delivered files side by side with previous versions
• If possible perform a pre-delivery review
• Have the author walk through the code change
• Encourage reviewers to ask questions
• How did you test it?
• Did you consider any alternative approaches?
• Did you consider edge cases (errors, empty values/lists, large amounts of data etc)?
• Ask about performance and scalability?
• Ask about security implications of the change if any?
• Author will often spot their own mistakes
• Simply during explaining the logic to the reviewer(s)
• Reviewer should be accountable for the change
• If problems are found after review, ask why it was missed
31
FUG2016
Peer Review Practices…
• Promote constructive criticism
• If a reviewer spots a problem have them suggest a solution
• Don’t make reviewing a “blame game”
• Encourage “good” behaviour, not punish “bad” behaviour
• Avoid nit-picking, focus on the high value comments/feedback
• Good Review takes time
• 150 lines of modified code an hour (~2 lines of modified code a minute)
• Don't stop reviewing just because release is imminent
• Drop a feature rather than risk a defect
• Monitor and tune your review process
• Look at metrics/reports
• Are changes being stuck in the review state for too long?
• Are reviews often failing
• Is it one person who is always failing or always approving?
32
FUG2016
Peer Review Checklist
• Checklist of what needs to be done during review
• Could be reminders to the reviewer as to what to check
• Security, Scalability, Performance
• Complexity, Maintainability
• Compliance to standards/guidelines
• Could be very specific to your application/industry
• Different items might be checked-off by different people
• You may need to keep audit trail
• Who check-off what and when
33
FUG2016
It is not just the code
• All artefacts relating to the change should be reviewed
• Requirements, Design, Models/Diagrams, Scripts, Configuration files
• In addition to the source files themselves
• Information from other tools helps reviewer make decision
• Compiler warnings
• Unit test results
• Static Analysis findings
• Style checker results
• Security analysis tool output
• Tools can help automate large reviews
34
FUG2016
The review team
• Many ways to choose reviewers and sign off the review
• Your choice will depend on
• Size of your team
• Regulatory compliance needs
• Complexity of software etc
• Should reviewers be selected by the author?
• In small agile teams this is probably true
• Can reviewer be selected automatically based on knowledge?
• Change to missile detonation software goes to the expert in that area
• One reviewer or more than one?
• Formal highly regulated reviews may have a “lead” reviewer and a team
• Do all reviewers have to agree?
• Does someone have a “veto” over the status of the review?
35
FUG2016
Use Serena Pulse
• Integrated Peer Review process with Dimensions CM
• Automated post-delivery review
• Side by side comparison of artefacts modified
• Including information from other development tools
• Build tools, Static Analysis tools, Style checking tools etc
• Configurable
• Supports lightweight reviews to large formal team based reviews
• Integrated with your CM Request lifecycle & roles
• Collaborative
• Encourages conversation between reviewers and authors
• Modern look and feel – a tool developers will want to use
• Controlled
• Configurable review checklist with full audit trail
• Metrics & Reports to see trends in your review process
36
FUG2016
Peer Review Summary
Peer Review brings many benefits
improved quality, maintainability, security
Consider using Serena Pulse
Configurable, Collaborative, Controlled
Review your current Peer Review process
Does it meet your regulatory needs?
37
FUG2016
CI & DevOps
38
FUG2016
Continuous Integration
• Build and test every change as it is delivered
• Encourage frequent delivery of work in progress
• Finds issues/problems early
• Issues integrating code delivered with other changes
• Gives confidence you’re building on a solid foundation
• Increases visibility of the health of development
• Use Serena Pulse to drive your CI build
• Pulse can kick off build tool on each delivery
• Shows information from build and unit test results
39
FUG2016
Why do we need DevOps?
• Failed deployments are costly to fix
• Deploy worked in dev but failed in production
• The wrong versions got deployed
• Development don’t know what is running production
• Business typically wants to deliver releases more frequently
• Without sacrificing quality or release content
• Development teams, QA and IT operations typically working in silos
• One team hands-off to the other
• The teams use different processes/environments
• There is lack of communication and collaboration between the teams
40
FUG2016
The DevOps solution
• Automate your path to production
• Consistent/repeatable process for deployment
• Faster deployment execution
• Make environments in Dev/Test similar to production
• Same versions of systems, software, components
• Automate provisioning of environments
• Make deployment process in Dev/Test similar to production
• Automate your deployment processes
• Ideally using Serena Deployment Automation
• Raise visibility of release contents/planning/scheduling
• Ideally using Serena Release Control
41
FUG2016
41
Thank You

More Related Content

What's hot

Automation and Release in Federal
Automation and Release in FederalAutomation and Release in Federal
Automation and Release in Federal
Serena Software
 
SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)
Serena Software
 
Centralized Secure Vault with Dimensions CM
Centralized Secure Vault with Dimensions CMCentralized Secure Vault with Dimensions CM
Centralized Secure Vault with Dimensions CM
Serena Software
 
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Serena Software
 
Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016
Serena Software
 
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
Serena Software
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
Serena Software
 
Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016
Serena Software
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Perforce
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
Josh Gough
 
Why agile
Why agileWhy agile
Why agile
MrSnow76
 
SmartTalks: Outsystems and Agile 101
SmartTalks: Outsystems and Agile 101SmartTalks: Outsystems and Agile 101
SmartTalks: Outsystems and Agile 101
ISCTE-IUL ACM Student Chapter
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
Rajnish Chauhan
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Developers
 
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
XebiaLabs
 
ITIL, Release Management and Automation
ITIL, Release Management and AutomationITIL, Release Management and Automation
ITIL, Release Management and Automation
IBM UrbanCode Products
 
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
XebiaLabs
 
Year in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product UpdatesYear in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product Updates
Perforce
 
Southwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
Southwest Airlines Uses Automation to Accelerate and Ensure SOX ComplianceSouthwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
Southwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
Worksoft
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
XebiaLabs
 

What's hot (20)

Automation and Release in Federal
Automation and Release in FederalAutomation and Release in Federal
Automation and Release in Federal
 
SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)SBM Orchestrations - Beginners Guide (FUG Presentation)
SBM Orchestrations - Beginners Guide (FUG Presentation)
 
Centralized Secure Vault with Dimensions CM
Centralized Secure Vault with Dimensions CMCentralized Secure Vault with Dimensions CM
Centralized Secure Vault with Dimensions CM
 
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
 
Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016Mainframe VUG Presentation April 2016
Mainframe VUG Presentation April 2016
 
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
Serena DevOps Drive-in: Leading the Agile and DevOps transformation with Gary...
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016Integrated Requirements Management with Serena Dimensions RM 02-2016
Integrated Requirements Management with Serena Dimensions RM 02-2016
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 
Why agile
Why agileWhy agile
Why agile
 
SmartTalks: Outsystems and Agile 101
SmartTalks: Outsystems and Agile 101SmartTalks: Outsystems and Agile 101
SmartTalks: Outsystems and Agile 101
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for Deployment
 
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
Enterprise Release Management for DevOps & Continuous Delivery/ From Spreadsh...
 
ITIL, Release Management and Automation
ITIL, Release Management and AutomationITIL, Release Management and Automation
ITIL, Release Management and Automation
 
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
Jenkins CI + XebiaLabs for Release Orchestration: A Recipe for Continuous Del...
 
Year in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product UpdatesYear in Review: Perforce 2014 Product Updates
Year in Review: Perforce 2014 Product Updates
 
Southwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
Southwest Airlines Uses Automation to Accelerate and Ensure SOX ComplianceSouthwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
Southwest Airlines Uses Automation to Accelerate and Ensure SOX Compliance
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
 

Viewers also liked

White_Lynx_Portfolio_flat-rgb
White_Lynx_Portfolio_flat-rgbWhite_Lynx_Portfolio_flat-rgb
White_Lynx_Portfolio_flat-rgb
Andy White
 
Progettazione ed implementazione di una piattaforma software per la gestione ...
Progettazione ed implementazione di una piattaforma software per la gestione ...Progettazione ed implementazione di una piattaforma software per la gestione ...
Progettazione ed implementazione di una piattaforma software per la gestione ...
Lorenzo Rossoni
 
Udes ciro
Udes ciroUdes ciro
Assessment of Victim Assistance in Ohio
Assessment of Victim Assistance in OhioAssessment of Victim Assistance in Ohio
Assessment of Victim Assistance in Ohio
Vytas Aukstuolis
 
Ing quimica
Ing quimicaIng quimica
Uso de herramientas para la aplicaciones web.html
Uso de herramientas para la aplicaciones web.htmlUso de herramientas para la aplicaciones web.html
Uso de herramientas para la aplicaciones web.html
Salma Valle Turrubiates
 
FUG Keynote presentation: Vision 2020
FUG Keynote presentation: Vision 2020FUG Keynote presentation: Vision 2020
FUG Keynote presentation: Vision 2020
Serena Software
 
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Serena Software
 
Chapter 4 Finding out What's Wrong
Chapter 4 Finding out What's WrongChapter 4 Finding out What's Wrong
Chapter 4 Finding out What's Wrong
jgmedina1
 
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Serena Software
 
NewTREND Project Overview
NewTREND Project OverviewNewTREND Project Overview
NewTREND Project Overview
IES VE
 

Viewers also liked (11)

White_Lynx_Portfolio_flat-rgb
White_Lynx_Portfolio_flat-rgbWhite_Lynx_Portfolio_flat-rgb
White_Lynx_Portfolio_flat-rgb
 
Progettazione ed implementazione di una piattaforma software per la gestione ...
Progettazione ed implementazione di una piattaforma software per la gestione ...Progettazione ed implementazione di una piattaforma software per la gestione ...
Progettazione ed implementazione di una piattaforma software per la gestione ...
 
Udes ciro
Udes ciroUdes ciro
Udes ciro
 
Assessment of Victim Assistance in Ohio
Assessment of Victim Assistance in OhioAssessment of Victim Assistance in Ohio
Assessment of Victim Assistance in Ohio
 
Ing quimica
Ing quimicaIng quimica
Ing quimica
 
Uso de herramientas para la aplicaciones web.html
Uso de herramientas para la aplicaciones web.htmlUso de herramientas para la aplicaciones web.html
Uso de herramientas para la aplicaciones web.html
 
FUG Keynote presentation: Vision 2020
FUG Keynote presentation: Vision 2020FUG Keynote presentation: Vision 2020
FUG Keynote presentation: Vision 2020
 
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
 
Chapter 4 Finding out What's Wrong
Chapter 4 Finding out What's WrongChapter 4 Finding out What's Wrong
Chapter 4 Finding out What's Wrong
 
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
 
NewTREND Project Overview
NewTREND Project OverviewNewTREND Project Overview
NewTREND Project Overview
 

Similar to FUG Agile software engineering practices

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
Jon Arild Tørresdal
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
ssuserb7c8b8
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptx
ssuser9e9be71
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
PM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan MarkovićPM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan Marković
Software StartUp Academy Osijek
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
Mustafa Savaşcı
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
SmartBear
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
SPC Adriatics
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
Venkat Janardhanam, MS, MBA
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)
Nadeesha Thilakarathne
 
Upfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdkUpfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdk
Narendran Solai Sridharan
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
DBmaestro - Database DevOps
 
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
Ambientia
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 

Similar to FUG Agile software engineering practices (20)

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Borland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptxBorland_intro_v5_csc.pptx
Borland_intro_v5_csc.pptx
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
PM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan MarkovićPM, Scrum and TFS - Ivan Marković
PM, Scrum and TFS - Ivan Marković
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)
 
Upfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdkUpfront adoption & migration of applications to latest jdk
Upfront adoption & migration of applications to latest jdk
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
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 Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 

More from Serena Software

Sneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseSneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF Release
Serena Software
 
The Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
The Top 5 Practices of a Highly Successful ChangeMan ZMF AdministratorThe Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
The Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
Serena Software
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the Gap
Serena Software
 
Take your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena SoftwareTake your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena Software
Serena Software
 
Dimensions CM Summer VUG Presentation
Dimensions CM Summer VUG PresentationDimensions CM Summer VUG Presentation
Dimensions CM Summer VUG Presentation
Serena Software
 
Mainframe vug july 30 2015
Mainframe vug july 30 2015Mainframe vug july 30 2015
Mainframe vug july 30 2015
Serena Software
 
Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast
Serena Software
 
Dimensions CM 14.2 Webcast: Running the Gauntlet
Dimensions CM 14.2 Webcast: Running the GauntletDimensions CM 14.2 Webcast: Running the Gauntlet
Dimensions CM 14.2 Webcast: Running the Gauntlet
Serena Software
 
Continuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchainContinuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchain
Serena Software
 
GoToWebinar Vs Webex
GoToWebinar Vs WebexGoToWebinar Vs Webex
GoToWebinar Vs Webex
Serena Software
 
Deploy Fast Without Breaking Things Webinar Presentation June 25
Deploy Fast Without Breaking Things Webinar Presentation June 25Deploy Fast Without Breaking Things Webinar Presentation June 25
Deploy Fast Without Breaking Things Webinar Presentation June 25
Serena Software
 
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
Serena Software
 

More from Serena Software (12)

Sneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF ReleaseSneak Peek into the New ChangeMan ZMF Release
Sneak Peek into the New ChangeMan ZMF Release
 
The Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
The Top 5 Practices of a Highly Successful ChangeMan ZMF AdministratorThe Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
The Top 5 Practices of a Highly Successful ChangeMan ZMF Administrator
 
DevOps drivein - Mind the Gap
DevOps drivein - Mind the GapDevOps drivein - Mind the Gap
DevOps drivein - Mind the Gap
 
Take your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena SoftwareTake your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena Software
 
Dimensions CM Summer VUG Presentation
Dimensions CM Summer VUG PresentationDimensions CM Summer VUG Presentation
Dimensions CM Summer VUG Presentation
 
Mainframe vug july 30 2015
Mainframe vug july 30 2015Mainframe vug july 30 2015
Mainframe vug july 30 2015
 
Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast Dimensions RM 12.3 webcast
Dimensions RM 12.3 webcast
 
Dimensions CM 14.2 Webcast: Running the Gauntlet
Dimensions CM 14.2 Webcast: Running the GauntletDimensions CM 14.2 Webcast: Running the Gauntlet
Dimensions CM 14.2 Webcast: Running the Gauntlet
 
Continuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchainContinuous Delivery series: How to automate your infrastructure toolchain
Continuous Delivery series: How to automate your infrastructure toolchain
 
GoToWebinar Vs Webex
GoToWebinar Vs WebexGoToWebinar Vs Webex
GoToWebinar Vs Webex
 
Deploy Fast Without Breaking Things Webinar Presentation June 25
Deploy Fast Without Breaking Things Webinar Presentation June 25Deploy Fast Without Breaking Things Webinar Presentation June 25
Deploy Fast Without Breaking Things Webinar Presentation June 25
 
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
Spring Mainframe VUG 2015: How to google your way through your mainframe appl...
 

Recently uploaded

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

FUG Agile software engineering practices

  • 1. 1 FUG2016Copyright © Serena Software 2016 WE OWN IT! Dimensions CM: Agile Software Engineering Practices Don Irvine VP ALM Products
  • 2. 2 FUG2016 Agenda Why modernize your practices? Managing code change Feature based development Reviewing changes Embrace CI & DevOps
  • 4. 4 FUG2016 Why modernize? • Makes your development team comfortable • If a task or process is cumbersome developers will find a way around it • New hires more familiar with modern practices • Will improve your efficiency • Iterate on development work faster • Reduce the pain of merge activities • Will improve your quality • Catch defects earlier • Catch deployment issues before production • Aligned with direction of Serena products
  • 5. 5 FUG2016 Process review • Opportunity to review your processes • Existing implementation may be many years old • Dimensions CM has changed over the years • Industry best practices have evolved (e.g. agile/iterative development) • Listen to the users • What don’t they like about existing development practices • What gets in their way? • What do they like about current processes? • Do some root cause analysis • What is causing issues you see today? • Failed compilation, failed deployment, failed testing • Not meeting requirements/standards • Serena Professional Services can help
  • 7. 7 FUG2016 Check-Out/Check-In - Projects Check-Out Check-In Code/build/test Project Work Area
  • 8. 8 FUG2016 Problems with Check-Out/Check-In • When parallel check-out is not allowed • Development becomes serial • Other users cannot change the file until the lock is released • When parallel check-out is allowed • Can lead to multiple tip revisions • Which version is the latest? • When do you merge them? • Revisions in the project may not have been built/tested • An extra step for the developers • They just want to edit the code, not check-out first • Industry has evolved • This model was the norm 10-15 years ago
  • 10. 10 FUG2016 Copy/Modify/Merge - Benefits • Encourages frequent update • Finds integration issues sooner • Encourages local build and test before delivery • Not able to make direct modifications to the stream • Enables parallel development • Improves the speed of development • No need to wait for other users to check-in first • Locking is still possible for files in a stream • For files where parallel development is not possible • No big merge exercise at end of development • Smaller incremental merges as each developer delivers
  • 11. 11 FUG2016 Copy/Modify/Merge – Benefits… • Delivery of multiple files in a single changeset • Logical unit of change • Instead of individual file/folder operations • Gives visibility to the change as a whole • Single change to be built/reviewed/merged • Results in simple item pedigree • Single line of descent in a stream • Easier to identify where a change was introduced
  • 12. 12 FUG2016 When to use Check-Out/Check-In • Some situations may mean you need to use check-out/check-in • When files cannot be merged • Parallel check-out disallowed, enforces development in serial • When you need to see which files are being changed • Checking-out gives some visibility to who is working on what • But you always know which developers are working on which requests • When user making the changes cannot perform the merge • Check-Out/Check-In with parallel check-out • Create multiple tip revisions • Other users can perform merge later • When using Dimensions z/OS • Our recommendation is to use Streams
  • 14. 14 FUG2016 Isolating units of work • Why separate out pieces of work? • Agile approach (only include in the release what work is complete) • Will not be affected by defects/changes introduced by other work • More stable/release-ready software • Works best if the features are truly separate • Code does not overlap with that of other features • Separate software components • Something with a well defined interface Mainline Feature 1 Feature 2
  • 15. 15 FUG2016 How to isolate units of work? • Using revised baselines • Use requests to pick and choose which changes go into your baseline • Build and test that baseline • But what if changes overlap? • Using design parts • Each feature has its own part • Baseline each part independently • Merge baselines together to form a release • Only works if features are separate components • Using separate streams • Features developed in separate streams • Clear separation from other work • Easy for developers to understand
  • 16. 16 FUG2016 Using separate streams • Each development project has a mainline • Maybe one of these for each parallel release of software • Maybe your releases also feed up to a single mainline • Separate stream for features or teams • Branch off the release stream when development starts Mainline Release2 Release1 FeatureX
  • 17. 17 FUG2016 How and when to rebase? • When to “rebase” or update your Streams from mainline? • When there is a change you are dependent upon • You may not need to do this at all • But the longer you leave this the harder your merge will be Mainline HotFix NextRelease FeatureX Hot Fix has completed so the team decide to merge it in.
  • 18. 18 FUG2016 How and when to merge? • How and when to merge • When testing is complete • When another team needs your feature • When Serena Pulse tells you the health and quality are good • When a release is complete Mainline HotFix NextRelease FeatureX Release has shipped, so can be merged to mainline.
  • 19. 19 FUG2016 Some things to consider • Each stream may need its own infrastructure • Separate builds for each feature • Separate deployment areas might be needed • Testing tools/infrastructure • Consider how this effects your requests • Do you have changes that cross multiple features/teams? • Create high level requests • Break them down into the changes needed in each stream • Applies to incoming defects as well as development change requests • Each Stream may be a mini-development-project • With stage gates and deliverables and a timescale for merge • Some naming convention for your streams • e.g. <RELEASE>_<FEATURE>
  • 21. 21 FUG2016 What is Peer Review? “Examination of a work product by the author and one or more colleagues” • Design, Documentation, Source, Configuration Files, Scripts, Models etc • Complete “change” is examined as a whole • Comparing previous version of each file with the new version • Also look at new files, removed files and refactoring “Q: What's the cheapest way to get rid of bugs?” “A: Don't put them in in the first place” • Goal of Peer Review is to: • Find defects/issues in the deliverables • Improve the quality of the deliverables • Verify what was implemented meets expectations/requirements
  • 22. 22 FUG2016 The history of Peer Review • The Fagan process for software inspection (1976) • Michael Fagan documented the process of formal software inspection [1] • Defines formal review in terms of roles, inputs, deliverables, meetings • Peer Review in an agile environment (2001) • Often referred to as “lightweight” peer review • Continuous Review (every delivery is reviewed) • Pair Programming and XP • Serena Pulse delivers integrated Peer Review with Dimensions CM (2014) • Configurable, controlled & audited, collaborative Peer Review • Bringing all the information together for the reviewers to do their job [1] M.E., Fagan (1976). "Design and Code inspections to reduce errors in program development". IBM Systems Journal
  • 23. 23 FUG2016 Types of Peer Review • Pre-delivery (“over the shoulder” review) • Before the developer checks-in • Works best for small local teams • Good opportunity to ask the author questions • But no audit trail or accountability • Not practical if multiple people need to do the review • Continuous Review (on every delivery) • Automated review process, after the developer checks-in • Captures audit trail of the review • Gives reviewers more time to perform the review • Can work well with teams of reviewers • Formal Code Inspection (on entire features/components) • Scheduled review meeting with stakeholders • Often involves other artefacts (requirements, test plans, training material) • Works well for highly regulated industries • Can be costly to perform
  • 25. 25 FUG2016 Cost of finding and fixing issues • Cheaper to find and fix defects during development
  • 26. 26 FUG2016 Improving Software Quality "If you know someone is going to look at your code afterwards then you are far more likely to write it better in the first place.“ • Industry average is 5 bugs for every 100 lines of modified code • Peer Review can catch 65% of all defects [2] • "given enough eyeballs, all bugs are shallow“ – Linus Torvalds • Validates the logic/algorithm of the code • Catches edge cases [2] Capers Jones (June 2008). “Measuring Defect Potentials and Defect Removal Efficiency”. Crosstalk Magazine
  • 27. 27 FUG2016 Improving Software Security & Maintainability • Improving Software Security • Check for common security issues • Ensure no backdoors or debug code is left in • Check that standard encryption and authentication are used • Improving Software Maintainability • Compliance to company coding standards • Identify overly complex logic • Ensure use of common software patterns • Reviewer needs to understand the authors code • Improving Software Compliance • 21 CFR Part 11, SOX, ISO26262 etc • Part of your audit trail • Does the delivery include 3rd party components? • Is software appropriately licensed?
  • 28. 28 FUG2016 Improving Developers Skills • Developers learn from one-another during Peer Review • Peer Review improves your “bus factor” • More developers familiar with the changes being delivered • Junior Developer reviewing Senior Developers code • Learns tips and tricks from the author • Senior Developer reviewing Junior Developers code • Can get a feeling for how the junior developer is progressing • Builds a sense of team spirit • “we are in it together”
  • 30. 30 FUG2016 Peer Review practices • Review and Inspect all delivered files side by side with previous versions • If possible perform a pre-delivery review • Have the author walk through the code change • Encourage reviewers to ask questions • How did you test it? • Did you consider any alternative approaches? • Did you consider edge cases (errors, empty values/lists, large amounts of data etc)? • Ask about performance and scalability? • Ask about security implications of the change if any? • Author will often spot their own mistakes • Simply during explaining the logic to the reviewer(s) • Reviewer should be accountable for the change • If problems are found after review, ask why it was missed
  • 31. 31 FUG2016 Peer Review Practices… • Promote constructive criticism • If a reviewer spots a problem have them suggest a solution • Don’t make reviewing a “blame game” • Encourage “good” behaviour, not punish “bad” behaviour • Avoid nit-picking, focus on the high value comments/feedback • Good Review takes time • 150 lines of modified code an hour (~2 lines of modified code a minute) • Don't stop reviewing just because release is imminent • Drop a feature rather than risk a defect • Monitor and tune your review process • Look at metrics/reports • Are changes being stuck in the review state for too long? • Are reviews often failing • Is it one person who is always failing or always approving?
  • 32. 32 FUG2016 Peer Review Checklist • Checklist of what needs to be done during review • Could be reminders to the reviewer as to what to check • Security, Scalability, Performance • Complexity, Maintainability • Compliance to standards/guidelines • Could be very specific to your application/industry • Different items might be checked-off by different people • You may need to keep audit trail • Who check-off what and when
  • 33. 33 FUG2016 It is not just the code • All artefacts relating to the change should be reviewed • Requirements, Design, Models/Diagrams, Scripts, Configuration files • In addition to the source files themselves • Information from other tools helps reviewer make decision • Compiler warnings • Unit test results • Static Analysis findings • Style checker results • Security analysis tool output • Tools can help automate large reviews
  • 34. 34 FUG2016 The review team • Many ways to choose reviewers and sign off the review • Your choice will depend on • Size of your team • Regulatory compliance needs • Complexity of software etc • Should reviewers be selected by the author? • In small agile teams this is probably true • Can reviewer be selected automatically based on knowledge? • Change to missile detonation software goes to the expert in that area • One reviewer or more than one? • Formal highly regulated reviews may have a “lead” reviewer and a team • Do all reviewers have to agree? • Does someone have a “veto” over the status of the review?
  • 35. 35 FUG2016 Use Serena Pulse • Integrated Peer Review process with Dimensions CM • Automated post-delivery review • Side by side comparison of artefacts modified • Including information from other development tools • Build tools, Static Analysis tools, Style checking tools etc • Configurable • Supports lightweight reviews to large formal team based reviews • Integrated with your CM Request lifecycle & roles • Collaborative • Encourages conversation between reviewers and authors • Modern look and feel – a tool developers will want to use • Controlled • Configurable review checklist with full audit trail • Metrics & Reports to see trends in your review process
  • 36. 36 FUG2016 Peer Review Summary Peer Review brings many benefits improved quality, maintainability, security Consider using Serena Pulse Configurable, Collaborative, Controlled Review your current Peer Review process Does it meet your regulatory needs?
  • 38. 38 FUG2016 Continuous Integration • Build and test every change as it is delivered • Encourage frequent delivery of work in progress • Finds issues/problems early • Issues integrating code delivered with other changes • Gives confidence you’re building on a solid foundation • Increases visibility of the health of development • Use Serena Pulse to drive your CI build • Pulse can kick off build tool on each delivery • Shows information from build and unit test results
  • 39. 39 FUG2016 Why do we need DevOps? • Failed deployments are costly to fix • Deploy worked in dev but failed in production • The wrong versions got deployed • Development don’t know what is running production • Business typically wants to deliver releases more frequently • Without sacrificing quality or release content • Development teams, QA and IT operations typically working in silos • One team hands-off to the other • The teams use different processes/environments • There is lack of communication and collaboration between the teams
  • 40. 40 FUG2016 The DevOps solution • Automate your path to production • Consistent/repeatable process for deployment • Faster deployment execution • Make environments in Dev/Test similar to production • Same versions of systems, software, components • Automate provisioning of environments • Make deployment process in Dev/Test similar to production • Automate your deployment processes • Ideally using Serena Deployment Automation • Raise visibility of release contents/planning/scheduling • Ideally using Serena Release Control