SlideShare a Scribd company logo
HOW TO REDUCE TIME TO MARKET USING
MICROSOFT DEVOPS SOLUTIONS
webinar webinar@softserveinc.com
SPEAKER
webinar
Igor Fesenko
Application Architect, SoftServe
ifesen@softserveinc.com
@ky7m
@ky7m
• Leading software development projects
• Design cloud ready software solutions
• .NET Community core team member
• Conference speaker and trainer
webinar@softserveinc.com
AGENDA
webinar
• PRODUCTIVITY AS A MEASURE OF SOFTWARE DEVELOPMENT PROCESS
• USING CONTINUOUS INTEGRATION TO SOLVE PROBLEMS QUICKLY
• USING CONTINUOUS DEPLOYMENT TO ACCELERATE DELIVERY
webinar@softserveinc.com
BUSINESS IS FASTER…
webinar webinar@softserveinc.com
COMPETITION IS FIERCER…
webinar webinar@softserveinc.com
TIME TO MARKET IS KEY
webinar webinar@softserveinc.com
DEVELOPMENT PROCESS
webinar webinar@softserveinc.com
Once the iteration starts, developers turn
great ideas into a piece of code…
Writing code
Unit testing
Build
Version control
Build verification
Release
PRODUCTIVITY
webinar webinar@softserveinc.com
Achieve more
• Take advantage of state-of-the art tools
and services that empower developers,
increase productivity, and integrate
development and operations teams.
• Improved tools and capabilities for
developers and testers help you focus
on quality in an environment that’s both
productive and easy to use.
VISUAL STUDIO TEAM SERVICES
webinar webinar@softserveinc.com
• Enterprise grade
• Includes code repositories, continuous
integration, bug and task tracking, and agile
planning tools
• Work in Java, Python, HTML5, JavaScript, C#,
and many more
• Use Visual Studio, Eclipse, IntelliJ, or your own
IDE or code editor
• Five users free, unlimited private repos,
developer tools, training and support
WHY CONTINUOUS INTEGRATION?
webinar webinar@softserveinc.com
• Allows earlier detection
• Prevents integration problems
• Progress is transparent
• Repeatability
• Immediate feedback
• Accelerates delivery
CONTINUOUS INTEGRATION
webinar webinar@softserveinc.com
• Build on Linux, Mac, and Windows
• Use multi-platform build agents for Android, iOS,
Java, .NET, and other applications
• Seamless integration with work, test, code, build,
and release
• Track your builds with real-time build status
DEMO Continuous Integration
webinar webinar@softserveinc.com
CONTINUOUS DEPLOYMENT
webinar webinar@softserveinc.com
• Accelerated delivery
• Easier recovery
• Reliable releases
• Optimized resources
• Full traceability
CONTINUOUS DEPLOYMENT
webinar webinar@softserveinc.com
• Deploy to multiple platforms
• Automatically trigger releases upon completion of
builds
• Create the release pipeline that describes the
promotion path through your environments
• Easily extend built-in deployment tasks or write new
deployment tasks by using extensions
DEMO Continuous Deployment
webinar webinar@softserveinc.com
TAKEAWAYS
webinar webinar@softserveinc.com
GET MORE DONE
SOLVE PROBLEMS
QUICKLY
ACCELERATE
DELIVERY
USA HQ
Toll Free: 866-687-3588
Tel: +1-512-516-8880
Ukraine HQ
Tel: +380-32-240-9090
Bulgaria
Tel: +359-2-902-3760
Germany
Tel: +49-69-2602-5857
Netherlands
Tel: +31-20-262-33-23
Poland
Tel: +48-71-382-2800
UK
Tel: +44-207-544-8414
EMAIL
info@softserveinc.com
WEBSITE:
www.softserveinc.com
Thank you!

More Related Content

How to Reduce Time to Market Using Microsoft DevOps Solutions

