patterns and antipatterns for adopting ibm devops tools

62
Patterns and Antipatterns for Adopting IBM DevOps Tools DII-2365 Kenny Smith, Principal Consultant Strongback Consulting

Upload: strongback-consulting

Post on 14-Apr-2017

638 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Patterns and Antipatterns for Adopting IBM DevOps Tools

Patterns and Antipatterns for Adopting IBM DevOps ToolsDII-2365Kenny Smith, Principal ConsultantStrongback Consulting

Page 2: Patterns and Antipatterns for Adopting IBM DevOps Tools

About Strongback Consulting

• IBM Advanced Business Partner– Rational, WebSphere, ICS SVP certified– Strongly focused on DevOps, Enterprise Modernization, and application infrastructure– Key Industries Served: Finance, Insurance, Travel, Logistics, Healthcare, Manufacturing, Government– Rational Design Partner for HATS and other Rational enterprise modernization technologies

Discover us at:http://www.strongback.us

Subscribe to us athttp://blog.strongbackconsulting.com

Socialize with us on Facebook & LinkedIn http://www.facebook.com/StrongbackConsulting

http://www.linkedin.com/company/290754

Page 3: Patterns and Antipatterns for Adopting IBM DevOps Tools

3

What do we mean by patterns?

…a general repeatable solution to a commonly occurring problem in software design.

Page 4: Patterns and Antipatterns for Adopting IBM DevOps Tools

4

What is an Anti-Pattern

An anti-pattern (or antipattern) is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

Page 5: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 1: Premature CustomizationA.K.A. “Don’t let people who’ve never used it start customizing it!”

Page 6: Patterns and Antipatterns for Adopting IBM DevOps Tools

Why You Should Not Customize

• Your own process is slow, or problematic– Can your process show metrics that exceeds the OOTB ROI?

• Your people have not used these tools before– Would you allow a med student to remove your appendix?

Page 7: Patterns and Antipatterns for Adopting IBM DevOps Tools

My prior experience with bad customizations

Page 8: Patterns and Antipatterns for Adopting IBM DevOps Tools

General symptoms of a bad customization

• Broken traceability• Broken planning ability• Impossible to follow processes• Requires entirely new training material• Requires expert on staff to keep up with internal process changes• Invalidates anyone’s prior experience with the products• Stakeholders refuse to use it

Page 9: Patterns and Antipatterns for Adopting IBM DevOps Tools

Success Pattern: Customize slowly…gradually

• The built in process works• Migrate your processes to SAFe / SCRUM / Agile first• Add only a few changes at a time

– i.e. add salt to your food, not food to your salt

• When in doubt, DON’T!• Just because you can, does NOT mean you should!

Page 10: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 2: Failure to Train PersonnelA.K.A. “Assuming your people are smarter than they are”

10

Page 11: Patterns and Antipatterns for Adopting IBM DevOps Tools

Investing in Employees

What happens if we don’t train them and

they stay?

 “We can’t afford to spend any money on training. After all, what if we train our people and they leave?”

Page 12: Patterns and Antipatterns for Adopting IBM DevOps Tools

12

Would you operate this without training?

Page 13: Patterns and Antipatterns for Adopting IBM DevOps Tools

13

Avoid “Shelfware”

Damages your budgetHurts the sellers credibilityConfuses the developerFrustrates the executives who bought it

Page 14: Patterns and Antipatterns for Adopting IBM DevOps Tools

Benefits of Training

• Reduces the learning curve– How much do you pay your people to learn on the job without training?

• Increased productivity– People spend more time working than learning in the long run!

• Improved Quality of Experience– Higher consistency of work– Everyone is better able to work to expectations

• Improved Employee Satisfaction– No one likes working in the dark– Makes employees feel valued, increases retention

Page 15: Patterns and Antipatterns for Adopting IBM DevOps Tools

Success Pattern: Train just in time

• Train when rolling out– Just in time – 1-2 weeks, not 2 months before rollout

• On-boarding– Have a plan for new hires, and job switchers

• Continuous Education– Plan to educate on new features– Incorporate methodology as you go

• i.e. Unit Testing, User Story authoring, Requirements decomposition, Automated Testing, etc

Page 16: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 3: Adopting the tool, but not the processA.K.A. “Your process probably stinks”

16

Page 17: Patterns and Antipatterns for Adopting IBM DevOps Tools

Don’t be a Lego head

Page 18: Patterns and Antipatterns for Adopting IBM DevOps Tools

18

MANY Case Studies Available (Hyperlinks here)

http://www.scrumcasestudies.com/

SAFe Case StudiesLEAN MANAGEMENT CASE STUDIES

IBM Lean and agile development

Get this PDF! Click on these

links!

Page 19: Patterns and Antipatterns for Adopting IBM DevOps Tools

