Successful Project Management in Web Development
by Mark Miraglia | May 13th, 2014
Project management is a key part of the web development process at PINT. You have probably heard of some of the more obvious parts of project management, such as:
- Facilitating communication between clients and developers
- Setting timelines and following up with clients and team members on deliverables
However, sometimes there are more complex situations in which an experienced project manager can ensure the client stays satisfied and the team remains fully supported. We asked our team of Project Managers how they handle certain challenges here at PINT. Their answers help us understand how tasks are delegated and projects move from idea to finished product.
How do you manage clients’ expectations of service while simultaneously maintaining a constant workflow/pipeline over a variety of projects with shared resources?
“The key is being organized and implementing a proper infrastructure to ensure quality projects:
- Align with business goals
- Have stakeholder buy-in
- Are scoped out with detailed requirements
- Run on a realistic schedule
It is important to understand competing projects and resource constraints when developing a project schedule. Once projects are properly defined, its simply a matter of scheduling them with available resources and queuing up the next projects. That way, the teams do not lose cadence with development and project completion. Frequent status updates from the teams will provide insight if there are issues or delays.
Its extremely important to be transparent with the clients and regularly communicate challenges, roadblocks, reaching milestones and successes. Setting expectations and understanding risk up front mitigates issues once the project is in motion. Then when delays or issues occur, its a discussion instead of presenting new, jarring information.”
– Tawnya Bordalo, PINT Project Manager
“Being honest, setting expectations upfront and updating the client as the project moves forward is the best way to manage expectations.
Good planning is key, since I need to share resources across projects.”
– Leila Waddell, PINT Project Manager
“As soon as a client sends an email, they get an auto reply telling them we have received their request. If our team has additional questions, I will follow up with the client. Having managed projects at PINT for some time now, I have a handle on which developer is faster with certain tasks. So I start by assigning tasks to the developer who is more familiar with the project CMS or platform.
“When a request is taking over 24 hours, I touch base with a client and give them an ETA. That way, they know they have not been forgotten. I also try to set up priority for my developers, so they understand why certain tasks need to be tackled first (i.e. to make time for other priorities).
When a request requires very technical staff, it is more complicated to estimate when it will get done. I keep communication open with the client so they are not wondering what is going on at this time. If Tech is looking for a better solution, I relay that information to the client, so they can understand the value in waiting a bit.”
“It’s best to always keep in contact with your clients. Problems seem to arise when you don’t stay in contact. In other words, if you’re proactive and always keeping in touch with your clients, you can avoid being reactive and putting out fires.”
In software development, how do you keep resources communicating through an entire ticket, task, sprint or project? Are small meetings/scrums more productive? Can teams accomplish more through frequent communication or does that distract focus and lead to longer completion times?
“Teams absolutely perform better with frequent communication! Daily scrums are highly recommended for development teams, and it is something we practice for most projects. It provides a forum for everyone to report on what they are doing and share successes or challenges. It is very common for another team member to provide valuable information or insight for another team member with an issue.
“Information can get lost in translation when team members quickly respond to emails or notes on tickets. A brief discussion usually resolves questions a lot quicker, saving time and frustration for everyone involved. Scrums should be short, 5 to 10 minute meetings, but can go longer if the team needs to discuss issues. They become ineffective if they are not focused and allow extensive explanations or irrelevant conversations. If done correctly, frequent verbal communication will keep projects on track and alleviate confusion or misunderstanding of issues, ideas and solutions.”
“Small meetings are productive. That is how the team should communicate throughout an entire ticket, task, sprint, or project. It’s always best to keep everyone communicating. Project managers have to be concerned with bigger distractions than a regular 15 minute meeting. People are distracted by their cell phones or the internet far more often and for longer periods than that.”
How do you prevent work piling up at the QA (Quality Assurance)/Testing stage? Is work being properly QA’d through the entire process before it’s handed off? Is QA ending up with untested code?
“The effectiveness of the QA department depends on its own efficiency as well as interconnection with project managers and developers. Best case scenario? The PM informs QA about the upcoming project when it is around 70-80% competed to give them the chance get familiar with the specs. Functional testing does not require full site readiness, so when some components like a Contact Us form or Header / Footer navigation are ready, QA can start their functional and browser-compatibility testing. In the meantime, the rest of the content is still getting placed.
All issues should be recorded in a bug tracking database with assigned priorities (critical, high, medium) and then be assigned to developers, starting with the most critical. This process should go through the PM, to regulate workflow and to avoid overwhelming developers. Once addressed, the developers should regress issues and pass new ones to the PM.”
“Ideally, QA should concentrate its resources on one project at a time. But realistically, QA works on several projects at a time. Hence, it is important prioritize and stay aware of deadlines:
1. The projects with near “complete-by” dates get priority over the others.
2. More complex projects should prevail over simpler ones.
We often have to split the workforce between the projects of equal magnitude. In these cases, we deploy a parallel approach: chess-testing (testing a few functional components of each project at a time and switch) would let you advance on several in the same pace.”
“Once the templates are implemented, the QA process starts. The team tests the site across browsers and once the functionalities, modules, and features are ready, the team also runs an initial test. This substantially reduces the amount of QA time needed after the Beta site is delivered to the client.”
Do you have effective rush service? How do you manage clients’ expectations of what requires rush service (pricing) when they all want their updates done yesterday?
“We have a very effective rush system. And it is not hidden: rush requests are clearly explained to clients on day one. They know that rush requests cost more than a regular request. This helps them understand that they need to be careful not to request rush service on tasks that do not require tight deadlines. I email clients with rush requests to let them know that we are working on it. Many times they want to ensure someone is working on their task. Constant communication helps to address this concern. A calm client can help speed up the process themselves, by ensuring we have the requisite assets from their team:
- Correct text/copy
- Images are ready to go
- Other files, such as PDFs are proofread and prepared to post
Most PINT clients request tickets in advance. But once in a while, they need image fixes, and updates they cannot do themselves. While these rush tickets are rare, we still like to be as prepared as possible.”
Choose PINT for your Web Development Project
Project management in web development may have one of the broadest definitions among job descriptions. But at the end of the day, project management is the “Art of Getting Things Done.” In software and website development, this means allocating resources, managing client expectations, and getting deliverables out the door on or before deadline. While this simplification does not tell the whole story, some core fundamentals covered here show how project managers at PINT keep projects on track:
- The better you know your developers, the better you can allocate their resource hours, the more open you can be about resource allocation to the client, the smoother the entire project will go.
- To avoid overwhelming developers at all stages, keep communication and project status current, and test functionality in small units.
- Above all, efficiently handle critical client requests, but be upfront and honest when a bug or request is lower on the priority list and provide reassurance to clients that their issues are well in hand.
Sticking to these project management principles throughout the web development process helps more than just the PINT team. It saves our clients endless headaches and helps deliver projects that launch on time and meet everybody’s expectations.
Want to know more? Give us a call at 858-270-2086 or email us to get the conversation started.