1. What is CI, CD, CT?




CI: enable developers to continuously integrate new and updated code into a shared, central code repository several time a day. CI continuously integrates code changes into the existing codebase to quickly identify and remediate any conflicts between different developers’ code changes.

  • The CI server notifies the team of the integration result. There should generally be four outcomes: failed build, successful build, failed tests, successful tests.
  • If there’s a failure, the team fixes the issue ASAP.

CD: CD is the process of automating code delivery from continuous integration to production, where it is tested and prepared for release. The code is kept in an always releasable state to deploy it automatically to production at any given time based on the customer‘s needs

CT: CT is the practice of automating and integrating tests into the software delivery chain and 
automatically executing those tests against each build of the codebase.
CT brings in the quality factor into these frequent release. The real benefits of adopting CI/CD cannot be realized if there is a lack of automated testing.

CI指的是CI能够帮助程序员能够连续集成新的code,一天连续update新的code好多次。每一次check-in 都是被自动构建来验证,可以帮助团队能在早期发现问题。
CD指的是从持续集成到prodcution的自动输送化代码过程,在这里,代码被用来测试和准备释放。代码始终保持一个释放状态能够按照客户的需求随时布置到产线上。
CT ,CT是一个将测试自动化集成到软件交付的做法。对代码的每个构建自动执行这些测试。
https://www.plutora.com/blog/understanding-ci-cd-pipeline


    1. What are the benefits for a team in following DevOps practices?

DevOps Methodology to solve the critical challenge, how do the software companies are quickly responding to the changing market and customer demands such as enabling more frequent software releases to production, enhancing time-to-market, and improving customer experience.
CICD is the key metric to measure successful DevOps practice.
DevOps 方法是用来解决关键性问题,软件公司是怎样能够快速针对市场变化和客户需求,例如快速的将产品投入市场中,加快上市时间,改善客户体验。CICD 衡量DevOps实践的关键指标。




          1. What is the purpose of GitHub?

version control,Git tracks the changes you make to files, so you have a record of what has been done, and you can revert to specific versions based on your need. Git also makes collaboration easier, allowing changes by multiple people to all be merged into one source.
版本控制,git可以追踪修改过的文件,有所做过的记录,可以根据需求挑选特定的版本。Git 可以写作很方便,允许多人将文件改变到一个Source 里。


      1. What are the different DevOps servers available in the market?
                            
                                        Aws CodeCommit, Gitlab,SVN

      1. What are the drawbacks of the waterfall software development model?

Delay testing until after completion because waterfall relies on teams following a sequence of steps and never moving forward until the previous phase has been completed.

Making change difficult, will require the project predictable.

Delay testing waterfall 依赖团队按照一系列步骤去完成,在前面的阶段没有完成之前,后面的阶段不可能提前。
因此很难改变,而且要求项目有可预见性。

      1. How does agile methodology overcome the difficulties in the waterfall model?

The agile methodology was created in response to the strict linear process of the waterfall model. while waterfall aims for predictability and tries to avoid change. The agile methodology embraces the reality of the world, customer market, and users are uncertain and unpredictable. Testers receive builds to test in increments in the Agile model of software development. Testers test the requirements addressed in each sprint and continue to perform regression testing on the growing build.

Agile方法是针对线性的waterfall 模式。Agile 方法认可现实,认可不确定的现实,不确定的用户市场和不确定的用户。在软件开发过程中,软件测试人员会在agile 模式下收到要测试的增量代码。测试人员测试每个冲刺阶段解决的需求,并继续对不断增长的构建进行回归测。
  • Agile is an iterative approach to project management that delivers a product in increments, instead of all at once at the end of a project.
  • Waterfall is a more traditional, sequential approach to project management that delivers a completed product once the project is finished
  • https://www.glasscubes.com/agile-vs-waterfall
          1. What are the different roles in an agile team?

The development team can be comprised of all kinds of people including UI designers, programmers, and test engineers. The development team's responsibilities include delivering the work through the sprint. Also to ensure transparency during the sprint meet daily at the daily scrum.

The product owner: setting clear direction,The business is represented by the product owner who tells the development what is important to deliver. Trust between these two roles is crucial.
So the product owner must take all these inputs and prioritize the work. This is probably their most important responsibility

The scrum master:The scrum master is the role responsible for gluing everything together and ensuring that scrum is being done well.

开发团队包含了设计人员,开发人员,测试工程师。主要负责在每一个冲刺阶段交付工作,并且确保透明。

product owner:设置明确的方向。业务由产品所有者代表,他告诉开发什么是重要的交付。
因此product owner 必须要将这些输入进行优先级排序。

Scrum master是负责将所有东西粘在一起并确保Scrum做得好的角色。

        1. What are the different ceremonies in an agile team?

      
The four agile ceremonies are Sprint Planning, Daily Stand-Up,Sprint Review and Sprint Retrospective.
Planning:what? the product owner brings the product backlog to discuss with the development team. The scrum master facilities.Together, the scrum team does effort or story point estimations. The product backlog must contain all the details necessary for estimation. The product owner should be able to clarify any doubts regarding the product backlog.

when: at the beginning of each sprint. one to two hours per week of iteration. so, if you are planning a  two-week sprint, your sprint planning should last to four hours.



Daily Stand-Up: This is an informal, standing meeting. All members of the Development Team inform everyone about what they did the day before and what they’re doing today. Members discuss any blockages they have and ask for help from the team if required. Due to time restrictions, the updates should be brief.


Sprint Review:The Scrum Master takes on the logistics of event preparation. The Product Owner should ask stakeholders questions to gather as much feedback as possible. They should also answer any of their stakeholder’s questions.


Sprint Retrospective:The teams discuss what went well throughout the sprint and what went wrong. The Scrum Master should encourage the Development Team to speak up and share not only facts but also their feelings. The goal is to gather rapid feedback for continuous improvement in terms of process. It’s also an opportunity to emphasize good practices that the team adopted and should repeat


Comments

Popular posts from this blog