You are on page 1of 15

AGI LE S OF TWA RE

DEV ELOP M ENT

AGILE
PRACTICES
BY DR.
SALAHUDDIN
LECTURE OUTLINE

• Agile Best Practices


AGILE BEST PRACTICES
• By using an iterative framework, the Agile approach relies upon the
interaction of self-organizing teams who have the cross-functional skill-
sets required to develop and test the working software. The most
commonly used programming practices are based on the following tactics:
• Test-driven development
• Code refactoring
• Continuous integration
• Simple code design
• Pair-programming
• A common codebase and a single coding standard
AGILE BEST PRACTICES

• It all contributes to the quality, flexibility, and sustainability of the


software in Agile software development. To better understand the
Agile methods, here are some of the best practices for efficient and
effective interaction on Agile teams.
1: COLLABORATION WITH THE CUSTOMER
• Customer satisfaction is indeed the first and foremost priority in the Agile approach.
To deeply understand customer requirements, collaboration must be strong among both
parties. In a traditional development method, a customer is involved only on the funnel's
two ends, first at the beginning of collecting the requirements and second at the end of
the funnel with the developed product. But in the Agile approach, the customer is
involved throughout the whole process, clarifying expectations, collaborating on fixes,
and communicating options not previously considered. The constant communication
between the team and the customer promotes creativity and better customer satisfaction.
2: TEAMWORK QUALITY
• In Agile software development, a group of people works together as a
team cohesive, leading to successful projects. There are six components
of increased teamwork quality.
• Communication
• Coordination
• Balance of team member contributions
• Mutual support
• Effort
• Cohesion
2: TEAMWORK QUALITY
• There is a direct relationship between teamwork quality, team
performance, and project success. Agile teams work on a simple equation
that they can work more effectively if they depend on each other rather
than depending on the tools that are the mainstays of software
development. By working together, Agile teams can empower and
embolden to take imaginative leaps that result in an innovative product.
Hence, collaborative teamwork is one of the most important skills in the
lexicon of Agile best practices. 
#3: INDIVIDUALS MOTIVATION
• Motivation is the driving force for any organization. Motivated
employees perform 10% better and are the individuals who love
their job, are focused on the team goal, and supportive of each
other. With a motivated Agile team, an organization witnesses
rhythm in their work and fast-paced speed. But, creating an
environment where it all happens, isn’t easy.
#4: EFFECTIVE COMMUNICATION
• In the Agile approach, the best way to communicate is face-to-face. No matter
if you are communicating with a teammate on a knotty problem or reporting
your accomplishments on the daily meeting, face-to-face communication is the
best practice. Let’s say if we send an email or a memo or a voice message and
it gets lost among a hundred similar messages, who will be blamed for the
delays? The daily meeting is one of the best ways to gather the entire team and
connects them to determine if there are issues causing delays. Face-to-face
communication builds trust, opens gates for feedback, and creates
conversation among the teammates. In scenarios like a global team,
geographic isolation of working groups or individuals, and time zone
differences, it is still preferred to communicate face-to-face by creating
virtual rooms with videoconferencing services.
#5: SELF-ORGANIZING TEAMS
• Agile software development is driven by creating self-organizing teams who work in
harmony. Self-organizing teams are capable of deciding their pathways. They decide
how they will execute the work and who will do what. They also divide the tasks into
small iterations which can be completed in each sprint.  A self-organizing team is only
created with team members who are confident in their work and can push through the
most difficult and frustrating blocks. As a whole, a self-organizing team shares full
responsibility and accountability for stepping out of the ways to resolve issues. If the
outcome misses the mark, the team learns and adapts from their mistake.
#5: SELF-ORGANIZING TEAMS
• Just remember, each team member must have extensive prior experience in
his/her field. Agile teams do not intuitively know how to self-organize, plan
and execute the project. It will require constant training, coaching, and
mentoring to create an Agile team. A team that can perform at the fullest
irrespective of any throttle or block.
#6: TEAM EFFECTIVENESS

• In the Agile approach, the team works and evaluates their


performance daily. As individuals and as a group, development teams
are open to mentoring and coaching. However, as one Agile coach
notes, the team doesn't respond well to management's command and
control. As prior mentioned, they work well when self-organizing.
• Agile teams figure things out on their own. Team members share what
went well and what went wrong and then identify how to improve the
next go-around process. In a Scrum team retrospective, each member
suggests something the team should start doing, stop doing, and
continue doing.
#6: TEAM EFFECTIVENESS

• Based on the pointer discussed in these meetings, the team adjusts


their behavior accordingly. Over time, the team builds its catalogue of
Agile best practices and performs them daily. Technology is as
important in Agile teams as individuals.
• Agile teams use numerous applications to complete their work and
streamline the development process. One such tool is the
online Kanban board, which helps Agile teams to visualize the
workflow, plan everyday tasks, and track progress.
#7: TASKS PRIORITIZATION
• Backlog management is also another best practice for Agile software
development. It is the responsibility of the Product Owner to record tasks in
the backlog and assign their priorities. The Product Owner changes and sets
the priority of the backlog item list based on stakeholder feedback and
project circumstances.
#7: TASKS PRIORITIZATION
• Higher priority tasks will be assigned first to the respective team members in
each iteration or sprint. Assigning priority to the backlog tasks also provides
the team members knowledge of what is coming next. 
• As you can see, these Agile best practices are basically a rich array of options
to be followed. When an Agile team uses these best practices in their daily
routines, they witness numerous advantages. Let's have a look at some of the
benefits of Agile best practices.

You might also like