Lokesh Agile Lab

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

SAGE University Indore

LAB MANUAL
Subject Code:- ACTDEASD001P
Agile Software Development &DevOps Lab

Year : Final Year, Semester:VII


Session:-2024-25

Institute of Advance Computing Core

Submittedto:-Submittedby:-
Dr.Hemant Kumar Gupta Name: - Lokesh Malviya
EnrollmentNo: 21ADV3CSE0258
I D X
S.no NameoftheExperiment Date of Remark
Experiment
1. Study of Agile and Agile Software Development Tools

2. Study of JIRA Tool for Agile Software Development

3. Test Plan Document for Library Management System

4. Installation and Functions of JIRA

5. Study of Zephyr Tool for Agile Software Development

6. Study of Available DevOps Tools


7. Test Plan Document for Hotel Management System

8. Study of Docker Tool

9 Installation Process and Working with Docker

10 Responsibilities of the Scrum Team

11 Test Plan Document for Hospital Management System

12 Study of GIT Tool for DevOps

13 Installation and Functions in GIT

14 Study of Version Control Tools

15 Test Plan Document for Banking System


1. Study of Agile and Agile Software Development Tools
Objective

The objective of this study is to understand the Agile methodology, its core principles, and the
advantages of Agile software development tools in enhancing productivity and collaboration
within teams.

Introduction

Agile development is a response to the limitations of traditional waterfall methods, focusing on


flexibility, customer feedback, and rapid delivery. Agile emphasizes adaptive planning,
evolutionary development, and delivery. This approach encourages collaboration between cross-
functional teams and stakeholders throughout the project lifecycle.

Materials

• Agile Manifesto
• Research articles on Agile methodologies
• Documentation on various Agile tools (e.g., JIRA, Trello, Asana)

Safety Precautions

As this study involves theoretical exploration, no specific safety precautions are required.

Procedure

1. Research Agile Principles: Review the Agile Manifesto and its twelve principles to
grasp the foundational concepts.
2. Identify Agile Tools: Explore various Agile tools available in the market, documenting
their features, applications, and benefits.
3. Compare Tools: Analyze the advantages of using specific tools for Agile project
management versus traditional methods.

Results

• Agile Principles Summary:


o Customer satisfaction through early and continuous delivery.
o Flexibility to change requirements, even late in development.
o Collaboration between business stakeholders and developers.
o Deliver working software frequently, from a couple of weeks to a couple of
months.
• Tools Overview:
o JIRA: Best suited for issue tracking and project management.
o Trello: Visual task management tool with boards and cards.
o Asana: Excellent for tracking project progress and team tasks.

Analysis/Discussion

The findings highlight that Agile methodologies promote better alignment with customer needs,
faster delivery cycles, and improved team morale. Tools like JIRA facilitate real-time
collaboration and visibility, allowing teams to adapt quickly to changes.

Conclusion

Agile development, supported by various tools, significantly improves software development


processes by fostering collaboration, enhancing flexibility, and promoting customer engagement.

2. Study of JIRA Tool for Agile Software Development


Objective

To analyze JIRA's features and applications in Agile software development, understanding how
it supports project management and team collaboration.

Introduction

JIRA, developed by Atlassian, is a powerful tool designed for Agile project management. It
allows teams to plan, track, and manage Agile software development projects effectively. JIRA
supports methodologies such as Scrum and Kanban, providing flexibility for teams to adapt their
processes as needed.

Materials

• JIRA user manual


• Online tutorials and documentation
• Case studies on JIRA applications in Agile teams

Safety Precautions

No specific safety precautions are necessary for this study.

Procedure

1. Setup JIRA: Create a JIRA account and familiarize yourself with its interface and
navigation.
2. Explore Features: Investigate key features such as issue tracking, sprint planning,
reporting, and dashboards.
3. Analyze Applications: Look for case studies or examples of how organizations have
successfully implemented JIRA in their Agile practices.

Results

• Features Overview:
o Issue Tracking: Allows tracking of tasks, bugs, and user stories in real-time.
o Agile Boards: Visualize work in progress with Kanban and Scrum boards.
o Sprint Planning: Facilitates planning and managing sprints efficiently.
o Reporting: Offers a variety of reports to analyze team performance and project
progress.

