In so much of IT tools and technology we missed and forgotten the very user and requirement. If requirement are not of high quality , we can not expect the software of quality as quality is not only all about defects & bugs but also if it is usable and meeting the need of user community.
There are many tools and methodology and I have detailed what minimum with one can start UserDevOps transformation and can bring values to business.
5. Lets board time machine.. 5
Lets review the way IT
industry was delivering
software.
6. Waterfall Visit 6
< >
CodeRequirement
Document
Design
Document,
UML
Source control
Versioning
Test Document
Deployment
Plan
KPI , matrix
Monolithic application
VCS, Clearcase
XLS template or
tool to record
All Manual
7. Advent of Agile 7
• Industry become fast in developing but challenge were how to make agile all steps of
software development processes.
• Even we went agile but inherited all methodologies of waterfall making every spring
a small waterfall only and hence not benefitting .
10. Tank Maneuvers 10
• A tank maneuvers is a good analogy for software development as software
development not only required Dev team but also infra/production team to manage.
• So if your software is a tank then two chains of tank – one is of development and
one is of infra team. Without any sync of both team, there is no movement and
nothing will be delivered to business. So we need to make agile not only dev team
but also the infra as well.
11. Software Delivery Cogs 11
Requirement Design Design Review Code Code Review Unit Test Intg Test Build
Env Setup QA
Deploy
QA monitoring Prod
Deploy
Monitoring Log
Analysis
Infra
Upgrade
Application
Resource
Development
Operation
12. DevOps Definition
My Definition of DevOps
Identification & rectification of cog which is causing slowness or preventing
movement of delivery vehicle in forward direction .
12
15. Collaboration platform
Problem • How to collaborate with team located in 4
geographic location
Solution • Find configuration tool
Tool • Tuleap
15
Scope
• Defect management
• Test management
16. Code Versioning
Problem • Version controls as team is working on
features and not on versions
Solution
• Features supported tool
• Externalize configuration
Tool
16
Scope • High Learning curve
17. Code / Design / Security Review
Problem • To ensure reviews are done and closed
Solution
• Integration with version and
build tool
Tool
17
Scope • Technology Integrations
18. Continuous Integration
Problem • How to keep integrating code and build
Solution
• On feature completion , auto-
build and auto-unit test execution
,review
Tool
18
Scope • Technology Integrations
19. Continuous Integration
Problem • How to automate Integration Testing
Solution
• After merging of many features code to test if
all features are working together as expected
by automating integration testing.
Tool
19
Scope • Technology Integrations
20. Continuous Integration
Problem • Database state keep changing, how to
ensure consistent database state
Solution
• Database version
management
Tool
20
Scope
• Learning curve
• DB installation at client
22. Requirement Analysis 22
Tradition IT way
Functional
document
User
Requirement
Design
Document
</ Code
>
Functional Language
Design & Technical
Business Language
23. Behavior Driven Development 23
Business Language
Functional Language
Design & Technical
Everyone is talking in
one’s own language.
Lets remove this barrier
and just have one
language for
communication and it is
BDD.
25. Continuous Delivery - Automate
Acceptance testing
Problem • How to automate acceptance testing
Solution
• User stories to be written in BDD
format and then execution of
stories in automated way
Tool
25
Scope • Technology Integrations
31. Summary 31
• Identification of Problem cogs
• Rectification
• Best practices
• Just find good practices pearls and put
them in a way to look beautiful
UserDevOps
•Requirement
•BDD
•Design
Thinking
User
•Continuous
Integration
•Development
Team
Dev
•Continuous
Delivery
•Infra
Ops