Introduction
In today's dynamic business environment, organizations face the challenge of adapting to ever-changing requirements while staying within the confines of predetermined project parameters. Satori's approach revolves around harnessing the power of agile methodologies to navigate these complexities, enabling our teams to embrace flexibility, collaborate effectively, and deliver high-quality results. However, supporting organizations in the execution of complex projects requires the ability to adapt to the unique characteristics and constraints inherent to these endeavors.
Our approach is significantly influenced by the manner we aspire to collaborate with our clients. Over the years, we have explored methodologies, experimented with tools and ceremonies, and customized our strategies to align with the specific needs of the organizations that have trusted us. While some of our initiatives yielded great results, others faced significant obstacles yet each experience enriched our knowledge base.
In this article, our objective is to articulate the essential principles for maintaining agility when confronting projects characterized by fixed scopes and demanding timelines. We believe that these insights could prove valuable and applicable to individuals and organizations, particularly those working in the technology and IT projects that deviate from conventional in-house product development.
Our Approach: The Satori way
At its core, the Satori’s way revolves around three pillars: the Team, the Client, and the Process. In this article, we will delve into each of these pillars, dissecting their significance, and understanding how they synergize to create a holistic approach to project management.
The Team
We are together in this
The heart of Satori Analytics is our team. It is however important to define what the team is, and to be successful we have to ascertain that our team is not just Satori people.
Agile delivery isn't just an internal process, it pre-supposes the active participation of stakeholders as well. To safeguard this, we have to ensure client involvement in as many aspects of delivery as possible, such as backlog refinement, sprint review and spikes.
Since the projects are domain-specific, the team doesn't need to make assumptions, but our clients provide us with insights, input, and use cases for their business. They give us directions and are an integral part of the team as a domain expert. This collaborative approach enables us to prioritize effectively and define a clear scope for the deliverables while ensuring transparency and accountability for all parties involved.
The Client
Onboarding and streamlining our cooperation with domain experts
At Satori Analytics, we firmly believe that strong client relationships are the cornerstone of any successful project. Our approach is rooted in transparency, collaboration, and a deep understanding of client needs. We start by:
- Recognizing the expertise our clients bring to the table, we treat them as domain experts. We value their knowledge and actively seek their guidance, ensuring that we harness their insights for better decision-making.
- Empowering our clients with a comprehensive understanding of our Agile methodology. By conducting informative sessions, we ensure that our clients are well-versed in how we tackle complexity and drive results. This transparency fosters trust and sets the stage for a productive partnership.
- From day one, we engage our clients in every aspect of the project. We highly value their input and insights, considering them essential contributors to our team's success. This collaborative approach is evident through activities such as backlog refinement sessions, release plan discussions, and sprint reviews.
- We work closely with our clients to construct the initial backlog at the Epic Level, and together, we agree upon the initial release plan. As we progress through sprints and gain a more predictable velocity, we adapt and refine these plans to enhance our ability to make precise estimations and forecasts for both releases and epics. This early involvement ensures that the project aligns with their vision and objectives.
- Furthermore, we facilitate workshops with business domain experts and key stakeholders to foster collaboration, gather essential information, and align project goals. This collaborative approach ensures that we are always on the same page as our clients.
In the ever-evolving landscape of tech, priorities can shift rapidly. We actively negotiate with our clients to address critical issues, adjust timelines, and ensure that the project stays on course, even in the face of unexpected challenges.
The Process
Our way
Our Agile process at Satori Analytics is designed to deliver value and adapt to the changing needs of our clients.
- We kick off each project by creating a comprehensive roadmap and release plan. This roadmap outlines all expected deliverables, providing a clear path forward for the entire team and our clients. This is particularly crucial, especially for clients or organizations working with traditional GANTT charts, as it helps them gain a visual understanding of how a project is expected to materialize.
- Our teams engage in thorough backlog refinement and sizing exercises, ensuring that all stories necessary for the first deliverable are planned, thus preventing any unexpected roadblocks.
- To mitigate uncertainty or underestimation of stories, we include Spikes 1 in our backlog. Spikes also serve as valuable opportunities for workshops involving our clients and domain experts. These collaborative sessions help us clarify requirements, refining estimates, and gaining a comprehensive understanding of the work that needs to be completed.
- Regular backlog refinement sessions involve both the team and stakeholders. This collaborative approach aids in prioritization and defines a clear Proof of Concept (PoC) for the first deliverable. Transparency and trust-building are central to our Agile process. During Sprint Reviews, we engage with our clients to decide on next sprint priorities, manage expectations, and revisit the roadmap. This open dialogue ensures we're always aligned.
- In the world of tech, critical/urgent issues are par for the course. At Satori Analytics, we proactively allocate capacity to address urgent and critical issues. This ensures that our team can respond promptly and effectively, minimizing disruption to project timelines. When we encounter critical issues, we follow a structured approach that, when possible, incorporates the principles of Just-in-Time (JIT) and Jidoka
2
. First, we work closely with our clients to identify and prioritize these issues together, ensuring open communication.
JIT ensures that we deal with these problems promptly, avoiding unnecessary delays. As for Jidoka, it means that we not only fix the issue but also seek our clients' input to decide if we need to stop everything else immediately to put the efforts of the entire team to address it or if there are alternative solutions to maintain progress. - Flexibility plays a crucial role in managing critical issues. When required, we have the flexibility to swap backlog items mid-sprint in order to promptly address emerging challenges.
- While we acknowledge that, in theory, and it might not represent the optimal approach, it allows us to address immediate issues that may arise, such as unexpected bugs or urgent requests from the client's upper management, all while safeguarding the agile delivery principles. Naturally, in such instances, effective communication becomes critical, as it is mandatory to inform the client about the required changes in order to accommodate an urgent request that cannot be handled to the next iteration.
Conclusion
In conclusion, Satori's Analytics perspective emphasizes the importance of agility in projects with fixed scopes and specified deadlines. By adopting agile methodologies and implementing key practices, our teams are able to navigate through the complexities of such projects.
We prioritize effective collaboration, iterative planning, and embracing change to ensure project success while meeting client expectations. By properly defining our team, putting emphasis on client collaboration and by deploying specific tools and methodologies which reflect our philosophy we are able to empower our teams to proactively adjust to evolving requirements, make informed decisions, and deliver high-quality results within the confines of fixed scopes and deadlines.
By embracing agility while defining it in the context of our needs (which is the very definition of agile thinking), we consistently strive to exceed client expectations, drive innovation, and achieve remarkable outcomes in every project we undertake.