Analysis/Discussion

JIRA's flexibility and robust feature set make it a popular choice among Agile teams. Its issue
tracking capabilities allow teams to prioritize tasks effectively, while Agile boards provide a
clear view of the team's workload. The reporting features enable teams to assess their
performance and identify areas for improvement.

Conclusion

JIRA enhances Agile software development by providing a comprehensive platform for project
management, enabling teams to deliver high-quality software efficiently while maintaining
flexibility.

3. Test Plan Document for Library Management System


Objective

To create a comprehensive test plan for a Library Management System, ensuring thorough
testing of its functionalities and features.

Introduction

A test plan is a formal document that outlines the strategy and scope of testing activities for a
software application. It serves as a guide for testers to ensure all aspects of the system are tested,
leading to a reliable and user-friendly product.

Materials

• Software requirements specification for the Library Management System


• Template for the test plan document

Safety Precautions

No safety precautions are required for this practical.

Procedure

1. Define Scope: Identify the features to be tested, including user authentication, book
search, book issuance, and return functionalities.
2. Identify Resources: List the personnel, tools, and environments required for testing.
3. Outline Methodology: Decide on the types of testing to be performed (e.g., functional
testing, usability testing, performance testing).
4. Develop Test Cases: Create specific test cases that cover all functional requirements.

Test Plan Document

• Test Plan ID: LMS-TP-001


• Project Title: Library Management System
• Test Items: User authentication, book search functionality, book issuance and return,
user management
• Features to be Tested:
o User Interface (UI): Ensuring all buttons and links are functional and the interface
is user-friendly.
o Database Operations: Checking if all book and user data is correctly stored and
retrieved.
o Security: Validating user permissions and data protection measures.

Results

• Test Case Example:


o Test Case ID: LMS-TC-001
o Description: Verify user login with valid credentials.
o Expected Result: User is directed to the dashboard upon successful login.

Analysis/Discussion

The test plan ensures comprehensive coverage of all functionalities of the Library Management
System, helping to identify any defects before the product is released. Proper documentation of
test cases is crucial for systematic testing and future reference.

Conclusion

Creating a structured test plan is essential for the successful testing of the Library Management
System, ensuring all features work as intended and providing a positive user experience.
4. Installation and Functions of JIRA
Objective

To install JIRA on a local machine and explore its functionalities to enhance understanding of its
capabilities.

Introduction

Installing JIRA allows users to gain firsthand experience with its project management features.
Understanding these functions can significantly benefit teams in Agile development
environments.

Materials

• System requirements for JIRA


• Official JIRA installation guide

Safety Precautions

No safety precautions are required for this installation.

Procedure

1. Download JIRA: Visit the Atlassian website and download the appropriate version of
JIRA for your operating system.
2. Install JIRA: Follow the step-by-step instructions provided in the installation guide.
3. Configure Initial Settings: Set up the application by creating a new project and
customizing settings according to your needs.
4. Explore Functions: Navigate through JIRA to discover its features, including creating
issues, setting up sprints, and generating reports.

Results

• Installation Confirmation: Successful installation of JIRA with the ability to create and
manage projects.
• Exploration Outcomes:
o Creation of a sample project with issues and tasks.
o Familiarity with JIRA’s dashboard, allowing users to track project progress.

Analysis/Discussion

The installation process is user-friendly, and the setup guides provide clear instructions. JIRA’s
dashboard is intuitive, enabling teams to monitor their progress effectively. Key functionalities
like issue tracking and sprint planning are vital for Agile practices.

Conclusion

Installing and exploring JIRA equips users with essential skills to manage Agile projects
effectively, enhancing team collaboration and project visibility.

5. Study of Zephyr Tool for Agile Software Development


Objective

To analyze the features, applications, and advantages of the Zephyr tool in Agile software
development environments.

Introduction

Zephyr is a leading test management solution that integrates seamlessly with JIRA, providing
teams with the ability to manage and execute tests within the Agile framework. It enhances
testing efficiency by allowing teams to plan, track, and release software with greater confidence.

Materials

• Zephyr documentation
• Online resources and case studies

Safety Precautions

No safety precautions are necessary for this practical.

Procedure