Lean, SAFe, SCRUM, Agile Methods Work!

• Hundreds of Case Studies across multiple industries– Reduced delivery cycle– Increased quality– i.e. SAFe case study reduced delivery cycle from 12 mo. to 4 mo.

• Compare to your own process success metrics– Use apples to apples metrics. – Do you have any!?

• NO, YOUR COMPANY’S ISSUES ARE NOT UNIQUE!– Within an industry: same problems, just different packaging– Source of the symptoms are often caused by poor business practices

Page 20: Patterns and Antipatterns for Adopting IBM DevOps Tools

20

Pattern: Adopt the product and the process

• Several templates in RTC, DNG, RQM• Pick the right one for your size organization

– Small to mid size project: SCRUM Template– Enterprise project: SAFe Program Template (get the 6.0.1 version or later)– Very large organization: Multiple projects, with the SAFe Portfolio Template

to manage at the portfolio level

Page 21: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 4: Ignoring Build AutomationA.K.A. “Nah, I prefer pushing my car to work”

21

Page 22: Patterns and Antipatterns for Adopting IBM DevOps Tools

IBM Automation

• Distributed– Team Concert’s Jazz Build Engine– Team Concert’s integration with Hudson & Jenkins– Urbancode Release & Deploy

• Enterprise Platforms– RTC’s Rational Build Agent for IBM i/OS– RTC’s Rational Build Agent for IBM z/OS– Urbancode Deploy for z/OS

Page 23: Patterns and Antipatterns for Adopting IBM DevOps Tools

23

The basics: The Jazz Build Engine

• Java based engine that executes build scripting languages– Runs on (almost) any platform

• Reports results back to RTC• Results stored over time provide trending and traceability

Page 24: Patterns and Antipatterns for Adopting IBM DevOps Tools

24

Rational Build Agent

• Agent for compiling/deploying on IBM i/z– RPG, COBOL, C/C++, PL/I, HLASM, Fortran

• Multi-threaded, secure, robust– Parallel compilation, promotion and deployment

Page 25: Patterns and Antipatterns for Adopting IBM DevOps Tools

25

Build Result

• Compilation• Unit Tests• Downloads

– compiled binaries

• Logs• Properties

– ANT, Maven

• Traceability– Work item– Snapshot– Change set

• Trends

Page 26: Patterns and Antipatterns for Adopting IBM DevOps Tools

26

Success Pattern

• Two Phases: Build, Deploy • Require Junit run before delivery of change set

– RTC operational behavior• Run Junit on every build• Successful build triggers deployment to UAT / QA

– Deploy via UrbanCode Deploy• This triggers automated User Acceptance Tests,

Functional Tests, Performance Tests in RQM

Page 27: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 5: Split SCM RepositoriesA.K.A. “Consolidate to only one ivory tower”

27

Page 28: Patterns and Antipatterns for Adopting IBM DevOps Tools

Distributed IBM i IBM z

Many SCM Vendors

SerenaChangeman

Subversion

VersionOne

CVS

Team Studio

CA Endeavor

Panvalet LibrarianMKS

AldonGIT

Arcad*

PerForce

Star Team

Page 29: Patterns and Antipatterns for Adopting IBM DevOps Tools

29

What you get with a split SCM

• Loss of traceability from source to work item to requirement• Increased TOC: must manage additional systems for SCM

– RTC is the same TOC to manage with SCM as without• Poorer SCM abilities

– RTC has a 3 tier SCM mode– Less capable branching/streaming abilities

• No enforcement of policies during check in– i.e. RTC can force a Junit test BEFORE delivery of code to source stream

Page 30: Patterns and Antipatterns for Adopting IBM DevOps Tools

30

Invalid reasons to stick with split SCM

• “My developers are used to subversion”– RTC SCM is not any more complex, but much for flexible

• “My operating system source needs to stay on the mainframe”– RTC Build Agent puts in your PDS’s before compilation

• “We need to be able to compile in production”– What kind of masochist are you?

• “Our .NET team uses Team Studio”– RTC has a visual studio client, and superior project management abilities

• “We only use Jenkins for build, and have to use existing SCM”– RTC has its own build engine, and also works with Hudson/Jenkins OOTB

Page 31: Patterns and Antipatterns for Adopting IBM DevOps Tools

31

Legitimate Reasons to Keep A Split SCM

• Outsourced development– Vendor has no licenses for RTC– Regulatory, security constraint (i.e. defense industry)

• Complexity of existing mainframe build environment– Can be quite difficult to unravel, but may have long term ROI

• GIT: RTC Integrates directly with GIT • ARCAD*: IBM licenses ARCAD - has superior dependency build for

IBM i.– Can store source in RTC, Build via ARCAD. This allows for complete work

item traceability– Use ARCAD Skipper: no traceability, but less expensive solution

