Академический Документы
Профессиональный Документы
Культура Документы
ACCELERATE THE
DEVELOPMENT
LIFECYCLE
Building modern apps requires constant experimentation and usage feedback to make sure
your app is as useful and robust as possible. So how do modern developers experiment, gather
feedback, and implement quickly? They continuously strive to optimize the entire lifecycle, leaning
heavily on automation to build reliable, repeatable processes.
Key to their success is automating as many complex, error-prone manual tasks as possible. They
move beyond automated builds (continuous integration) and unit testing, and automate the entire
release pipeline including quality inspection and monitoring at every stage.
MODERN DEVELOPERS
THINK SMALL AND DEPLOY
CONTINUOUSLY
Just like most developers, modern developers understand
that spending months on end for discovery and
requirements gathering usually leads to building outdated
solutions to ever-changing business needs. With their
expectations of an average cycle time now at three-to-four
weeks, breaking work down to the smallest meaningful unit
possible and managing work in-progress is paramount to
decreasing overall cycle times. However, modern developers
know that decreased development time is nothing if they
dont move into production (where customers can get their
hands on it) equally fast. Why all the fuss about moving into
production? Because decreasing time from the first line of
code to deploying in production means delivering potential
value to the customer, and amplifying the usage feedback
loopand usage feedback is king to modern developers.
NO MORE WAITING
ON HARDWARE
In the old world, their reality was rooted in waiting weeks
for provisioned hardware and a configured allocation. In the
new world, this doesnt flyit just takes too long. Whether
it be for shipping, fixing, or learning, modern developers
leverage the heck out of the on-demand resources found in
public cloud.
I Op
Modern developers understand the correlation between
bringing ops in early, and shipping fast. Modern applications
rely heavily on automation, continuous integration builds,
automated testing, and having smarter instrumentation than
traditional apps. For this to happen, modern developers
reimagine their relationship with the ops team, partnering
with them to fully understand requirements and dependencies
before a single line of code is written. Why do they make this
investment? Because ultra-fast development cycles are all for
nothing if code is thrown over the wall to ops only to find it
isnt production-ready and requires weeks of work before it
can be deployed successfully. In the world of shipping every
three-to-four weeks, a two-week delay becomes a big deal.
MODERN
DEVELOPERS
UNDERSTAND
THE CORRELATION
BETWEEN
BRINGING OPS
IN EARLY, AND
SHIPPING FAST.
Modern developers arent alone in understanding the cost of discovering issues once
code has shipped. While experienced agile teams have already automated unit testing through
continuous integration, modern developers take it even further. They automate additional
levels of testing including regression, functional, load, and stress testing. As a result, QA is no
longer considered to be a center of excellence, but rather an integrated process throughout the
development lifecycle. Discovering and fixing bugs that used to take months when using more
traditional approaches are now identified by continuously testing.
CONTINUOUSLY TEST
ONE ENVIRONMENT
TO RULE THEM ALL
Stop us if youve heard this one before. The developer
looks over to the tester and says, Hey, its working on my
machine. Modern developers know that in order to be fast,
they need to have consistency between environments all
the way from development to production. Why? Because
inconsistent environments = slow. Troubleshooting is
costly to begin with, and amplified when not working with
consistent environments. Although the desire for consistent
environments across dev, test, and production is nothing
new, up until recently it has only been an option for massive
organizations with deep pockets. So how do modern
developers duplicate their production environment for dev
and test without breaking the bank? Public cloud. Why, you
ask? Public cloud gives them access to more servers than
they can shake a stick at with no commitment necessary.
With a pay for what you use model, developers and
testers can quickly self-service provision production-like
environments (without waiting for hardware) and tear them
down with a few mouse clicks once theyre finished.
Modern developers know when they learn about a problem with their app via social media,
its too late. When things go wrong, they find out fast, and fix things even faster. How? As we
mentioned earlier, modern developers invest heavily in instrumentation.
MODERN DEVELOPERS
INSTRUMENT FOR TWO
REASONS:
MONITORING JUST THE SERVERS IS NOT ENOUGH
The days of bouncing the VM are over. Modern developers
beat Twitter to the punch by identifying application issues
early on, and remediating to root cause. From there, a fix
gets rolled out immediately through the automated release
pipeline and a net new test case is added to their test
automation to prevent similar issues from reoccurring.
10
READY TO ACCELERATE
YOUR DEV LIFECYCLE?
LETS DO THIS.
Evolving your approach and building muscle in some new
areas can transform your ability to build fast, ship fast, and
fix fast. Whether your want to do this on-premises, in the
cloud, or using a hybrid approach, Microsoft is here to help
with some powerful tools and a mature cloud platform. Best
of all, you dont need to throw anything away to embrace
this approach. Want to learn more about accelerating
your application lifecycle? Check out our website to learn
more. Ready to dip your toes in the water and see how
this approach works with Microsoft Application Lifecycle
Management tools? Setup your free Visual Studio Online
account. And with all of this talk about Modern Developers
use of public cloud, learn more about Microsoft Azure or
try it free.
2015 Microsoft
azure.microsoft.com
11