Mastering Complex Projects

Batya Mayer
Engeineering Operations
5 min readFeb 14, 2024

--

Complex projects naturally present significant challenges due to their wide scope, large size, long duration, and multiple interdependencies. They are marked by increased difficulties and risk. These projects demand coordination among numerous stakeholders, processes, and various disciplines. Successfully managing them requires not only advanced expertise and specialized skills but also forward-thinking, strategies and planning.

In this article, Yair Lavy, Head of Infra Technical Operations at Wix, with over 20 years of experience in leading and executing software projects, shares the key aspects of managing complex projects, leveraging his extensive professional background.

The Discovery Phase

The planning phase of a complex, cross-organizational project, as Yair suggests, requires a meaningful discovery and planning efforts. This comes before the Product Increment (PI) stages commonly seen in Agile or SAFe methodologies, which can often be expedited into just two or three days. For a project of this complexity, the planning phase inevitably extends over a longer period, necessitating a considerable dedication of time. It’s important to note, however, that the preparatory work can be integrated into the PI planning phase, particularly the final breakdown stage, to streamline the process without compromising the thoroughness required for such complex projects.

Project MVP and Firm Deadlines

Yair approaches each project referring to meeting deadlines as a core value, “It is not a ‘nice to have’ but rather a commitment influencing the planning, effort, and management’s attitude.” He advocates for a shift in the company’s culture to truly embody and reflect this principle, especially during the planning and discovery phase.

The first step is determining the project’s MVP (Minimum Viable Product), the essential components necessary for project completion. Yair firmly instructs the project managers working with him and delivers this directive with a stern tone, “Implement stringent risk management strategies, incorporate necessary buffers, and do whatever it takes to ensure the MVP crosses the finish line on time, with the agreed-upon quality and content,” Yair highlights the non-negotiable commitment to delivering the MVP as planned. Reaching an MVP can and should be incremental. Small deliverables and demos are important.

At this stage, the objective is to develop a project MVP designed to accommodate agile changes and further development as necessary.

Building a Strong Team

Create a strong team that will lead the project. Then, identifying all the involved teams and roles, along with their specific scopes.

Yair elaborates that for projects with many team dependencies, it is important to establish clear leadership or, as he puts it, “who calls the shots.” Yair suggests locating the primary stakeholder team or group that will provide the most value within the project and collaborating closely with them to create a strong team that will lead the project. Then, identifying all the involved teams and roles, along with their specific scopes — challenging the assumption that roles and responsibilities are straightforward, focusing on the importance of carefully examining the specifics of each participant’s involvement in the project.

Project Responsibilities

Starting the process with a clear definition of APIs significantly reduces friction later in the project.

Yair advocates for mapping the various models, interfaces, and dependencies among different groups involved. Starting the process with a clear definition of APIs significantly reduces friction later in the project by ensuring that all teams have a common understanding of how different components will interact.

Yair recommends creating a detailed module diagram that could take the form of a layered module scheme, a flowchart, or a use case flow diagram. The primary objective is to delineate responsibilities using color coding visually. ”This will clearly indicate which areas fall under our direct responsibility, which are managed by other teams, and which are entirely external to the organization.” he explains. “Then, we’ll construct a layered flow, top-down approach, beginning from the UI closest to the customer, through the middle tiers, and down to the core — the backend teams.”

Cross Dependencies

As Technical Project Managers, a big part is managing team dependencies within the project scope. “To see the large picture of the project, I opt for a simple and direct approach, setting the ‘building blocks’ by arranging these blocks within a high-level Gantt chart, and strategically spreading out the modules along a calendar timeline. This layout includes buffers for predictability and flexibility in the plan.”

“I have found it is most effective to use a drag-and-drop interface, available through tools like Jira Advanced Roadmap or Structure. This helps to visually understand the dependencies, illustrating how adjusting one module impacts another. It also clearly demonstrates how these changes can influence the critical path.”

Mastering Integrations

When it comes to managing integrations between team dependencies Yair advises, “First, we need to determine the chronological order of development to support dependencies and integrations before moving forward.”

Starting simple and building complexity over time ensuring that the integration is ongoing and seamless from start to finish.

To implement this strategy, he pinpoints and maps out all the interdependencies and at this point, he strives for all teams to be on board with the interface agreement. He sets milestones for each module and assigns deadlines, ideally aligned with sprint schedules. These are organized in chronological order, with the initial goal for each module to achieve a basic level of integration, similar to a “hello world” capability. Then, with each following sprint, capabilities are added.

This approach champions a continuous, end-to-end integration process — starting simple and building complexity over time ensuring that the integration is ongoing and seamless from start to finish. Contrasting with the traditional method where two separate development tracks converge at a single integration point, it facilitates a gradual and systematic integration avoiding a potentially problematic critical path. This can be managed and presented in Jira with an ‘Integration’ issue type set as a milestone that must be passed. Each completed integration is completed with automatic regression tests that will be executed following any change or addition to the involved components and interface to ensure no breakage occurs, and if it does — catch and fix it immediately.

Execution

“In managing these projects, while Agile and SAFe frameworks often utilize Scrum of Scrums meetings, we adopt a similar approach for managing complex projects. We conduct weekly meetings that bring together representatives, typically technical program managers and development managers, from various teams. The central focus of these meetings is to discuss cross-dependencies, addressing key questions like “What is blocking my progress?” and “What do I need from others to move forward?” this is like a Scrum meeting but on a larger scale, containing multiple groups.

In these meetings, we review ‘Integration’ issues in Jira, ensuring that everyone is on track. This practice allows us to make necessary adjustments, with the aim of maintaining the integrity of the critical path.”

The Strong Bond

To conclude, Yair touches on the relationship between Engineering and Product Operations, showcasing how healthy collaboration and a positive dynamic between the two teams can shift the focus from deadlines to feature request scopes. This means that discussions evolve to prioritize the quality and scope of features over strict adherence to deadlines. In essence, the dialogue centers on the understanding that a well-developed feature may require more time, but the outcome will be a more robust and properly implemented feature, underscoring the importance of scope over time constraints.

Enjoyed this article? Stay updated with the latest insights by following us on our Medium channel and visiting the Engineering Operations website.

--

--