1. Research Zephyr’s Features: Explore the functionalities offered by Zephyr, including


test case management, execution, and reporting.
2. Integration with JIRA: Study how Zephyr integrates with JIRA to enhance test
management.
3. Use Cases: Identify organizations that successfully utilize Zephyr in their Agile testing
processes.

Results

• Features Overview:
o Test Case Management: Ability to create, edit, and manage test cases efficiently.
o Test Execution: Supports manual and automated testing, allowing teams to
execute tests directly from JIRA.
o Reporting: Provides insightful reports and dashboards for monitoring testing
progress.

Analysis/Discussion

Zephyr’s integration with JIRA streamlines the testing process, allowing teams to manage test
cases within their existing workflows. Its user-friendly interface and robust reporting capabilities
make it a valuable tool for Agile teams looking to enhance their testing practices.

Conclusion

Zephyr significantly improves test management in Agile software development by providing


essential features that support teams in planning, executing, and reporting on tests efficiently.

6. Study of Available DevOps Tools


Objective

To explore various DevOps tools available in the market and understand their features and
applications.

Introduction

DevOps is a culture that promotes collaboration between development and operations teams,
aiming to shorten the software development lifecycle while delivering high-quality software.
Various tools facilitate the DevOps process, helping teams automate tasks, integrate workflows,
and monitor performance.

Materials

• Research articles on DevOps tools


• Comparison charts of popular DevOps tools

Safety Precautions

No specific safety precautions are required for this study.

Procedure

1. Identify DevOps Tools: Research and compile a list of popular DevOps tools, such as
Jenkins, Docker, Kubernetes, Git, and Ansible.
2. Analyze Features: For each tool, explore its core features, applications, and advantages.
3. Comparison: Create a comparison chart highlighting the key differences and use cases of
each tool.

Results

• Popular DevOps Tools:


o Jenkins: Automation server for building, testing, and deploying applications.
o Docker: Containerization platform that simplifies application deployment.
o Kubernetes: Orchestration tool for managing containerized applications at scale.
o Git: Version control system for tracking changes in source code.
o Ansible: Automation tool for configuration management and deployment.

Analysis/Discussion

The study highlights the diverse range of tools available to support DevOps practices. Each tool
serves specific purposes, and their integration can lead to a more efficient development and
deployment process. Teams must select the right tools based on their specific needs and
workflows.

Conclusion

Understanding the available DevOps tools and their applications is crucial for teams looking to
adopt DevOps practices. The right combination of tools can significantly enhance collaboration,
automation, and overall software quality.

7. Test Plan Document for Hotel Management System


Objective

To create a detailed test plan for a Hotel Management System, ensuring comprehensive testing of
its features and functionalities.

Introduction

A test plan outlines the strategy for testing software, serving as a roadmap for testers to ensure all
aspects of the system are evaluated thoroughly. The Hotel Management System is designed to
manage various operations in a hotel, including booking, billing, and customer service.

Materials

• Software requirements specification for the Hotel Management System


• Template for the test plan document
Safety Precautions

No safety precautions are required for this practical.

Procedure

1. Define Scope: Identify the features to be tested, such as room booking, billing, customer
management, and reporting functionalities.
2. Identify Resources: List the personnel, tools, and environments required for testing.
3. Outline Methodology: Determine the types of testing to be performed, including
functional testing and performance testing.
4. Develop Test Cases: Create specific test cases covering all functional requirements.

Test Plan Document

• Test Plan ID: HMS-TP-001


• Project Title: Hotel Management System
• Test Items: Room booking, billing, customer management, reporting
• Features to be Tested:
o User Interface (UI): Ensuring all menus and options are user-friendly and
accessible.
o Database Operations: Checking if booking and customer data is accurately stored
and retrieved.
o Security: Validating user permissions and data protection measures.

Results

• Test Case Example:


o Test Case ID: HMS-TC-001
o Description: Verify room booking with valid customer information.
o Expected Result: Room is successfully booked and confirmation is generated.

Analysis/Discussion

The test plan ensures thorough testing of all functionalities of the Hotel Management System,
helping to identify any defects before deployment. Proper documentation of test cases is crucial
for systematic testing and future reference.

Conclusion

