Categories
Uncategorized

Transporting Software

Building a software may or may not be easy , But transporting it was always difficult, Now you may wonder What does transporting the software mean,Before I go on into giving you an idea, I will take up and example and explain how does it exactly work. Imagine there are 2 developers working on a project, one is working on a little feature and another is on an Big Feature. By developing them in branches, it’s not only possible to work on both of them in parallel, but it also keeps the main master branch free from bugs.

Branching is a feature available in most modern version control systems.  Developers work on branch, it may or may not depend that every developer will work on individual branches , Branching is a feature available in most modern version control systems.  In Git, branches are a part of your everyday development process. Git branches are effectively a pointer to a snapshot of your changes. When you want to add a new feature or fix a bug—no matter how big or how small—you spawn a new branch to encapsulate your changes.

A branch represents an independent line of development. Branches serve as an abstraction for the edit/stage/commit process……. You can think of them as a way to request a brand new working directory, staging area, and project history. 

After this you will be having an vague idea where developers work on,so let us see how the work done by them is deployed .

CONTINUOUS INTEGRATION

Continuous Integration (CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests. , the term build is similar to that of any other field. That is, the construction of something that has an observable and tangible result

CONTINUOUS DEPLOYMENT

Continuous deployment can be thought of as an extension of continuous integration, aiming at minimizing lead time, the time elapsed between development writing one new line of code and this new code being used by live users, in production.

To achieve continuous deployment, the team relies on infrastructure that automates and instruments the various steps leading up to deployment, so that after each integration successfully meeting these release criteria, the live application is updated with new code.

Now fancy term Release criteria  are objective measurements of the critical attributes of the product or project. Listing and referring to the criteria allow you to know whether the product is ready to release. They can help you make rational decisions about when to ship the software.

Expected Benefits

The main benefits claimed for continuous deployment arise as a result of reducing lead time, with two main effects:

  • earlier return on investment for each feature after it is developed, which reduces the need for large capital investments
  • earlier feedback from users on each new feature as it is released to production, which affords techniques such as parallel (or A/B) testing to determine which of two possible implementation is preferred by users

Now that I have given you a ball park idea on how these things work, let me quickly jump on to the Core idea

What Is CICD?

A growing number of companies are shipping software in minutes.
Yeah, you read that right. Minutes. Not hours, not weeks, months, or longer. Minutes.

In today’s post, I’ll introduce these concepts, show you how to get it right, and identify what’s important. Then, I’ll include a list of tools commonly used to implement CICD. When you finish reading, you’ll have a better understanding of all the benefits that these practices bring,

CI/CD contains two separate but complementary parts. Since I have explained both parts above detailed this must be a cake walk to you

Continuous Integration is the process of automatically testing and building software after new bits of application code are integrated into a shared repository. This yields “builds” of the application that are in a working state at all times. Unit tests are included as part of the continuous integration process, thereby validating the functionality of the software. This identifies bugs up-front, and prevents wasted cycles further down the feedback loop.

Continuous Delivery is the process of delivering applications created in the CI process to a production-like environment, where it is put through additional automated tests to ensure the application functions as expected when pushed to production environments and put in the hands of real users. It also ensures the latest build interacts with other software and applications as intended.

Why CI/CD Matters

Deploy software on-demand based on business requirements

Teams that practice CI/CD can release new application code to production in minutes, when it makes the most business sense to do so rather than based on predetermined release windows.

Reduce the risk of software not functioning properly in production

With CI/CD, code is put through rigorous automated testing before it can be shipped, significantly reducing the risk of introducing bugs or broken code to production environments.

Make rapid iteration based on customer feedback a reality

CI/CD compliments Agile methodology and DevOps by providing the functionality required to put continuous learning from users into practice, allowing teams to iterate and ship software in small, rapid batches.

Recover faster when failures do occur

In the rare instances when failures do occur in production, CI/CD enables teams to reduce their mean time to recovery (MTTR) by quickly pinpointing bad code and pushing fixes to production to minimize the impact on end-users

To conclude with

CI/CD helps teams to be more productive when shipping software with quality built in. But the road to having one-click deployments that you can produce on demand is not an easy one. That’s mainly because even though there are powerful tools that will help you to achieve CI/CD more effectively, CI/CD requires a cultural change: a mindset that every person in the team needs to understand very well.

The top 8 Continuous Integration tools:

  • Buddy.
  • Team-city.
  • Jenkins.
  • Travis CI.
  • Bamboo.
  • GitLab CI.
  • CircleCI.
  • Codeship.

Raghavendra R's avatar

By Raghavendra R

I am a Consultant with 10 years of experience in the IT industry for both project and product based organizations. As a Senior Business Analyst, I possess a very strong command in quickly grasping and proactively owning the business understanding of requirements and question their feasibility to minimize the scope of ambiguities and also lead clients with a vision board that caters to their digital vision, and then further lead team’s development by creating road maps, and prioritizing sprint backlog to bring most value to the business. As a Consultant, I am able to deliver consultation that offers premium solutions that are aligned with both business needs and market trends. As a relationship builder and travel enthusiast, I pride myself on being able to connect with customers to uncover gaps in the market. I am then able to use my creativity to idea new products to the other. In my career span, I have been associated with plethora of brands for both B2B and B2C, where using my expertise we achieved their digital vision with respect to latest trends in market. As a strategic thought-partner, I am passionate about solving problems and structuring creative solutions . Whether challenged with the optimization of a workflow or defining a feature road-map for the product, I love collaborating with cross-functional teams. With a bright positive approach to see opportunities in a problem and a never to die attitude I believe in only delivering the best. For when you hire me its not just your organization, it becomes “mine” too. Skill Snapshot Technology Stack: SAP hybris, Magento, CRM, ERP, Order Management systems Creative Tools: JUST IN MIND, DRAW.IO . Organizational Tracking: JIRA, Wiki Confluence, Slack, Skype. Technical Analysis: Platform Comparison, FRD, BRD, FVM, User Stories, MoSCow Model, 5C analysis, Demo Scripts, MoM, Impact Vs Feasibility Analysis Business Skills: BPR, BPMN, Gap analysis, Requirement Elicitation, Estimation and planning, Client Communication, Process re-engineering Certifications Snap shot: • Adobe Certified Expert – Magento Commerce Business Practitioner • SAP Certified Business Associate – SAP C/4HANA Business Processes – Lead to Cash • SAP Certified Application Associate – SAP Commerce Cloud Business User • Certified SCRUM product owner & PMI -PBA • AEM Business Practitioner

Leave a comment