Thursday, October 3, 2019

Angular interview question

What’s the difference between agile, CI/CD, and DevOps?

Agile:
Agile is most popular software development process in software industry. Agile is a flexible software development methodology, involving a large number of various iterations.

Pros:

  1. Adaptive approach that responds to changes favorably
  2. Allows for direct communication to maintain transparency
  3. Improved quality by finding and fixing defects quickly and identifying expectation mismatches early.

Cons:

  1. Focuses on working with software and lacks documentation efficiency
  2. Chances of getting off-track as outcome are not clear


Continuous integration/continuous delivery (CI/CD)


Continuous integration (CI) is a software engineering practice where members of a team integrate their work with increasing frequency. In keeping with CI practice, teams strive to integrate at least daily and even hourly, approaching integration that occurs “continuous-ly.”


Continuous delivery (CD) is to packaging and deployment what CI is to build and test. Teams practicing CD can build, configure, and package software and orchestrate its deployment in such a way that it can be released to production in a software-defined manner (low cost, high automation) at any time.


Development : our account / north--vergenia
Stagging: client account / north--vergenia
Production: client-account / ireland


code commit : AWS CodeCommit is a version control service hosted by Amazon Web Services
code build
code deploye : CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances
code pipeline : AWS CodePipeline is a continuous delivery service you can use to model, visualize, and automate the steps required to release your software.

Continuous Integration and Continuous Delivery Model
-----------------------------------------------------------------------------------
Create a CodeCommit repository
Access the CodeCommit repository from developer machine
Design a code delivery model using CodeCommit, CodeDeploy, CodePipeline




Scrum

Scrum is the most popular agile development framework because it is relatively simple to implement.



In scrum, a small team is led by a scrum master whose main job is to clear away all obstacles to work getting done more efficiently. The team works in short cycles of 2 weeks called “sprints,” though the team members meet daily to discuss what’s been done and where there are any roadblocks that need clearing. This methodology allows for quick development and testing, especially within small teams.
Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal. The three pillars of Scrum are transparency, inspection and adaptation

Scrum master: This team member serves as a facilitator. The Scrum master is responsible for ensuring that Scrum best practices are carried out and the project is able to move forward.

The Scrum process



Daily Scrum . The Daily Scrum is a short stand-up meeting that happens at the same place and time each day. At each meeting, the team reviews work that was completed the previous day and plans what work will be done in the next 24 hours. This is the time for team members to speak up about any problems that might prevent project completion.

Sprint Planning Meeting. A Sprint refers to the time frame in which work must be completed, and it's often 30 days. Everyone participates in setting the goals, and at the end, at least one increment -- a usable piece of software -- should be produced.
Sprint Review. This is the time to show off the increment.

REF:




No comments:

Post a Comment