4. Each increment in software product (i.e. newly
developed feature) adds to testing queue of QA
team. The QA team has to test the newly
developed feature along with the previously
developed features to make sure that the new
development does not have any adverse impact
on the existing features. Thus with each
increment testing load is increased on the QA
team as they have to re-test the entire product
along with the testing of the new increment.
Few challenges for Developers and Operations
5. Few challenges for Developers and Operations
If the same thing is tested again and again, it’s a
human tendency that some scenarios and test
cases are either overlooked or skipped, which
eventually results defects in the product
delivered.
6. Few challenges for Developers and Operations
Once development is finished, product artefacts
are handed over to separate team (Operations)
for the deployment of the same on the other
environment under release pipeline like UAT,
Staging, and Production etc. Different
configurations of these environments could lead
to a situation where shipped product may not
work on a specific environment. There could be
‘n’ number of reasons for the same which we will
discuss later when we will talk about
continuation delivery.
7. At first glance, it seems that applying automated testing will be
helpful, but it is actually not enough.
Moreover, I’ve personally experienced that software
developers show more interest in programming or writing
code/scripts while very poor interest in other activities like unit
testing, build, deployment etc. So, we need something that can
help us overcome all such challenges with least effort and in
minimum time.
So, DevOps is only the ultimate solution here.
The concept of DevOps has come with the same idea i.e. “Let
the engineers do programming and involve machine to do the
other work”. It’s a well-known fact that machines do
repetitive/redundant task in a faster and efficient way.
10. Best Practices – How do we do it and recommend
Provide those tools as a service in your
Agile Development Framework
• Infrastructure, dev tools, Build/Deploy tools,
test tools, operational tools
• Hosted tools should evolve quickly, be
extensible and have great SLAs
• Tools should work well individually but
better together
Tools
People
Process
12. DevOps Toolchain
In DevOps, the process starts from developer’s
machine where dev’s role is to write code for
target functionality along with automated unit
tests and to check-in the same to SCM tools.
Rest is taken care of by DevOps toolchain.
Next Image describes a DevOps toolchain