Welcome! By now, you should be well-versed in the fundamental concepts of Agile integration within your organization. However, taking these initial steps is just the beginning of a successful Agile execution in any company.
Before delving further, I suggest reviewing the articles we have already posted in our series on “Effective Agile Execution.”
Recommended IPTV Service Providers
- IPTVGREAT – Rating 4.8/5 ( 600+ Reviews )
- IPTVRESALE – Rating 5/5 ( 200+ Reviews )
- IPTVGANG – Rating 4.7/5 ( 1200+ Reviews )
- IPTVUNLOCK – Rating 5/5 ( 65 Reviews )
- IPTVFOLLOW -Rating 5/5 ( 48 Reviews )
- IPTVTOPS – Rating 5/5 ( 43 Reviews )
Agile holds the potential to transform all facets of software production and delivery. It is intended to be a deeply-immersed part of the managerial framework. To reach this scale of growth and incorporation, an ongoing approach to improvement and a perpetual journey towards the application of Agile are required.
In this piece, I will discuss some vital elements you will need throughout this journey, along with the benchmarks and rules that will keep pushing you in the right direction.
Given the complexities and challenges linked with Agile, we have split this vast topic into two parts.
Topics Discussed:
The Pilot Testing
Similar to the way Agile reiterates the significance of the “Minimum Viable Product” and “Incremental Development”, it also applies the same tenets to its own application.
A popular quote goes, “If you chase two rabbits, you will catch neither.”
Introducing Agile into a project can be as difficult as running after a rabbit, particularly when shifting from another process. It might be best to curb overambition and refrain from accomplishing too much simultaneously. Rather, initiate with a minor pilot project or a small product module.
Experimentation, acquiring knowledge, and consecutive iterations are vital aspects of all processes, yet these are needed to be explicitly acknowledged as necessary components for a successful implementation of Agile. We yearned for a success story that could ignite our Agile journey and persuade everyone in the firm about the significance of Agile in our context (read more here).
Moreover, starting off with smaller groups and products made early identification and rectification of issues simpler. This considerably assisted us in fine-tuning and personalizing certain practices within a mere few months, which we then implemented in other products.
Figure 1
Reinforcement
“Excellence is less of an act, more of a habit,” Aristotle once said.
Getting things right on the first try with an easy product and a compact team is comparatively straightforward. It’s appreciable, but it isn’t quite “excellence.”
However, repeatedly maintaining the same performance standard and value consistently is a greater challenge. It’s not reasonable for the management to expect you to always make faults in the name of learning. As such, the pressure to get everything right always looms large.
An additional issue crops up with one’s instinct to apply the same tactics and solutions to newer problems that may need an entirely different methodology. Sometimes, unlearning something proves to be more difficult than learning it in the first place. So, you may end up treating every problem as though it requires the same solution you had employed previously.
Dealing with the “Reinforcement issue” should be taken as an attempt to encourage you to carry on learning, forgetting and then relearning, as these are core parts of the Agile execution process. You cannot make the assumption that doing something a second time around will yield as successful a result just because it worked previously.
Maintaining an alert mind and providing additional efforts constitutes the crux of achieving victory during the second try. Conducting retrospectives represents an effective method to consolidate your Agile practices.
Based on my first-hand observation, teams and even process engineers display considerable hesitation in conducting retrospectives. Such practices are deemed as optional or secondary, being implemented only when there’s ample time. Yet, obtaining feedback from the team and consistently working to oversee improvements provides the sole method to ensure long-term success.
Figure 2
Pragmatism
The largest blunder an Agile practitioner can make lies in their attempt to standardize practices across diverse teams. Unfortunately, Agile practitioners, influenced by standardized models such as CMMI and ISO – which focus on replicating practices across projects – often fall into this trap.
I accept without hesitation that I too have fallen into this pitfall. However, I quickly recognized the disadvantages and the requirement for flexibility in practices among different teams.
After achieving success with one project using a model that worked, there is a natural inclination to replicate it with other projects. However, this theory-based approach tends to overlook a critical element – the varying psychologies within each team. Not every team is comfortable with the same practices, and you won’t be able to make significant progress as facilitator as long as the teams don’t feel a sense of ownership and connection to the process.
The psychology of teams is often shaped by their technical leads, who act as opinion leaders. Their way of working impacts the team to some extent.
I want to discuss a relevant situation we recently faced, which pertains to businesses wishing to become Agile.
The Issue:
We were implementing similar practices in two separate products using two different teams – each with their own technical lead, product owner, and team members. Both technical leads were deemed equally competent and dedicated in their roles. However, the higher management began to express concerns about one of the technical leads, noting that he appeared less involved in and in control of the product than the other lead.
The management felt that his approach to task delegation and passive leadership was causing serious design issues within the application. Given his skills and experience, he could have made a significant difference in the architecture of the application as well as the user experience.
When we enquired about his seeming lack of control over the team and the product, he detailed his dissatisfaction with the standup and sprint planning meetings, which led him to adopt a more passive approach to leadership.
These meetings were dominated by the product manager, who preferred to micromanage the team members, and he didn’t feel capable of assuming responsibility for technical solutions following receipt of business requirements from the product owner. Exposing his whole team to the product manager wasn’t beneficial for him.
The Remedy:
Initially, this issue seemed intractable because I thought these meetings were critical practices in the SCRUM methodology, meant to foster teamwork and collaboration. However, after discussions with higher management, we understood that “The process serves people, not the other way around.”
If a specific practice cultivates disharmony amongst major stakeholders or encourages a loss of ownership for a technical lead, we must seek another solution.
Therefore, we devised a personalized version of SCRUM just for this product. Instead of convening the full team and stakeholders for daily meetings, we decided to have representatives from each function participate in daily standups.
Presently, the developers are represented by the technical lead, I represent the testers as the lead QA, and the product manager stands in for the product owner. We meet daily to share the status for individual team members and discuss related issues or agendas.
Before the meeting, we peruse the task statuses for all team members and follow up individually if required. Sometimes, we contact team members during daily standups to enquire about particular task statuses or assignments. Developers demonstrate their enhancements or new features to the entire team and stakeholders on a weekly basis, which forms the basis for the sprint planning meeting the next day.
While those who aren’t familiar with our context might find our customized version of the standard SCRUM unconventional, and some Agile purists might disagree with modifying key practices such as standups and sprint planning, I intentionally wanted to discuss this adaptation.
The critical point I wish to highlight is that teams and leaders need to assert complete authority over both the process and product, even if they do it on their own terms. There is a trade-off in terms of team member collaboration, but we have implemented other practices to offset this impact. Although the previous strategy worked well for Product A, we had to adapt it for Product B based on the team’s psychology at the time.
Certain standard Agile practices may need to be customized to make them effective for your organization. Adaptation is unavoidable. Don’t hesitate to be inventive! Create your own tools or practices from the ground up if required, as long as you’re confident they’ll work.
Standardization
Standardization and discipline are as critical in the execution of Agile as customization.
I might seem contradicting and confused, but it’s not about whether it’s either of those two. It’s about maintaining a balance between realism and standardization, which is a general rule.
Here, the balance lies between being realistic and customizing practices and maintaining a level of standardization that ensures dependability and uniformity. Perpetually tweaking recommended practices and guidelines for short-term viability is not sustainable. Similarly, being rigid and adhering to strict discipline all the time is impractical.
Figure 4
Standardization becomes pivotal once you have customized practice or tool to an acceptable and essential level. For instance, I have made it obligatory for my team to update their everyday tasks before the daily standup meetings where I represent them.
They adhere to a standardized format while listing their tasks and statuses. Moreover, I have set specific timings slots for meetings between the technical lead and the product manager, which are mandatorily and routinely adhered to. Offering additional flexibility in timeframes or formats could trigger chaos since we have already compromised on the collaborative practice of daily meetings.
Standardization can be extended beyond individual products to the organization-wide level too. Companies can establish a few immutable laws that can be shared across the organization, and possibly the whole industry.
To attain organizational standardization, it’s wise to disclose the good and bad experiences of different teams with certain practices. Teams are should have the freedom, guided by the company’s experiences, to adopt or alter practices according to their needs and preferences. This ensures consistency while allowing for adaptability.
To reiterate, striking the balance between realism and standardization is an art learnt over time and not from a book or article.
Defining Roles & Responsibilities
Assigning roles and responsibilities constitutes one of the primary challenges in any organization built on Agile principles. An Agile organization is usually task-driven with a flat hierarchical structure and a great deal of cross-functionality and adaptability. This aligns well within the Agile process.
However, the challenge is to transition from a role-driven system to one based on tasks. And even within a task-driven system, there’s a need for some boundaries in roles and responsibilities to prevent conflicts and ensure that expectations are met. It’s neither practical nor desirable to hold everyone in the group or team accountable for every single action or result.
There’s a concept of “Shared Ownership”, “Autonomous teams”, and “Leaderless units” that fosters an enabling environment, but they necessarily bring with them a set of rigid practices. An underlying philosophy rather than a rigid set of practices is needed. In real terms, there are instances where a specific responsibility needs to be assigned to someone and held responsible for specific tasks and goals. If you leave everything to “anyone can do it,” it could result in no one actually doing it.
Figure 5
Simply transforming traditional roles into Agile roles by changing titles is bound to fail. The application of Agile necessitates a role and responsibility shift that surpasses superficial changes. Certain roles have standardized responsibilities, while others depend on the organizational context.
For instance, in our company, we decided to adhere to the SCRUM methodology, which includes standardized roles such as Product Owner, SCRUM Master, Technical Lead, Team Members (Developers and Testers), and other stakeholders (product manager, top executives, client, vendor, etc.). We assigned existing team members to these roles based on their closest function.
The Business Analysts transitioned into product owners whereas the Development Team Leads became technical leads. The other team members remained the same. As the initiator of Agile implementation, I took the added role of SCRUM Master to supervise the methodology and ensure its correct development and execution.
Each role was accurately communicated regarding what was expected of them. The product owners were responsible for coordinating with stakeholders to understand their needs, ideas, suggestions, and concerns regarding the product; and plan the product’s priorities and scope accordingly.
In the impending and last article of this series on “Promoting Agile in Your Organization,” we will explore this topic in greater depth. We will present further guidelines that will assist you in continually making strides towards successful Agile implementation.