Posts

Showing posts from August, 2023

How to push changes to Git Hub using GIT GUI?

Image
Getting started with Git GUI Step 1: Create Remote Repository Now, we need a Git repository, and we’ll create a new remote repository on Github. Step 2: Create a Local Repository For creating a local repository: in our Git GUI, click on  “Create New Repository” . Select the location you wish to store your repository in. It is important to note that the selected repository location MUST NOT  exist. In order for this new repository to be initialized, you must first create a file, any file, in your local repo.Then, you must Commit and Push to the remote Git repository location. Step 3: Clone a Remote Repository to a Local Repository In order to clone a repository, click on the “ Clone Existing Repository ” link in the Git GUI window. An existing repository is one that is already initialized and/or has commits pushed to it. Note:  In the Source Location field, fill in the Git remote repository location. The target directory works as same in the case of creating a local reposi...

How to push changes to Git Hub using the command line?

Image
Using Command line to PUSH to GitHub 1. Creating a new repository You need to create a new repository and click on the plus sign. Fill up all the required details, i.e., repository name, description and also make the repository public this time as it is free. 2. Open your Git Bash 3. Create your local project in your desktop directed towards a current working directory. 4. Initialize the git repository Use  git init  to initialize the repository. It is used to create a new empty repository or directory consisting of files' with the hidden directory. '.git' is created at the top level of your project, which places all of the revision information in one place. 5. Add the file to the new local repository Use  git add .  in your bash to add all the files to the given folder. Use  git status  in your bash to view all the files which are going to be staged to the first commit. 6. Commit the files staged in your local repository by writing a commit message You can...

How to create a GitHub repository?

Image
Log in to your Github account. Click the “+” icon on the right side of the header menu. Select “New Repository” in the drop-down menu that appears. In the upper-right corner of any page, use the   drop-down menu, and select  New repository . Type a short, memorable name for your repository. For example, "hello-world". 6.Optionally, add a description of your repository. For example, "My first repository on GitHub." 7.Choose a repository visibility. Public or Private. 8.Select  Initialize this repository with a README . You can create a README, which is a document describing your project.  You can create a  .gitignore  file, which is a set of ignore rules.  You can choose to add a software license for your project.  9.Click  Create repository .

Why do we need version control systems for IT companies?

Image
  Version control systems (VCS) are software tools that help developers manage changes to their source code over time. VCS tracks modifications made to files, including who made the changes and when allowing developers to quickly revert to a previous version or compare changes between different versions. This technology has revolutionized software development, making it easier for developers to collaborate on projects, maintain code quality, and improve productivity.   Git is the most popular distributed VCS. Managing and Protecting the Source Code Keeping Track of All the Modifications Made to the Code Comparing Earlier Versions of the Code Supports the Developers’ Workflow and Not any Rigid Way of Working Example:  There are 3 workstations or three different developers at three other locations, and there's one repository acting as a server. The workstations are using that repository either for the process of committing or updating the tasks. 

What are the differences between Scrum and Kanban?

Image
 

What are the benefits of using Scrum?

  Scrum in Agile  is a process that allows software development teams to focus on delivering business values in shortest time by rapidly and repeatedly inspecting actual working software. It focuses on accountability, teamwork and iterative progress towards well-defined goals. Scrum Framework usually deals with fact that requirements are likely to change or mostly not known at the beginning of project. Scrum Scrum is one of the implementations of agile methodology. In which incremental builds are delivered to the customer in every two to three weeks’ time. Scrum is ideally used in the project where the requirement is rapidly changing. Scrum teams are self-organizing, cross-functional team. The biggest advantage of Scrum is its flexibility as it quickly reacts to changes. In Scrum, collaboration is achieved in daily stand-up meetings with a fixed role assigned to scrum master, product owner, and team members. Not too many changes needed while implementing scrum proces...

What is the most important Agile ceremony in Agile? (Personally)

I personally feel that the Retrospective is the most important. You could be doing everything absolutely wrong, but in the retrospective, you can reflect on it and turn the whole thing around. This ceremony has the purpose of reviewing the ways of working of the agile team during the sprint. It’s like a checkpoint, where you ask yourself: “Where am I now? Am I building the right thing?” Communicating and collaborating with team members helps us to give feedback on what went well and what went wrong and how to improve the process. This can help the team continuously learn and improve their performance and collaboration.

What are the different ceremonies in Agile?

Image
Ceremonies (Processes) in Agile-Scrum framework Sprint Planning:  A sprint begins with the team importing stories from the release backlog into the sprint backlog; it is hosted by scrum master. The Testers estimate effort to test the various stories in the Sprint Backlog. Daily Scrum:  It is hosted by scrum master, it last about 15 minutes. During Daily Scrum, the members will discuss the work completed the previous day, the planned work for the next day and issues faced during a sprint. During daily stand-up meeting team progress is tracked. Sprint Review/ Retrospective:  It is also hosted by scrum master, it last about 2-4 hours and discuss what the team has accomplished in the last sprint and what lessons were learned.

