Professional Documents
Culture Documents
Agile Practical Final
Agile Practical Final
BTCS-711-18 1916533
Practical : 1
AIM :- Understanding the background and driving forces for taking an
agile approach to software development.
Introduction :- Agile was initially developed for the software industry in order to improve
and streamline the development process in a bid to quickly identify and adjust for defects and
issues. It offers a way for teams and developers to deliver a better project, faster, through
short, iterative sprints/sessions. And with many companies moving to the digital workplace,
agile is an excellent fit for the organizations looking to transform the way they manage .
The Agile approach fosters adaptability, evolutionary development, and delivery, as well as a
time-bound, iterative approach and quick response to change. Agile promotes adaptive
planning, evolutionary growth, early delivery, and continual improvement.
1. Delivery of projects frequently, from a few weeks to a few months, with greater
preference to shorter timescales.
2. Embrace any changing requirements, even when it is late in project development.
Agile ’s processes leverage change for a customer’s competitive advantage.
3. Developers and stakeholders must collaborate and work together through the entire
project.
4. Build your projects around motivated personnel. Accord them the support and
environment they need and trust that they will get everything done.
5. A face-to-face conversation is the most efficient way of conveying information to
and within the development team.
6. A final working product is the real measure of project success.
7. Agile processes help promote sustainable development. The developers, sponsors,
and users must maintain the constant pace indefinitely.
8. Agility is greatly enhanced through the continuous attention to good design and
technical excellence.
9. Simplicity, which is the art of maximizing the amount of incomplete work, is vital.
1
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
10. The best designs, requirements, and architectures come from self-organizing teams.
11. At some regular intervals, the team should reflect on how they can become more
productive, then adjusts and tunes its behaviour appropriately.
Task 2 : Build
Figure :1
2. Adaptability :- The central theme of Agile is flexibility. Agile teams are responsive to
change, even at the last minute, and can adapt to it without much disruption. Project
deliverables are not set in stone, so teams can easily reassess their plans and adjust their
priorities to align with updated goals. Being adaptable means teams can deliver consistently
and manage clients’ changing requirements effectively.
2
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
4. Predictability :- Agile teams work in short time periods, sometimes referred to as sprints.
These fixed durations (e.g., two weeks) make it easier for project managers to measure team
performance and assign resources accordingly. It is also easier to predict costs for shorter
time periods than for a long-term project, simplifying the estimation process.
5. Reduced risk :- Developers regularly assess progress during sprints, meaning they have
better visibility into the project and can spot potential obstacles quickly. These minor issues
can be tackled before they escalate, creating an effective risk mitigation process and giving
the project a greater chance of success.
It is clear that the Agile methodology offers plenty of benefits to teams in software
development and other sectors.
7. Superior quality product :- In Agile project management, testing is an integrated part of the
project execution phase which means that the overall quality of the final product is greater. The
client remains involved in the development process and can ask for changes depending on the
market realities. Since Agile is an iterative process, self-organizing teams keep on learning and
growing with time and continue improving.
8. Improved team morale :- As Agile teams are self-organized and self-managing, they have
increased autonomy and authority over their decisions. The project manager shields the team
from interference from sponsors and management.
The cross-functional nature of the teams also helps the members learn new project management
skills and grow in their current roles. The team gets together frequently to discuss challenges
and statuses letting them collaborate better. Since the team size is limited, Agile provides an
environment where teams are close-knit and can have flexible team structures.
3
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Agile produces important metrics like lead time, cycle time, and throughput that helps measure
the team’s performance, identify bottlenecks and make data-driven decisions to correct them.
The Agile framework is a powerful tool that helps managers, team members, and clients. From
improving the quality of the product to helping in the professional development of the team
members, the benefits of Agile are numerous. It helps teams overcome pitfalls like excessive
costs and scope creep.
4
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Practical : 2
AIM : Build out backlogs and user stories.
Topic : LIBRARY MANAGEMENT
Student Module :
TASK 1 : To enrolled in the library for the authentication of book issue.
TASK 2: Provide details / attributes oof books , like name of book with the book number
which are available in the library so that student can borrow the required book from library.
(for example : RD Sharma Book with Book no – M54) .
TASK 2 : - To understand the policies for borrow and return the of book on time.
Visitor Module :
TASK 1: To view the books they want to read .
5
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
6
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Practical 3
AIM : TO Study and use AUTOMATED build tool.
NAME OF THE AUTOMATED BUILD TOOL : ASANA
STEP 1 : DEFINING AND SCHEDULING A NEW TASK
1. Go to New Task module of the ABANA tool
2. Add new task by clicking on “+” sign .
3. The start date and the end date of each task can also be set here .
4. Tasks can be defined and viewed in three different ways in this tool , these ways are :
Figure:1
7
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 2
Figure : 3
8
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Practical : 4
AIM : To study version control tool.
Version Control : A version control system, or a version control tool or version history, is
used to store and track the developer’s changes over time. As the development environments
have accelerated, version control systems are designed to help the software
development teams to work faster. These systems are handy for the DevOps team as they
help them reduce the development time and enhance the quality of successful deployments.
Version control is absolutely essential for modern software development, regardless of the
size of the project and its state of agile or DevOps adoption.
Version Control Tool :- Version control tools provide an organized way to track changes
over time. They record changes so that specific versions can be recalled later, synchronize
versions to make sure that team members don’t make different code changes, and provide
process enforcement and permissions.
9
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
1].CloudBees CI :-
CloudBees CI is a cloud-native solution that can be hosted on-premise or in the public cloud
used to deliver CI at scale. It provides a shared, centrally managed, self-service experience
for all development teams running Jenkins. The pipeline policy enforcement for modernized
pipelines helps design secure CI/CD, including security features that integrate as DevSecOps
pipeline
Figure:1
2].AWS CodePipeline:-
AWS CodePipeline is a continuous integration and continuous delivery service for
application and infrastructure updates. Setting up a pipeline is easy through the CLI with
stages, actions, and transitions. If all of your code, tools, and infrastructure are in AWS
already, CodePipeline is your best option to create pipelines.
Figure : 2
Figure : 3
10
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 4
11
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Practical : 5
AIM : Introduction to Kanban board.
Introduction : Kanban is a popular framework used to
implement agile and DevOps software development. It requires real-time communication of
capacity and full transparency of work. Work items are represented visually on a kanban
board, allowing team members to see the state of every piece of work at any time.
Kanban board : The work of all anban teams revolves around a kanban board, a tool used to
visualize work and optimize the flow of the work among the team. While physical boards are
popular among some teams, virtual boards are a crucial feature in any agile software
development tool for their traceability, easier collaboration, and accessibility from multiple
locations.
The Kanban methodology relies upon full transparency of work and real-time
communication of capacity. Therefore, the Kanban board should be seen as the single source
of truth for the team’s work.
12
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Kanban boards use Card, Column, Swimlanes, and WIP Limits to enable teams to visualize
and manage their workflows effectively. Let us introduce you to the main components more
closely:
Types of Kanban Boards:- There are two types of Kanban boards – physical and digital
boards.
1.A physical Kanban board is the most basic form of a Kanban board where teams use
sticky notes (representing tasks) and a whiteboard (corkboard). Work phases are represented
as columns and sticky notes are getting moved from one stage to the next.
2.A digital Kanban board is a software solution, making it much more accessible than its
physical counterparts. These types of boards can provide you with visibility into the progress
of work from virtually anywhere while facilitating team collaboration. Some digital solutions
are highly flexible, allowing managers to track multiple workflows and organize their work in
13
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Enhanced visibility
Increased productivity
Greater flexibility
Improved team focus
Decreased levels of waste
Better collaboration
Improved predictability
Alignment with company values
14
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 4
2]. Here a new task is defined using this online Kanban tool.
15
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 5
3]. The tasks could be defined using this tool , the person responsible for the completion of
the task could also be added as shown in the figure below
Figure : 6
16
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
4]. Here I have defined the tasks to be performed , with their priorities and deadlines .
Categorized all tasks in to do , in progress and done.
Figure : 8
Figure : 9
17
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Practical : 6
AIM : To study Continuous Integration Tool.
Continuous Integration Tool :- Continuous integration, continuous delivery, and continuous
deployment are all closely related terms. Here’s a breakdown of their distinct, contextual
meanings:
CI/CD is a shorthand that conveys the aforementioned terminology with ease. And the phrase
is in regular usage within the software realm.
The main idea of these concepts is that making constant adjustments to a software project
will mean stricter error checking and unbridled improvements along the way.
Continuous Integration Tools :- Continuous integration tools are able to assess the
stability and correctness of new code for integration.
CI tools have a number of benefits. Some of the advantages of continuous integrations tools
include the following:
1. CI tools prevent merge conflicts such as bugs and duplicate code, making for cleaner
code
2. CI tools decrease code review time and ultimately speed up development time
3. CI tools reduce the project backlog
4. CI tools automate time-consuming tasks
5. CI tools allow for continuous feedback meaning a better software product overall
18
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Continuous integration tools can complement a robust ecosystem of software tools that help
meet your business needs. Look below to see what continuous integration tools can fortify
your software development.
1]. Jenkins
Jenkins is one of the most popular open-source tools on the market for automating your
projects. Deployed on a standalone continuous integration server, Jenkins can bolster
scalability for your business by automating testing and finding defects quickly.
Its popularity likely stems from its rich features and plugins and easy installation through a
WAR file. Jenkins is also free and thus widely accessible.
Figure : 6.1
2]. CircleCI
CircleCI is a continuous integration tool that is in direct competition with the Jenkins CI/CD
platform. Both Circle and Jenkins are notably popular and claim to do the same things.
With CircleCI, you can scale up to 80x concurrency , meaning you can execute multiple tasks
simultaneously. CircleCI is free, with paid plans starting at $30 per month.
19
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 6.2
3]. Travis CI
The CI tool supports multiple languages and platforms, parallel testing, and seamless GitHub
synchronization.
Figure : 6.3
Bitbucket Pipelines and Bamboo are both Atlassian products. Though Bamboo was
discontinued some time ago, the name is still used interchangeably with BitBucket Pipelines
which offers similar key features.
BitBucket Pipelines also integrates with Jira, a software product for bug tracking and agile
project management.
20
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
Figure : 6.4
5]. TeamCity
Of course, JetBrains does much more than develop IDEs. For instance, TeamCity is a
powerful CI solution that you can use for free for your first 100 build configurations.
Figure : 6.5
21
Agile Software Development Lab Vaidehi Verma
BTCS-711-18 1916533
22