Page 32: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 6: Poor LicensingA.K.A. “I bought what???”

32

Page 33: Patterns and Antipatterns for Adopting IBM DevOps Tools

Example of Bad Licensing

• Wrong license type for Enterprise Systems– bought RTC Developer for Workgroups, not RTC for IEP

• Bought developer licenses when I needed Contributor– Developer grants more features than contributor– 3x as expensive as a contributor license

• Bought Contributor for every tool– One contributor for DNG acts as contributor for all Jazz tools

• Did not know about Stakeholder licenses– About 1/5 as expensive as a developer license

Page 34: Patterns and Antipatterns for Adopting IBM DevOps Tools

34

Authorized vs. Floating User

$ $$$

Small # of usersMobile, disconnected usersFull time users (>80% usage)

Large # of usersInfrequent usersEasier license management

Page 35: Patterns and Antipatterns for Adopting IBM DevOps Tools

35

Licenses you might not know about

• Stakeholder– For Executives, LOB Stakeholders

• Contributor– For Project managers, directors, no SCM/build

abilities– One license applies to all products

• RTC Developer for Workgroups– For groups of less than 50 people

• Rational solution for Collaborative Lifecycle Management Practitioner – Combine the highest license ability for all 3 products– For architects who need read/write access to

everything

Less expensive, less features

More expensive, More features

Page 36: Patterns and Antipatterns for Adopting IBM DevOps Tools

Pattern: Have knowledgeable BP create license strategy

• Most BP’s have sales reps with experience directly from IBM• Authorized resellers require extensive sales training• Make sure you work with the TECHNICAL seller

– we are the ones who usually install and implement the software• Know the available licenses• Be sure to share ALL the users, developers, & stakeholders

– We all want it right the first time– Don’t go back to the well, and don’t leave it dry

Page 37: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 7: Reporting for Old MetricsA.K.A. “No, I don’t have your TPS report!”

37

Page 38: Patterns and Antipatterns for Adopting IBM DevOps Tools

Old Metrics, or Irrelevant Metrics

• Do your KPI’s align with your current business strategy? • Do they reflect the amount of business value delivered?• Do they reflect out of date processes? • Examples:

– Waterfall metrics– MLC, or other ancient, irrelevant metric

• Have you tried new metrics?– i.e. Burn Down, Burn Up, WIP, Team Velocity, etc.

Page 39: Patterns and Antipatterns for Adopting IBM DevOps Tools

39

OOTB Reports & Dashboards

Page 40: Patterns and Antipatterns for Adopting IBM DevOps Tools

40

Success Pattern: Evaluate OOTB Reports First

• Benefit: Speak in the same language as the rest of the industry– Story points– Team velocity– Burndown / Burnup

• Benefit: less to change “under the hood”– built in reports available out of the box– Custom reporting on custom work items costs $$$

** but we’ll be happy to offer you some consulting services on that!

Page 41: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 8: Round -Tripping with MS Excel and MS ProjectA.K.A. “You can have my spreadsheet when you rip it out of my cold dead hands!”

41

Page 42: Patterns and Antipatterns for Adopting IBM DevOps Tools

42

Export XLS to CSV

Import CSV into

RTC

Update RTC

Export query to

CSV

Import CSV to

XLS

Update XLS

What we mean by Round Tripping

Page 43: Patterns and Antipatterns for Adopting IBM DevOps Tools

43

Why it’s bad

• Loss of fidelity• Interaction/collaboration out of context• Play the game of “who has the latest version of the spreadsheet”• Potentially loses data during export/import• Woefully unproductive!!

• Solution: EDIT THE %@#$& DATA IN RTC!

Page 44: Patterns and Antipatterns for Adopting IBM DevOps Tools

Success Pattern

• Provide correct training to Project Managers• Provide work item/collaboration training to ALL stakeholders• Leverage Project/Excel only for onboarding:

– RTC’s XML import tool to load up tasks from an initial MS Project Load– Provide an Excel template to capture initial tasks

• Lock the door behind them– Provide only PDF’s for exports of data (forces updates in the tool)– Provide links to live data with the PDF (Work item queries, DNG views)– Uninstall MS Project from anywhere you find it (MS Project Exorcist)

• Provide mentoring as you climb the adoption curve

Page 45: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 9: Using the Wrong Tool A.K.A. “RTC is not a robust requirements management tool, and DNG is not a test plan management tool.”

45

Page 46: Patterns and Antipatterns for Adopting IBM DevOps Tools

Old Adage:

“When the only tool you have is a hammer,

everything looks like a nail”

Page 47: Patterns and Antipatterns for Adopting IBM DevOps Tools

Example:

• Customer has a stage-gated requirement approval process– hey! RTC allows a customized workflow!

• Maintaining status of development and test on Requirements artifacts in a custom DNG field

