Agile Unit 5
Agile Unit 5
UNIT-5
Agile Marketing
Agile marketing is a tactical marketing approach in which teams identify and focus their
collective efforts on high value projects, complete those projects cooperatively, measure their
impact, and then continuously and incrementally improve the results over time. Also, Agile
marketing is simply a less stressful way to be a marketer. And that alone makes it
worthwhile.
Agile marketing teams use sprints (short, finite periods of intensive work) to complete those
projects cooperatively. After each sprint, they measure the impact of the projects and then
continuously and incrementally improve the results over time.
Agile teams may also determine that a project was not valuable and should not be repeated,
but this is still considered a success. Agile marketing embraces failure so long as it comes
with lessons and produces future potentially powerful projects.
The way that Agile marketing teams work becomes more clear when you look at what are
typically listed as the "values" of Agile marketing:
You certainly need an overarching strategy to underpin your Agile methods, but strategy is
something that every marketing department should be focused on regardless of how they plan
to implement it.
Whether you use collaborative or top-down methods to come up with your strategy, you can
still bring it to life using Agile marketing techniques.
Epics, User Stories, Sprints, Scrum, Chickens, Pigs, and Burndown Charts—Agile marketing
has a language all its own. How does Agile marketing work anyway? Each marketing
Page 1
Agile Technologies
department will find the precise Agile format that works best for them, but an Agile
marketing implementation will have these four features in some form or fashion:
Sprints - A sprint is how long you give your team to complete their current projects.
Typically these range from two to six weeks. Some bigger initiatives won't fit into a
single sprint, so you'll need to break those up into bite-sized pieces that you can tackle
sprint by sprint.
Stand up meetings - Every day your team needs to get together and have a very brief
check in. These should be 15 minutes at the most. Each team member goes over what
they did the day before, what they're planning to do today, and any blocks they've
encountered. Blocks should be addressed right away.
Board to track project progress - Whether it's the good ole' whiteboard with sticky
notes, a nice and simple Kanban board, or a big fancy specialized software, you need
a centralized way to track your sprint that everyone has access to.
Teamwork - While an individual may "own" a project, the success or failure of the
sprint rests on all the team members. Everybody has to be prepared to collaborate and
assist in the Agile marketing framework.
By following the methods established by developers (with our own twists, of course),
marketers can open up entirely new ways to reach audiences and goals.
When you start getting more specific and looking at the possibilities on a project-by-project
and sprint-by-sprint basis, the list of Agile marketing possibilities is virtually endless.
Agile methods are a departure from plan-driven traditional approaches, where the focus is on
generating early releases of working software using collaborative techniques, code
refactoring, and on-site customer involvement. Research and surveys have shown that agile
methodologies are an efficient way of producing software with significant advantages in
production costs, time-to-market, complexity, and quality improvement over heavy-weight
Page 2
Agile Technologies
traditional methodologies. Even with such apparent advantages the information technology
industry has not seen large-scale adoption of agile methods. In this survey paper, the major
challenges in adopting agile practices by enterprises are addressed. Drawing information
from the literature issues like framework for agile organizational change and adoption
strategies are examined. Inputs from the industry suggest that most organizations are best
suited in adopting a combination of traditional and agile methods. There is no agile
methodology that can be universally applied and they all have to be tailored to integrate into
existing processes.
Agile software development methodologies have attracted considerable attention from the
information technology IT industry in the past few years. As suggested by Hayes, the reason
for this interest can be attributed to the following advantages over traditional plan-driven
approaches
3. Higher software quality: Test-driven development, short iterations, scoping, and frequent
customer feedback improve the overall quality of the software.
4. Improved control over project: Agile processes focus on people over processes. With less
stress on documentation and more attention on delivering functionality at the end of each
iteration, agile teams can improve their velocity. Short iterations, multi-disciplinary teams,
knowledge sharing, continuous integration, and feedback allow better control over the project
and increased visibility.
Customers expect rapid releases of quality software. You can’t spend months or years
perfecting a release. (But you can’t send it out into the market with too many bugs, either.)
Agile application life cycle management (agile ALM) refers to the process of using or
complementing agile development techniques within application life cycle
management. It is a software development technique that aims to improve a product's
quality over its life cycle while keeping the development time as low as possible.
Agile ALM is primarily used to add up agile values, frameworks and strategies within
the application lifecycle. It is designed to provide an integrated approach to ALM by
improvising the people side of application development and increasing collaboration
among stakeholders. Some of the key components/phases of an agile ALM include
collaborative development, task-based development, functional and technical release
management, quality assurance and stakeholder focus.
Moreover, agile ALM is built on an open architecture/framework that is flexible
enough to add more functions. It is also receptive to change and able to create
relationships between organizations, development strategies and people(s).
Page 4
Agile Technologies
review and reviews by managers occur before tasks get completed and after the sprint
is over.
With short task spans and demanding schedules, an Agile workflow requires a
coordinated team. Roles have to be circumscribed enough so that people know what
they ought to be doing at all times, yet flexible enough to allow people to take the
initiative and exceed expectations.
A Scrum team is small, lean, and results-driven. The ideal Scrum team is 5-6 people.
An Agile team working in Scrum has three roles:
The Product Owner – Often an executive or key stakeholder, the Product Owner has
a vision for the end product and a sense of how it will fit into the company’s long-term
goals. This person will need to direct communication efforts, alerting the team to major
developments and stepping in to course-correct and implement high-level changes as
necessary.
The Scrum Master – The Scrum Master is most akin to a project manager. They are
guardians of process, givers of feedback, and mentors to junior team members. They
oversee day-to-day functions, maintain the Scrum board, check in with team members,
and make sure tasks are being completed on target.
The Team Member – Team members are the makers: front- and back-end engineers,
copywriters, designers, videographers, you name it. Team members have varied roles
and skills but all are responsible for getting stuff done on time and in excellent quality.
In a Scrum team, independent products are created in short spans of time known as sprints.
The team uses the Scrum board as a common touch point throughout the sprint period. In our
example, the sprint lasts a month.
Page 5
Agile Technologies
Predictable Delivery: In agile, with fixed schedule sprints, product features are
delivered frequently, letting teams beta test everything before the first release of
the product. It improves product quality as well as business value.
Accessible Talent: Building a distributed software development team lets you cross
physical boundaries when hiring talent. You can consider hiring talent from
anywhere around the world to bring diverse talent together.
While Distributed Software Development provides you advantages like access to the global
market, talent, and reduced costs, it can also restrain communication within the team.
However, with the rise in remote work growth, businesses are only left with one option —
limiting its consequences and managing teams the agile way for better productivity and time
management.
Here are a few techniques that can help you manage distributed agile teams effectively:
Page 6
Agile Technologies
One of the biggest challenges with distributed teams working the agile way is the lack of
visibility about project status. However, in the agile world, where project requirements
change frequently, project status visibility is a factor you cannot compromise. Being a project
manager/owner of a distributed agile team, you need to make sure your project status reports
are uploaded and clear even before starting a new sprint cycle.However, distributed agile
teams can use agile project management tools like JIRA to keep an eye on project progress
and ensure better status visibility.
In the end, it is productivity that matters. By measuring your distributed agile team’s
productivity, you can get a clear visualization of who is working on what task and what needs
to be changed to make the processes more efficient. Here are a few metrics that you must use
to measure the productivity of your distributed agile teams:
Velocity: It measures the average story points that a team delivered over the last sprint
cycles. Using a velocity report, you can measure the amount of work your team can handle in
upcoming sprints.
Sprint Burndown: It provides a real-time update of how many stories points your team has
completed in a given sprint. Sprint burndown is the best way to stay updated about the status
of your project.
One of the most essential distributed agile principles is effective communication and
collaboration. You cannot achieve shared ownership and common purpose without
adequately fostering agile values among teams, primarily when they work in different time
zones.
The whole point of agile is to allow teams to quickly respond to change, all of which is made
possible only through consistent and effective communication. Daily stand-ups, planning
sessions, and sprints are some ways through which teams keep communicating and
collaborating. To make distributed teams work the agile way, project owners need to ensure
proper collaboration between team members by organizing daily scrums, planning sessions,
and discussion virtually.
4. Distributing work
There’s a method to this madness. You have to allocate work to different teams based on
what your location model is. If your teams sit in one office, you’re already doing what you
have to. But if you’re partially or fully remote, you need to allocate work based on the local
and in-house expertise present within those teams.
Page 7
Agile Technologies
At times, distributed agile team leaders may find it hard to measure the code quality and
project health. The status of unit test cases, build stability, coverage rates, etc., may remain
unrevealed to them until the team takes time to communicate them over a call or a message.In
such situations, what suffers the most is the quality of the product. Sometimes, suppose if
teams didn’t ensure build stability, it might stop the entire team’s working.
For example, suppose team A in country A checked in a code that broke the build and went
home without noticing. It will stop the working of teams B, C, D, and so on in different
countries. Therefore, you must keep an eye on project health and code stability when working
in a distributed environment.
Here are three distributed agile best practices using which you can bridge this gap:
Use continuous integration tools that provide build automation and continuous
tracking of project quality.
Implement Pair Programming to help the teams improve the quality of code and speed
up the development process.
Ensure your quality assurance team is active and reporting unit testing bugs
immediately.
6. Nurturing your agility
Since agility is an attitude that you inculcate within yourself and your teams, it needs
continuous nurturing. Every new product can present a new set of problems that cannot be
solved the same way over and over again. For teams to be able to adapt to such a frequency
of changes, agile has to be baked into their very core.
Another method of nurturing your own team’s agile processes is collaborating with remote
teams outside of your organization. This way, your teams get to learn how other distributed
agile teams work remotely, which in itself is an excellent source of learning.
Collaborative work is not just limited to agile, and it extends to design as well.
Even after that, there’s no guarantee that you’ll have your perfect team. That’s one of the
pitfalls of running the show yourself. Before you know it, you’re doing everything but
creating what you set out to build.
Page 8
Agile Technologies
Outsourcing makes it easier to manage your resources. With fewer people to manage, you can
think more about improving what you’re building. On top of that, an experienced agile
remote team adds more value to your team because of their extensive prior work.
Outsourcing helps bridge significant skill gaps and manages costs that can otherwise
skyrocket.
Challenge #1: Resistance to change. A company’s culture clashes with Agile values.
It is hard to change the way people think and operate. The habits and beliefs of a big
organization are naturally deep-rooted. Typically, people do fight against change, and
when Agile transformation is used to challenge them, they come out with phrases like “that’s
how we’ve always done things around here” or “that never works here.”
Giving a room for a change implies that you’re admitting that whatever you’re doing
currently might not be done the best way, or even worse, it may be challenging to a person’s
established values. In this paper, the authors found out that the human-related perceptions
about the change process have been the major transition challenges.
People find it very easy to retain their old methods and processes except in the case when
they are vividly presented with solid “whys” they need to embrace the transition to Agile.
Thus, your organization must communicate the needs for change to your people accurately.
Also, the management needs to address the desired result from this change. Whether you are
looking to achieve a faster time to market or to increase the predictability of your process,
your people will embrace more easily the change if they understand and believe in the desired
result. You’ll find that some of the biggest problems with Agile originating from
management are due to an old-fashioned perception of doing things.
Inadequate management support is still one of the leading reasons why Agile doesn’t work
for each and every case. To go agile, all executives, middle-management, and senior
management have to be aware that there will be some changes in project management
practices. They must understand the benefits of the upcoming Agile transformation, as well
as the details of how this transformation will affect the operational aspects of the business. In
order to support the Agile adoption adequately, they need to fully understand what is
expected of them.
Page 9
Agile Technologies
The resistance of some teams to adopt the Agile practices is still a huge obstacle to the
success of Agile transformations and scaling.
Agile fights that internal culture by empowering team members in taking full responsibility
for the ownership of their work and give up the habit of depending on what others tell them to
do. Doing so effectively requires the project manager to encourage more communication
among team members as well as more engagement with the project.
By increasing team member’s ownership of the process, they would be given the freedom to
analyse and figure out how to come up with solutions by themselves whenever they
encounter issues, instead of wasting valuable time waiting for approval after approval just for
something to be done. Moreover, when members focus on ownership, their engagement, and
sense of belonging to the vision that the business preaches increases. Their work efficiency
and productivity increase too while the resistance to change is naturally fading away. At the
end of the day, it’s the team members that do the work for the customers, so it’s only natural
their voice to be heard.
Customer satisfaction is at the heart of the Agile approach and a leading principle. To achieve
this, Agile frameworks such as Kanban suggest creating a network of services within the
organization. This network of services includes all departments, teams and
individuals being able to self-organize around the work, collaborate and evolve the way
they operate while driven by quality improvement. Improving the service, product and work
processes to deliver greater value.
Typically, in agile organizations, teams are co-located, and Agile will be more naturally
adopted. Being present in the same office facilitates the immediate flow of information and
feedback. Also, one benefit of having co-located teams is the availability of osmotic
communication. It means that the information flows into the background hearing of the team
members, making the cost of communication low and the feedback rate high.
Page 10
Agile Technologies
The Agile manifesto prescribes no particular method. To pick the ideal option, you need to
consider the nature of the business, characteristics of the organization as well as the
advantages and disadvantages of different agile approaches.
Another key prerequisite to your success with Agile is choosing the right tools like:
Kanbanize
ClickUp
Jira
Please note that tools will help the transition but you need to stick to them. Fragmented data
scattered across tools is overwhelming and can easily lead to work process disruptions.
Insufficient training and education on the Agile methods is among the top reasons
why Agile transitions fail.
To make it all work out for you, you need the knowledge and understanding of
the Agile concept itself: its principles, values, practices and frameworks. That’s where
the Agile Coach is meant to help you with.
According to the manifesto, twelve (12) agile principles were also proposed. Agile principles
explain and enhance the importance of agility in software development. However, these agile
guidelines are not fully implemented due to rapid change in market demand and while terms
are working in distributed environment. Several hindrances exist such as scalability,
transparency, face-to-face communication, availability of experts, smooth control of
development, ability to build applications from distributed locations and resource
management. The changing demands require an environment to test new ideas. The provision
of resources for testing news ideas increases the development cost.
In order to deal with these hindrances, cloud computing provides an environment to quickly
test new ideas in the marketplace. Cloud Computing has the potential to reduce the cost of
agile development through data sharing, distributed application, prioritizing tasks and by
providing infrastructure (hardware and software). Cloud computing enhances the
development process by eliminating the need for installations procedures, software patches,
and re-installation. Cloud services provide storage and computing resource based on pay per
use. Cloud computing extends the existing agile process through fast delivery, lowering cost
and increasing software quality. As agile software development is based on frequent delivery,
strong working relationship between user-developer, technical excellence and
accommodating change in any stage of development.
Page 11
Agile Technologies
The key benefit of a RAD approach is fast project turnaround, making it an attractive choice
for developers working in a fast-paced environment like software development. This rapid
pace is made possible by RAD’s focus on minimizing the planning stage and maximizing
prototype development.
By reducing planning time and emphasizing prototype iterations, RAD allows project
managers and stakeholders to accurately measure progress and communicate in real time on
evolving issues or changes. This results in greater efficiency, faster development, and
effective communication.
You can break down the process in a few ways, but in general, RAD follows four main
phases.
This phase is equivalent to a project scoping meeting. Although the planning phase is
condensed compared to other project management methodologies, this is a critical step for the
ultimate success of the project.
During this stage, developers, clients (software users), and team members communicate to
determine the goals and expectations for the project as well as current and potential issues
that would need to be addressed during the build.
It is important that everyone has the opportunity to evaluate the goals and expectations for
the project and weigh in. By getting approval from each key stakeholder and developer,
teams can avoid miscommunications and costly change orders down the road.
Once the project is scoped out, it’s time to jump right into development, building out the
user design through various prototype iterations.
This is the meat and potatoes of the RAD methodology—and what sets it apart from other
project management strategies. During this phase, clients work hand in hand with
Page 12
Agile Technologies
developers to ensure their needs are being met at every step in the design process. It’s
almost like customizable software development where the users can test each prototype of
the product, at each stage, to ensure it meets their expectations.
All the bugs and kinks are worked out in an iterative process. The developer designs a
prototype, the client (user) tests it, and then they come together to communicate on what
worked and what didn’t.
This method gives developers the opportunity to tweak the model as they go until they
reach a satisfactory design.
Both the software developers and the clients learn from the experience to make sure there
is no potential for something to slip through the cracks.
Phase 3: Rapid construction
Phase 3 takes the prototypes and beta systems from the design phase and converts them
into the working model.
Because the majority of the problems and changes were addressed during the thorough
iterative design phase, developers can construct the final working model more quickly
than they could by following a traditional project management approach.
The software development team of programmers, coders, testers, and developers work
together during this stage to make sure everything is working smoothly and that the end
result satisfies the client’s expectations and objectives.
This third phase is important because the client still gets to give input throughout the
process. They can suggest alterations, changes, or even new ideas that can solve problems
as they arise.
Phase 4: Cutover
This is the implementation phase where the finished product goes to launch. It includes
data conversion, testing, and changeover to the new system, as well as user training.
Page 13
Agile Technologies
All final changes are made while the coders and clients continue to look for bugs in the
system.
Benefits of RAD methodology
RAD is one of the most successful software development programs available today, with
numerous benefits for both software development teams as well as their clients.
RAD lets you break the project down into smaller, more manageable tasks.
The task-oriented structure allows project managers to optimize their team’s
efficiency by assigning tasks according to members’ specialties and experience.
Clients get a working product delivered in a shorter time frame.
Regular communication and constant feedback between team members and
stakeholders increases the efficiency of the design and build process.
With a shorter planning phase and a focus on highly iterative design and construction,
RAD teams are able to accomplish more in less time without sacrificing client
satisfaction.
Page 14