Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
4/17/2019
1
Presented by
Margaret M. May, CBAP, PMI-ACPSr IT Business Analyst
Agenda
1. History
2. Itineraries2.1 Agile 2.2 DevOps 2.3 Agile vs. DevOps
3. BA Passport to Agile and DevOps
4. Ready to Travel?
5A BA's Guide to Agile & DevOps
4/17/2019
2
History1
6A BA's Guide to Agile & DevOps
A Brief History of Computing
1960s
•IBM 360
•COBOL
•BASIC
•ASCII
1970s
•Arpanet
•Ethernet
•Cray
•Apple‐1
•Atari
1980s
•Portable PC
•Desktop PC
•Intel
•Word
•Internet
1990s
•Web Browsers
•Windows NT
•Laptops
•iMac
•Wifi
2000s
•MS Office
•Mobile Phones
•MacBook Air
2010s
•Apple iPad
•Siri
•Social Media
•AI
•Cloud
Process Models (Plastic Templates)Requirements (Word
processing & Spreadsheets)
Process Models (Visio 1995)
Requirements (Case Tools, Use Cases)
Process Models (Visio, Swim Lanes)
Requirements (Req Mgt Tools)
Process Models (Cloud‐Based Tools,
BPMN)Requirements (User
Stories)
7A BA's Guide to Agile & DevOps
Agile 2001DevOps 2009
BA Activities
4/17/2019
3
The Agile Itinerary2.1
8A BA's Guide to Agile & DevOps
What is Agile?
• An umbrella term for iterative, incremental software development
• A mindset with four values and twelve principles that provide some guidance for teams to follow when creating their methodology
• Includes:• Scrum• Crystal (Clear, Yellow, Orange)• Extreme Programming (XP)• Feature‐Driven Development (FDD)• Dynamic Systems Development Method (DSDM)
9
A BA's Guide to Agile & DevOps 9
4/17/2019
4
Agile Manifesto – Values
SOURCE: Kent Beck; et al. 2001. “Manifesto for Agile Software Development”. http://www.agilemanifesto.org 10A BA's Guide to Agile & DevOps
“Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more.”
Agile Principles1. Customer satisfaction through early and continuous
software delivery – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
2. Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
3. Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
4. Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
5. Support, trust, and motivate the people involved –Motivated teams are more likely to deliver their best work than unhappy teams.
6. Enable face‐to‐face interactions – Communication is more successful when development teams are co‐located.
7. Working software is the primary measure of progress –Delivering functional software to the customer is the ultimate factor that measures progress
8. Agile processes to support a consistent development pace –Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
9. Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
10. Simplicity – Develop just enough to get the job done for right now.
11. Self‐organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision‐making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
12. Regular reflections on how to become more effective – Self‐improvement, process improvement, advancing skills, and techniques help team members work more efficiently.
Source: http://agilemanifesto.org/principles.html
11A BA's Guide to Agile & DevOps
4/17/2019
5
Why Implement Agile?
• Shorter development cycle
•Maximize value – faster ROI
•Continuous feedback – higher quality & customer satisfaction
•Reduce risk of project failure
12A BA's Guide to Agile & DevOps
4/17/2019
6
The DevOps Itinerary2.2
14A BA's Guide to Agile & DevOps
Once Upon a Time in Computing…
IT Development & Operations
If you developed, you also operated
15A BA's Guide to Agile & DevOps
4/17/2019
7
In the Age of Mainframes & Minicomputers
OperationsDevelopment
Focus: ChangeFocus: Stability
• Business Analyst• Developer• Quality Assurance
• System Administrator• Network Administrator• Database Analyst
17A BA's Guide to Agile & DevOps
Dev and Ops Together Again
Dev Ops DevOps
21A BA's Guide to Agile & DevOps
4/17/2019
8
DevOps
• Culture for deployment of software• Three Ways Principles (Systems Thinking, Amplify Feedback Loop, Generative & High Trust)
• CALMS Core Values (Culture, Automation, Lean, Measurement, Sharing)
• Automated build, test automation, continuous integration, continuous delivery, configuration management, metrics, monitoring, virtualization
22A BA's Guide to Agile & DevOps
DevOps - The Three Ways
• Moving from left to right
• Systems thinking
• Focus on business streams enabled by IT
The First Way
• Moving from right to left
• Amplify feedback loop
• Understand & respond to internal & external customers
The Second Way
• Embed continuous learning
• Continual experimentation & repetition => mastery
• Generative & high trust
The Third Way
A BA's Guide to Agile & DevOps 23
Dev Ops
Dev Ops
Dev Ops
4/17/2019
9
DevOps CALMS Core Values
• Focus on people
• Embrace change & experimentationCulture
• Continuous delivery
• Infrastructure as codeAutomation
• Focus on producing value for the end users
• Small batch sizesLean
• Measure everything
• Show the improvementMetrics
• Open information sharing
• Collaboration and communicationSharing
A BA's Guide to Agile & DevOps 24
DevOps
• Is as much about business as it is IT
• Is about meeting the increasing expectations of customers and streamlining development
• Is best implemented when it becomes rooted in organizational culture
• Requires top management support
• Requires automation: data and software analytics and monitoring solutions
https://socialnomics.net/2017/04/20/10‐things‐every‐enterprise‐should‐realize‐about‐devops/
25A BA's Guide to Agile & DevOps
4/17/2019
10
Why Implement DevOps?
• Shorter development cycle
• Increased release velocity & efficiency• Improved defect detection
•Reduce deployment failures and rollbacks
•Reduced time to recover upon failure
•More time to innovate
26A BA's Guide to Agile & DevOps
Agile vs. DevOps Itineraries2.3
27A BA's Guide to Agile & DevOps
4/17/2019
11
Agile vs. DevOps
28A BA's Guide to Agile & DevOps
Iterative
Cultural Change
Automated build & testing, continuous integration &
delivery
Collaborative
Iterative, Waterfall, OtherInvolves the BusinessEveryone can do every job
Software Development CultureSoftware Development Methodology
Standups & lightweight documentation
Prioritize delivery of value
Design Docs & Specs
Configuration Management, Metrics, Monitoring,
Virtualization
Deploy software with minimal disruption
Agile DevOps
Separate Roles
Eliminate Waste
Rapid, frequent deployment
Agile vs. DevOps Roles
• Product Owner• Voice of customer
• Defines & prioritizes functionality
• Scrum Master• Servant Leader
• Helps team use Scrum to build product
• Team Member• Builds Product – determines how to deliver chunks of work
• Tests Product
A BA's Guide to Agile & DevOps 29
Agile DevOps
• Product Owner• Internal voice of the business
• Defines & prioritizes functionality
• Release Manager: Coordinate production deployment & release processes
• Development: Builds application functionality
• QA: Ensures feedback loop to ensure functionality works
• Operations: Maintain production and service levels
• Infosec: Responsible for system and data security
4/17/2019
12
Agile & DevOps Side by Side
Agile Methodology DevOps Culture
30A BA's Guide to Agile & DevOps
Evolution of Software Development
Traditional Waterfall
• Requirements are clear, fixed and complete
• Product definition is stable
Agile Software
Development
• Requirements change frequently
• Development needs to be Agile
DevOps Approach
• Requirements change frequently
• Development needs to be Agile
• Operations needs to be Agile
A BA's Guide to Agile & DevOps 31
4/17/2019
13
BA Passport to Agile & DevOps
Where BAs into Agile & DevOps
4
32A BA's Guide to Agile & DevOps
Where Do BAs Fit Into Agile?
• Help identify KPIs/metrics
• Act as proxy product owner
• Plan Product Roadmap
• Prioritize features
• Elicit & capture requirements
• Help team focus on goals
• Define “Done” & accept product
• Demo product
• Coach & train end users/customers
Business Analyst (PO)
Development
Customer
33A BA's Guide to Agile & DevOps
4/17/2019
14
Where Does a BA Fit Into DevOps?
Business Analyst
Development
Operations
QA
Customer
• Help identify KPIs/metrics
• Elicit & capture requirements
• Prioritize features by value
• Act as customer proxy
• Help team focus on quality
• Limit WIP to facilitate continuous delivery
• Accept product – “Done”
• Demo product
34A BA's Guide to Agile & DevOps
Analyst Skills Are Needed To
• Ensure the real need has been identified • Help the business prioritize its needs• Elicit and capture requirements
• Ensure that the right set of features is selected for each release• Help the business to define metrics at the business and application level
• Help the business define criteria for feature completion
• Validate the design meets the customer’s needs
• Verify that the software meets the requirements
A BA's Guide to Agile & DevOps 35
4/17/2019
15
Is your Organization Ready?
What skills and experience do you have already?
Agile Training
Process Modeling
DevOps
Requirements
People Skills
Are You Ready?5
36A BA's Guide to Agile & DevOps
Is Your Organization Ready?
37A BA's Guide to Agile & DevOps
Agile +/or DevOps? Ready for a culture change? People will accept change if
responsibilities are redefined? Ready to retrain staff and hire new
staff? Able to start small and then scale
up? Ready to automate as much as
possible? Ready for frequent feedback?
Agile?All teams are OK with being cross‐functional and ready to embrace agile?
Willing to train on and implement Agile tools and methods?
DevOps?
Willing to train on and implement DevOps tools and techniques?
Prepared for continuous evaluation and improvement of processes?
4/17/2019
16
Are Your Ready? Have You Ever?
Have You Ever
Written requirements in any format?
Modeled processes?
Developed data flow or other data models?
Worked on identifying process improvement opportunities?
Worked with your customers to develop metrics for measurement of the success of an implementation? (KPIs?)
Worked in an Agile and/or DevOps environment?
Collaborated?
38A BA's Guide to Agile & DevOps
Are You Ready for a culture change? Adaptable?Willing to get needed training? Open to frequent feedback?Willing to accept changes to your
responsibilities?
BA Tool Kit Goes Everywhere
• Process Models
• Data Flow Diagrams (Data!)
• Requirements (user stories or other)• Business Requirements
• Functional Requirements
• Non‐Functional Requirements – including Service Level Agreements
• Training & Certifications• IIBA
• Agile (e.g., Product Owner, Scrum Master, PMI‐ACP)
• DevOps
• Lean/Six Sigma
• Business Process Modeling
39A BA's Guide to Agile & DevOps
4/17/2019
17
Resources
The DevOps Handbook by
Kim, Humble, Debois & Willis
A BA's Guide to Agile & DevOps 41
Contact Information
Margaret May, CBAP, PMI‐ACP
Senior IT Business Analyst
Business Analysis & Solution Architecture
Office of Information Technology
University of Colorado Boulder
42A BA's Guide to Agile & DevOps