Marcin Sadowski - Senior Delivery Manager
16 Oct 2024
When starting a new project, it’s essential to create a comprehensive project charter. This document serves as the foundational reference for the entire project, outlining key aspects such as the project’s purpose, goals, and high-level scope. It should also detail the project’s timeline, including major milestones, deadlines, and key deliverables. The charter defines the communication plan, specifying the channels, frequency, and formats for project updates, ensuring effective communication among team members and stakeholders.
In addition to defining roles and responsibilities—such as identifying project leadership, the project manager, and other key roles—the charter must include a list of stakeholders, clarifying their roles and expectations to ensure alignment from the start. Other critical elements include the project budget, risk assessments, and approval criteria (+DoD) to guide the project toward successful completion. Equally important, the project charter should be shared with all stakeholders to promote full transparency. Regular updates and any changes to the document should be promptly communicated, with highlights on the updates to ensure that all stakeholders are aware of modifications and their potential impacts. This ensures alignment and prevents misunderstandings throughout the project’s lifecycle.
When managing a set of projects for a single client, the typical approach is to create a separate project within Jira or Azure DevOps for each new initiative. However, in my experience, a more efficient and scalable solution is to create a single project in Jira or Azure DevOps dedicated to the client, and then organize individual real-life projects as separate boards, backlogs, teams or sometimes even epics within that project.
This approach enhances visibility, as it allows for a clearer structure that makes it easier to generate portfolio status reports, charts, and manage user permissions from a centralized location. It also simplifies maintenance, as you are only managing one primary project for the client, rather than multiple distinct projects. This structure not only reduces administrative overhead but also provides a more streamlined way to track progress across all of the client’s initiatives.
Of course, this is based on my personal experience, but I find it significantly more convenient for both project management and reporting within these platforms.
This approach is applicable within both Jira and Azure DevOps, as both platforms support organizing projects into boards, backlogs, etc. under a single umbrella project.
Epic, feature, user story, and task are useful in helping teams better understand their roles and responsibilities within a project. An epic is the high-level goal of a project, providing direction and context to allow teams to effectively plan out the development process.
Features describe the specific details of how a product should be built, while user stories focus on what needs to be done, assigning responsibility to a team member to achieve a particular outcome.
Tasks are used to break down user stories into smaller components that can as well as user stories be assigned to individual team members for completion.
Have you ever considered how to organize these tickets while keeping a timeline in mind? You might argue that estimations should be based on complexity using story points rather than hours, and that’s fair. But what about fixed-price or fixed-timeline projects? Would you want to risk falling into a planning trap and waking up in a project manager’s nightmare?
You can still use story points in parallel adjust your estimations and track progress! Why not?
From my personal experience:
On the internet, you can typically find a breakdown like this
In project management, we often use the terms "iteration" and "sprint" interchangeably, but they have distinct differences:
Choosing between sprints and iterations depends on the project's needs, used project methodology and framework. Sprints work well for projects with a consistent pace, while iterations provide the flexibility to adapt to changing requirements.
Of course, you can call sprints ‘iterations,’ but not the other way around. In my experience, I recommend keeping iterations to a maximum of six weeks, as longer time spans can make reporting and demos cumbersome, adding unnecessary complexity. I generally prefer shorter iterations to ensure they can be completed with deliverables that are worth demonstrating. The iteration length should be adjusted to align with and add value to the periodic reporting, maximizing its effectiveness.
One of the most critical aspects of project management is ensuring everything stays up-to-date. This includes:
A well-maintained backlog not only provides a clear view of the project’s progress but also helps in the effective planning of future work. By keeping everything organized, you ensure the team stays aligned, focused, and productive.
A successful project hinges on establishing clear direction and maintaining focus throughout its lifecycle. Prioritizing tasks and managing resources effectively ensures steady progress and high-quality outcomes, even in complex environments. Flexibility in planning and execution helps teams stay aligned with business goals, while consistent updates keep everyone informed and the project moving forward. By maintaining these practices, projects are far more likely to stay on track and deliver the desired results.
.
.
-PS: Have you heard of anything bigger or broader than an Epic?
-The answer is either an Initiative or a Theme! ;)
Ready to master PMO processes? Book a consultation with us today and ensure your projects are delivered on time and within budget!
Throughout his career, Marcin has proven to be a valuable asset to every team he has worked with, having gained expertise in various areas of the IT field. During the first seven years of his career, Marcin worked as a Java, ABAP, and full-stack .Net developer. This experience allowed him to gain an in-depth understanding of software development and become experienced in programming languages and tools used to build complex software solutions. His knowledge of development best practices and methodologies and consultative approach have proven to be invaluable in his later roles.
As he progressed in his career, Marcin transitioned into leadership roles, taking on various positions such as Line Manager, Project Manager, Operations Manager, and Director of various departments. In these positions, he demonstrated exceptional leadership skills, enabling him to manage teams effectively and achieve optimal results.
Marcin has been instrumental in successfully delivering complex IT projects, managing teams of various sizes, and optimizing processes to improve efficiency and productivity. He has also worked with clients from various industries, demonstrating his adaptability to different environments and the ability to build strong relationships with clients.
Share on social media