Creating a structured test plan is essential for the successful testing of the Hotel Management
System, ensuring all features function correctly and meet user expectations.
8. Study of Docker Tool (Features, Applications,
Advantages)
Objective

To explore the features, applications, and advantages of the Docker tool in software development
and deployment.

Introduction

Docker is an open-source platform that automates the deployment of applications within


lightweight, portable containers. It allows developers to package applications and their
dependencies into a single unit, ensuring consistency across different environments.

Materials

• Docker documentation
• Online tutorials and resources

Safety Precautions

No safety precautions are necessary for this study.

Procedure

1. Research Docker Features: Explore the core features of Docker, including


containerization, image management, and orchestration.
2. Identify Applications: Analyze various use cases for Docker in software development
and deployment.
3. Examine Advantages: List the benefits of using Docker, such as scalability, portability,
and efficiency.

Results

• Features Overview:
o Containerization: Packages applications and their dependencies into isolated
containers.
o Image Management: Allows users to create, store, and share images.
o Orchestration: Facilitates management of containerized applications across
multiple hosts.
• Applications:
o Simplifies development and testing workflows.
o Enables consistent deployments across different environments (development,
staging, production).
• Advantages:
o Lightweight and fast, reducing overhead.
o Promotes scalability and flexibility.
o Facilitates continuous integration and delivery (CI/CD).

Analysis/Discussion

Docker revolutionizes the way applications are developed and deployed. Its containerization
approach eliminates compatibility issues, allowing teams to focus on writing code instead of
managing environments. Docker’s efficiency and scalability make it an essential tool for modern
software development.

Conclusion

Docker offers powerful features and significant advantages that streamline software development
and deployment processes, making it an invaluable tool in today’s tech landscape.

9. Installation Process and Working with Docker Tool


Objective

To install Docker on a local machine and explore its functionalities to understand how it supports
containerization and application deployment.

Introduction

Installing Docker provides users with the ability to create and manage containers for application
deployment. Understanding these functionalities can significantly enhance development
workflows and deployment processes.

Materials

• System requirements for Docker


• Official Docker installation guide

Safety Precautions

No safety precautions are required for this installation.

Procedure

1. Download Docker: Visit the Docker website and download the appropriate version for
your operating system.
2. Install Docker: Follow the step-by-step instructions provided in the installation guide.
3. Configure Initial Settings: Set up Docker and verify the installation by running a sample
container.
4. Explore Functions: Navigate through Docker to discover its functionalities, including
creating and managing containers and images.

Results

• Installation Confirmation: Successful installation of Docker with the ability to create


and manage containers.
• Exploration Outcomes:
o Created a sample container running a basic web application.
o Familiarized with Docker commands for managing containers and images.

Analysis/Discussion

The installation process is straightforward, and the setup guides provide clear instructions.
Docker's command-line interface (CLI) is intuitive, allowing users to manage containers
effectively. Key functionalities like container creation and image management are vital for
efficient application deployment.

Conclusion

Installing and exploring Docker equips users with essential skills to manage containerized
applications effectively, enhancing development and deployment processes.

10. Study of Responsibilities of the Scrum Team


Objective

To understand the roles and responsibilities of the Scrum Team in the Agile development
process.

Introduction

The Scrum Team consists of Scrum Master, Product Owner, and Development Team members,
each with specific responsibilities that contribute to the success of the project. Understanding
these roles is crucial for effective collaboration in Agile environments.

Materials

• Scrum Guide
• Articles on Scrum roles and responsibilities
Safety Precautions

No specific safety precautions are necessary for this study.

Procedure

1. Research Scrum Roles: Review the Scrum Guide to understand the defined roles within
a Scrum Team.
2. Identify Responsibilities: Analyze the key responsibilities of each role and how they
contribute to the Agile process.
3. Real-World Examples: Look for case studies or examples of successful Scrum Teams
and their dynamics.

Results

• Roles Overview:
o Scrum Master: Facilitates the Scrum process, removes impediments, and ensures
the team adheres to Agile principles.
o Product Owner: Represents stakeholders, prioritizes the product backlog, and
ensures that the team delivers value to the business.
o Development Team: Composed of cross-functional members who
collaboratively work to deliver the product increment.