• Oh.. yes, MS Office is the wrong tool for DevOps

Page 48: Patterns and Antipatterns for Adopting IBM DevOps Tools

Requirements belong in DNG

• DO NOT create custom work items to track any requirement other than an Epic/Story– i.e. custom work item for User Interface design

• Requirements DO NOT belong in Word/Excel/Powerpoint/Visio– Copy and paste a use case into a DNG Module– Excel data can be copied into a requirement artifact– Use DNG native diagram tool

Page 49: Patterns and Antipatterns for Adopting IBM DevOps Tools

49

Pattern: Use Plan Items Wisely

If you have DNG• Use Program Epics / Features for

portfolio level visibility• Story work item is a PLAN item – it

tracks the progress of the story• Story links to User Story Elaboration

artifact in DNG (or Use Case)– Don’t duplicate it…just link it

If you do not have DNG• Use Program Epics / Features for

portfolio level visibility• Story should have the content of the

requirement, and it tracks the progress of the story

Above all, make sure you capture the acceptance criteria!

Page 50: Patterns and Antipatterns for Adopting IBM DevOps Tools

50

Pattern: Put Tests in the Right Area

• Test cases go in RQM• Tests scripts get fired from RQM, not RTC

– Manual Test Scripts: RQM– UAT / Functional Tests: RFT, QTP, GreenHAT, Selenium, etc.– Performance Tests: RPT, LoadRunner, Jmeter, etc. – Exception: Junit is a developer written test, and gets called from the build

engine

Page 51: Patterns and Antipatterns for Adopting IBM DevOps Tools

51

Pattern Results: Traceability Matrix

Page 52: Patterns and Antipatterns for Adopting IBM DevOps Tools

Anti-Pattern 10: Using ANY Part of CLM for a Help DeskA.K.A. “Team concert requires a lot of customization to become a help desk”

52

Page 53: Patterns and Antipatterns for Adopting IBM DevOps Tools

What Your Help Desk Acts Like NOW

Page 54: Patterns and Antipatterns for Adopting IBM DevOps Tools

What It Should Act Like

DefectsChange Requests

Page 55: Patterns and Antipatterns for Adopting IBM DevOps Tools

Why RTC does not make a good help desk

• Help Desk Analysts (typically) have less experience than your B.A.’s• Tickets follow a different workflow than RTC work items• Tickets often contain data that is useless to software lifecycle

management– RTFM calls– Complaints– “My cup holder broke”

• It requires a lot of customization• Licenses for the help desk get expensive• There are FAR cheaper alternatives

Page 56: Patterns and Antipatterns for Adopting IBM DevOps Tools

56

Success Pattern: Find Alternatives

• IBM Control Desk (a.k.a Tivoli Service Desk)– Direct integration with RTC via OSLC– API creates Defect work items from Service Desk

• SmartCloud Control Desk • Kovair Omnibus

Page 57: Patterns and Antipatterns for Adopting IBM DevOps Tools

57

Success Pattern: Setup the support structure

• Use a true help desk system that offers OSLC integration• Filter defects and change requests (enhancements) via the API• Within RTC:

– Use a second timeline for support– Setup a Team for support– Make the team area march to the new timeline

Page 58: Patterns and Antipatterns for Adopting IBM DevOps Tools

58

Setup the Support Timeline

• Open the project configuration

Page 59: Patterns and Antipatterns for Adopting IBM DevOps Tools

59

Map a Support Team Area to the new Timeline

• Create a Team Area for Support, that uses the support timeline

Page 60: Patterns and Antipatterns for Adopting IBM DevOps Tools

SummaryWhat did I just learn?

Page 61: Patterns and Antipatterns for Adopting IBM DevOps Tools

61

Takeaways

1. Don’t let neophytes customize the tool2. Train your people if you want the ROI3. Buy the right licenses4. You’re buying a tool with thousands of man years of process

refinement5. Chance are, you’re company’s development process is broken6. Use the right tool for the right job7. Evaluate OOTB metrics first, ten reevaluate your own metrics8. Quit using MS Office to manage requirements and project plans9. Automate the heck out of build and deployment10. Don’t treat it like a help desk

Page 62: Patterns and Antipatterns for Adopting IBM DevOps Tools

About Strongback Consulting

• IBM Advanced Business Partner– Rational, WebSphere, ICS SVP certified– Strongly focused on DevOps, Enterprise Modernization, and application infrastructure– Key Industries Served: Finance, Insurance, Travel, Logistics, Healthcare, Manufacturing, Government– Rational Design Partner for HATS and other Rational enterprise modernization technologies

Discover us at:http://www.strongback.us

Subscribe to us athttp://blog.strongbackconsulting.com

Socialize with us on Facebook & LinkedIn http://www.facebook.com/StrongbackConsulting

http://www.linkedin.com/company/290754