Editor's Notes

  1. Hi everyone! Thank you for joining us. Today we will walk through continuous integration and continuous deployment processes and how to ship high quality software using these practices on top of Microsoft DevOps solutions. I will show you how you can easily start using them today and get value immediately. Before we start let me give you a little background on me.
  2. My name is Igor Fesenko. I have been working at SoftServe for the last 4 years. I am passionate about continuous improvements for development processes to make them much more predictable, robust, and cost-effective for teams and projects. It simply makes my life easier and accelerates delivering of high-quality software solutions. Good. Let’s have a look now at topics that I will be covering today.
  3. So, I am going to cover these three main points. The first one is productivity. I’ll show what productivity means and how it can be improved from angle of software development processes. Secondly, I will talk about continuous integration and will show you how important this step is in the engineering process improvement and what are the benefits of this practice. And finally, I’ll talk about the second important development practice digging more deeply into CD and show you how easily we can implement it today. Now we are set to get started! So, let’s go!
  4. Within the last few years business has been definitely changed. There is a significant change in the dynamics of products and customer relationships. In a modern agile world it is important to deliver your product to the end users as fast as possible, retrieve feedback and deliver new version which includes all the requested features. In response to the rapid change in business today, optimization of development processes such as automating the software deployment and infrastructure change processes can help organizations to keep up with their business.
  5. Nowadays a mixture of development practices will boost velocity and increase quality through feedback loops and, with this, business relevance, market significance and customer resonance, all required for a successful competitiveness in the digital world. And to do that you need a development system that can bring your software to the market with maximum efficiency and quality. In addition it is good to have a system that provides key stakeholders visibility and traceability of the entire process.
  6. We know gold rule that time to market is key. And also we know that key to successful product release is a robust solution that considers every step of your development processes. That’s why you need ultimate pipeline with full traceability across all you environments throughout the entire automated development process. Let’s move on and I’ll show an anatomy of the development process and which main components of it that can be improved.
  7. Each development process starts from an idea and using development we bring this idea into life. There are some stages without which we cannot deliver high quality solution. We write code, cover business logic with unit tests, save all our code change history in source control system, build artifacts from source code, verify them and after that we have product which can be delivered to a customer. It seems easy and at first look everything looks good, but we can add some boosters to this pipeline. Often this process is not traceable for stakeholders. It is not good, because we know that time to market is vital and business value should be built quickly and it is important to reduce much of a project’s risk as early as possible. In our company we emphasize on team collaboration, continuously aligning the software delivered to business and stakeholder needs, and adjusting to the changing requirements throughout the process. This approach has proven to be effective when it comes to dealing with all of the changing requirements inherent in the development phase of a software release. Also it helps us to improve dev team productivity.
  8. Why do we need to improve productivity? It is an easy question, right? The answer is easy - we always need to be faster and achieve more. For example, we can automate existing routine to save developer’s time and also reduce human errors. From a business perspective, CI and CD offer better business results, they can bring products to market faster, by finding issues when they are at the early stages and small, not waiting until they are large and more difficult to fix. Also you can significantly increase productivity if you use the right collaboration tools and services in which teams can work effectively on software projects of all shapes and sizes. They can also respond better to requirements that are introduced while the product is being developed. This creates a better product for the customer. So far, we’ve seen the importance of productivity. Let’s move on and I’ll show you how to achieve more with VSTS.
  9. If you are limited with your tools or you are going to start a new project you can consider (using) VSTS. VSTS is the ultimate solution for collaboration hub of everything you need to turn an idea into a working piece of software and boost team productivity. I really love that for a new project as I can run in minutes all required services for teams to share code, track work, and ship software without having to install or configure a single server. Let’s move on, and I will be talking about a CI concept and how you can easily enable it using VSTS.
  10. I’ve met some teams that aren’t doing this yet and are even unfamiliar with this practice. That’s why I want to quickly describe what CI is. Starting from definition, continuous integration is a software development practice specifically designed to improve the build and test process and complement the speed with which Agile teams work. In other words, CI gives your teams the possibility to integrate their working code early and often, usually daily, to avoid the pitfalls of deferring integration in your code. As soon as the code is integrated, it is verified in the build process to detect errors as quickly as possible. If a build fails, the information get back to the team through a feedback loop so that the cause can be resolved as quickly as possible. Also the system runs automated tests to verify that the new code is running successfully, and we haven’t broken anything from business logic with the new changes. To sum up, the objective of continuous integration is to eliminate time wasting and rework using rapid feedback. From my experience, teams find that this approach improves release quality and leads to significantly reduced integration problems – thereby accelerating the overall release process, and saving time and money. I‘d like to emphasize that CI is cheap. Not continuously integrating is costly. If you don’t follow a CI approach, you’ll have longer periods between integrations, wasting a lot of time to make application builds. Now, I’d like to share with you an example of CI adoption based on VSTS.
  11. CI brings multiple benefits to us and we can leverage them using VSTS. What’s really great is to setup CI - we just check a box and VSTS enables everything for us. It’s just one click, and the CI is enabled. Also a great feature is the ability to build anything that we want. I really like the approach to configuring build system in VSTS. It allows to build a very complex system using predefined steps or adding your owns. I could talk for ages about this, but I think it’s time to jump into VSTS portal and demonstrate this in action.
  12. Feel free to skip this section A few words about VM and about VSTS account Switch to VS and code and describe flow Unit test Is it work not only on my Go to VSTS and show how to create a new build definition Show different build steps Show already created build #1 show turn on CI Go back to VS and make example of change, commit this, sync this Commit change and show that build is triggered Open builds from VS and from VSTS portal and show what is going on, diagnostics, reports, live logs Describe that we do not change anything in existing pipeline we just extend So, we return back to our Power Point here !!!!Disable CI for 1st and turn on for 2nd
  13. Continuous Integration is just the first step of the process improvement, however it is the most important one. As soon as our code is built by the system, we are moving to the next step – CD. So CD takes CI to the next level. CD takes the output from our build system and deploys it to different environments such as dev/stage/production. And we can get lots of benefits out of this. We automate the entire pipeline, meaning that we minimize human error and we can deploy much more rapidly and confidently. By adapting both CI and CD, we also reduce risks and can catch bugs earlier in the process. With low-risk releases, you can quickly adapt to business requirements and user needs.
  14. We can configure VSTS projects to automatically deploy to Azure web apps or cloud services in just a few clicks. In addition, we have different predefined steps to make our life easier. So let’s move on and take a look at CD in action.
  15. Feel free to skip this section Start with application Show to VSTS portal Using first build definition show steps that we can use Use second and describe steps pay attention to specific project Open website one more time Go back to VS and commit change Show build processing Open web site and check that always is here
  16. This was the last demo. Let me now recap the main point of this webinar. Incorporation of your existing development process with CI and CD practices allows you to be more productive and get much more done. Because we’re integrating so frequently, we can identify where the things went wrong faster, so that more time can be spent on building features. Ultimately, the product delivery chain will gain more velocity and change cycles will contract even further and all stakeholders will have a clear view on this process.
  17. And with that, thank you so much for you time. Drop as a line……. ????