Analysis/Discussion

Understanding the roles and responsibilities of the Scrum Team is vital for fostering effective
collaboration and communication. Each role is interdependent, and their successful interaction is
essential for achieving project goals.

Conclusion

A well-defined Scrum Team with clear roles and responsibilities enhances the Agile process,
leading to successful project delivery and improved team dynamics.

11. Test Plan Document for Hospital Management System


Objective

To create a detailed test plan for a Hospital Management System, ensuring comprehensive
testing of its features and functionalities.

Introduction
A test plan is a formal document that outlines the strategy for testing software. The Hospital
Management System is designed to manage various operations in a hospital, including patient
management, appointment scheduling, and billing.

Materials

• Software requirements specification for the Hospital Management System


• Template for the test plan document

Safety Precautions

No safety precautions are necessary for this practical.

Procedure

1. Define Scope: Identify the features to be tested, such as patient registration, appointment
scheduling, billing, and reporting functionalities.
2. Identify Resources: List the personnel, tools, and environments required for testing.
3. Outline Methodology: Determine the types of testing to be performed, including
functional testing, security testing, and performance testing.
4. Develop Test Cases: Create specific test cases covering all functional requirements.

Test Plan Document

• Test Plan ID: HMS-TP-002


• Project Title: Hospital Management System
• Test Items: Patient management, appointment scheduling, billing, reporting
• Features to be Tested:
o User Interface (UI): Ensuring all menus and options are user-friendly and
accessible.
o Database Operations: Checking if patient and appointment data is accurately
stored and retrieved.
o Security: Validating user permissions and data protection measures.

Results

• Test Case Example:


o Test Case ID: HMS-TC-002
o Description: Verify patient registration with valid information.
o Expected Result: Patient is successfully registered, and a confirmation is
generated.

Analysis/Discussion

The test plan ensures thorough testing of all functionalities of the Hospital Management System,
helping to identify any defects before deployment. Proper documentation of test cases is crucial
for systematic testing and future reference.

Conclusion

Creating a structured test plan is essential for the successful testing of the Hospital Management
System, ensuring all features function correctly and meet user expectations.

12. Study of GIT Tool for DevOps (Features, Applications,


Advantages)
Objective

To explore the GIT tool's features, applications, and advantages in the DevOps environment.

Introduction

GIT is a distributed version control system widely used for tracking changes in source code
during software development. It allows multiple developers to work on a project simultaneously,
making it essential for DevOps practices.

Materials

• GIT documentation
• Online tutorials on GIT usage

Safety Precautions

No specific safety precautions are necessary for this study.

Procedure

1. Research GIT Features: Explore GIT's core features, including branching, merging, and
version control.
2. Identify Applications: Analyze various use cases for GIT in software development and
collaboration.
3. Examine Advantages: List the benefits of using GIT, such as enhanced collaboration
and version history tracking.

Results

• Features Overview:
o Version Control: Tracks changes in source code, allowing easy access to
previous versions.
o Branching and Merging: Supports parallel development through branches,
enabling teams to work independently and merge changes seamlessly.
o Distributed Architecture: Allows every developer to have a complete copy of
the repository, enhancing collaboration and reducing server dependency.
• Applications:
o Facilitates team collaboration on projects.
o Enables continuous integration and delivery processes.
• Advantages:
o Improves collaboration among team members.
o Enhances project transparency with a complete version history.
o Supports quick recovery from mistakes or changes.

Analysis/Discussion

GIT's distributed nature and robust features make it a crucial tool for modern software
development. Its ability to handle collaboration and version control efficiently significantly
contributes to the success of DevOps practices.

Conclusion

Understanding GIT's features and advantages is essential for teams adopting DevOps
methodologies. It empowers developers to manage code changes effectively and collaborate
seamlessly.

13. Installation and Study of Functions in GIT (Commands)


Objective

To install GIT on a local machine and explore its basic commands and functionalities.

Introduction

Installing GIT allows users to manage and track changes in their codebase effectively.
Understanding its commands is crucial for utilizing its full potential in software development.

Materials

• System requirements for GIT


• Official GIT installation guide

Safety Precautions

No safety precautions are required for this installation.


Procedure