What are the different roles in Agile?

Image
The Agile methodology is a project management approach that involves breaking the project into phases and emphasizes continuous collaboration and improvement. Teams follow a cycle of planning, executing, and evaluating. The publication of the Agile Manifesto in 2001 marks the birth of agile as a methodology. Since then, many agile frameworks have emerged such as scrum,  kanban  and Extreme Programming (XP) . Each embodies the core principles of frequent iteration, continuous learning, and high quality in its own way.  Scrum  and XP are favored by software development teams, while  kanban  is a darling among service-oriented teams like IT or human resources. Agile-Scrum framework Team Roles  Product Owner  Development Team   Scrum Master   

Why is Agile better than Waterfall?

Image
  Agile is better than waterfall model because of  Agile is an incremental and iterative model. It has faster feedback cycles. It identifies problems early. It has higher potential for customer satisfaction. It is continuous improvement and deliverable working software to the users. Time to market is dramatically improved. It has better visibility and accountability. Delivering the working product at each sprint to the customers. Requirement changes accepted at any time later in the development process also. Customers /stake holders' involvement in throughout development, so that getting feedback from the working software to fix the bugs early and improve the quality of the product. Quality is the whole team responsibility not just the Testers. Agile team works as cross- functional and collaborative manner to achieve the quality of the product. Testing is happening throughout each phase of sprint so that early testing fixes the bugs efficiently.

What are the drawbacks of the Waterfall methodology?

Image
  Waterfall Model  is a sequential model that divides software development into pre-defined phases. Each phase must be completed before the next phase can begin with no overlap between the phases. Each phase is designed for performing specific activity during the SDLC phase. It was introduced in 1970 by Winston Royce. Disadvantages: Error can be fixed only during the phase. It is not desirable for complex project where requirement changes frequently. Testing period comes quite late in the developmental process. Documentation occupies a lot of time of developers and testers. Clients valuable feedback cannot be included with ongoing development phase. Small changes or errors that arise in the completed software may cause a lot of problems. Delivering the product at end of the development phase.so Customer won't be able to see the product until delivered. If the product is not what the customer wants, then the project is failed. Costs the software company more money and the reput...

What is the purpose of Github?

Image
  GitHub is a code hosting platform for collaboration and version control. GitHub lets you (and others) work together on projects. Version Control System (VCS) are used for tracking changes in source code files.  GitHub essentials are: Repositories Branches Commits Pull Requests Git (the versio n control software GitHub is built on). Distributed version control  Coordinates work between multiple developers/ testers  Who made what changes and when  Revert back at any time  Local and Remote - DevOps  Keeps track of code history Takes snapshot of your files You decide when to commit your changes  You can visit code change anytime You stage files before committing

What are the benefits of following DevOps practices?

Image
 DevOps practices reflect the idea of continuous improvement and automation. Many practices focus on one or more development cycle phases. These practices include: Continuous Development.  This practice spans the planning and coding phases of the DevOps lifecycle. Version-control mechanisms might be involved. Continuous Testing (CT).  This practice incorporates automated, prescheduled, continued code tests as application code is being written or updated. Such tests can speed the delivery of code to production. Continuous Integration (CI).  This practice brings configuration management (CM) tools together with other test and development tools to track how much of the code being developed is ready for production. It involves rapid feedback between testing and development to quickly identify and resolve code issues. Continuous Delivery.  This practice automates the delivery of code changes, after testing, to a preproduction or staging environment. A staff member mi...

What is CI, CD & CT?

Image
Continuous Integration (CT), continuous Testing (CT) and continuous Delivery (CD) accelerate the code release process and are thus crucial to DevOps. These processes are often referred to as a  CI/CD pipeline  or a  DevOps pipeline. Continuous integration.  In the CI stage, developers write a feature, update or fix, then commit the code to a central code repository. Organizations often use  version control tools  like GitHub and Atlassian Bitbucket. These tools enable developers to write or modify code without interrupting another developer's progress. Once the code commits to the repo, Continuous Testing (CT) begins to  shine. In the initial stage of the pipeline, static code analysis can check for syntax issues and common vulnerabilities. Use plugins in the CI server to configure static code analysis with a tool.  Static code analysis is an initial test of the code. If the code passes, the unit test stage comes next, unless these tests wer...

What is Compatibility tests and how are they performed?

Image
  Compatibility Testing Software compatibility can refer to the capacity of two systems to work together without making any changes to support each other. Software Compatibility is the interoperability between any two software applications. Example:  We can open files created from Wordpad using a Notepad too. So the file is compatible. In a compatibility test, we check whether the application, website or system under test is compatible with different environments like web browsers, hardware platforms, databases, operating systems, networks, mobile devices, different versions, configurations, screen resolutions etc. Compatibility testing helps us develop software applications with the ability to work seamlessly across various platforms and hardware without any issues. We can understand the behavior of the application in different environments and uncover hidden bugs in other interfaces. Some examples of applications that we can access through both mobile and PC with native...