1. Download GIT: Visit the official GIT website and download the appropriate version for
your operating system.
2. Install GIT: Follow the step-by-step instructions provided in the installation guide.
3. Verify Installation: Open the command line interface and run the command git --
version to confirm successful installation.
4. Explore Basic Commands:
o git init: Initializes a new GIT repository.
o git clone <repository>: Clones an existing repository into a local directory.
o git add <file>: Stages changes for the next commit.
o git commit -m "message": Commits the staged changes with a message.
o git push: Pushes local commits to a remote repository.
o git pull: Fetches and merges changes from a remote repository.

Results

• Installation Confirmation: Successful installation of GIT, with the ability to run basic
commands.
• Command Functionality:
o Initialized a new repository and added files.
o Committed changes and pushed to a remote repository.

Analysis/Discussion

The installation process is straightforward, and the basic commands provide a solid foundation
for managing code changes. Understanding these commands is vital for effective collaboration
and version control in software development.

Conclusion

Installing GIT and mastering its basic commands equips developers with essential skills for
managing code efficiently, enhancing collaboration, and supporting DevOps practices.

14. Study of Version Control Tools


Objective

To explore the concept of version control and the various tools available, focusing on their
features and applications.

Introduction
Version control is a system that records changes to files over time, allowing users to recall
specific versions later. It is essential in software development to track changes, collaborate, and
manage project history.

Materials

• Research articles on version control systems


• Comparison charts of popular version control tools

Safety Precautions

No specific safety precautions are required for this study.

Procedure

1. Define Version Control: Research the concept of version control and its significance in
software development.
2. Identify Tools: Compile a list of popular version control tools, such as GIT, Subversion
(SVN), and Mercurial.
3. Analyze Features: For each tool, explore its core features, applications, and advantages.
4. Comparison: Create a comparison chart highlighting the key differences and use cases of
each tool.

Results

• Popular Version Control Tools:


o GIT: Distributed version control system that allows for flexible branching and
merging.
o Subversion (SVN): Centralized version control system focused on ease of use
and support for binary files.
o Mercurial: Distributed version control system known for its simplicity and
efficiency.

Analysis/Discussion

Understanding different version control tools and their features helps teams select the right tool
for their specific needs. Each tool has unique strengths and weaknesses, and the choice may
depend on factors like team size, project complexity, and workflow.

Conclusion

Version control tools are essential in modern software development, providing the necessary
framework for managing changes and facilitating collaboration. Selecting the appropriate tool is
crucial for ensuring project success.
15. Create a Test Plan Document for Banking System
Objective

To create a detailed test plan for a Banking System, ensuring comprehensive testing of its
features and functionalities.

Introduction

A test plan outlines the strategy for testing software, serving as a roadmap for testers to ensure all
aspects of the system are evaluated thoroughly. The Banking System is designed to manage
various operations, including account management, transactions, and customer service.

Materials

• Software requirements specification for the Banking System


• Template for the test plan document

Safety Precautions

No safety precautions are required for this practical.

Procedure

1. Define Scope: Identify the features to be tested, such as account creation, transaction
processing, and customer management.
2. Identify Resources: List the personnel, tools, and environments required for testing.
3. Outline Methodology: Determine the types of testing to be performed, including
functional testing, security testing, and performance testing.
4. Develop Test Cases: Create specific test cases covering all functional requirements.

Test Plan Document

• Test Plan ID: BS-TP-001


• Project Title: Banking System
• Test Items: Account management, transaction processing, customer service
• Features to be Tested:
o User Interface (UI): Ensuring all menus and options are user-friendly and
accessible.
o Database Operations: Checking if account and transaction data is accurately
stored and retrieved.
o Security: Validating user permissions and data protection measures.

Results
• Test Case Example:
o Test Case ID: BS-TC-001
o Description: Verify account creation with valid user information.
o Expected Result: Account is successfully created, and a confirmation is
generated.

Analysis/Discussion

The test plan ensures thorough testing of all functionalities of the Banking System, helping to
identify any defects before deployment. Proper documentation of test cases is crucial for
systematic testing and future reference.

Conclusion

Creating a structured test plan is essential for the successful testing of the Banking System,
ensuring all features function correctly and meet user expectations.

You might also like