When anyone embarks on a project management partnership there are many obstacles to overcome to keep your project from failing. To name a few: lack of transparency, knowing what problems your team should and can tackle, and establishing the proper communication channels.
Wiredcraft has experience with agile innovation within enterprise, helping small teams within large corporations deliver like Starbucks, PWC, Decathlon, and Danone. We’ve been testing out different methodologies in different contexts (distributed team, waterfall heavy teams, or 3 people startups vs 200,000+ employee corporations) and have fleshed out some best practices on how we approach project management.
What is Agile Methodology?
“Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.”
It is a mouthful (as many definitions can be) and boiled down to delivering something tangible as early as you can. This will allow you to verify your assumptions and if you are going to fail, fail fast. This is implemented by chunking a backlog in sprints which are checked-in daily in scrums meeting (you can read more about it here).
If you’re familiar with the startup world then these terms aren’t new to you. But why should corporations and enterprises implement agile methodology in how they work with agencies or within their small teams? By following a lean and iterative approach it allows teams to fail quickly, validate their assumptions and easily change scope, if necessary.
Consistency is Key
Consistency is the key to success for project management. It’s great that you send an email update but if you don’t make your approach repeatable and scalable then it won’t foster good relationships for the agency or the client.
Project management is more than defining features of the product - it’s important to emphasize planning, prioritizing and outlining, and enforcing the key concepts and processes (with a scrum master).
Transparency, Traceability, Accountability, Rationality, Iterative
We’ve found that these five points really help with eliminating miscommunication and provide a successful project management partnership between us and our clients; be it small startups or large corporate teams by keeping everything aligned.
- Transparency: We thrive in a transparent environment, both internally and externally. Team and clients all discuss in the same platforms and can see all discussions (Slack, Github, etc.). Side discussions via private channels can be useful, but depending on the content must be reported publicly.
- Traceability: Everything must be tracked. Everything. Discussions, next steps, etc. must be publicly tracked in a platform (Github, Trello, Jira, etc.). Our motto is: if you don’t have a GitHub issue, then you’re not working. You can read more on how we use GitHub for everything here.
- Accountability: We move as a team, but like any machine, every part/person is needed to make it move swiftly. We define ownership of parts by assignments in GitHub (or any flavor you feel comfortable to use: Trello, Jira, Google spreadsheet) so there is no confusion of who takes ownership of projects.
- Rational, not emotional: Be factual, do not react to things, but respond. It is always good to step back and understand the situation, be able to explain and to use reason. One of our favorite resources for this mindset is zenhabits.
- Iterative: Work in small chunks that are digestible, and milestones that are scoped with the team. Milestones dictate the timeline of the project, and the timeline should be fixed, although you may review the scope of a delivery.
Managing expectations is a key part of project management. Make sure that you can always complete what you agree to take on and that the responsibilities and expectations are clearly defined at the beginning of each project or as new features are added.
Step one is to define expectations for yourself. Here are the common expectations we set when starting a project.
- Under promise, and over deliver
- Be trustworthy
- Have an iterative process and push for feedback early and often
- Release small, and release often
- Technical ‘planning on demand’ rather than ‘big design up front’ (go for ad hoc meetings to define components and architecture)
- Bottom up processes should come from integration, not from management.
As much as our clients have expectations from us (that we set), we have some for them as well. We typically set the following client expectations:
- Committed and on board with the overall project aim
- Committed to working with us to get shit done (our unofficial motto).
- Aware: Keep an eye on GH issues. We do everything transparently, but expect clients to read what’s assigned to them.
- Available/responsive: We move fast, there will be times when we need to confirm emerging requirements and answer quick questions about limitations. In general we can work well with a 24-hour turnaround on questions, in practice we excel when we have faster feedback.
- Honest: If what we’re building doesn’t meet the client’s needs, we need to know, and as soon as possible. We’re experienced in guiding new directions and shifting focus quickly.
There will always be problems, the important thing is to know how to solve them, by having a system of processes in place.
Happiness = Expectations - Reality
Many of the problems of project management can be solved with our four principles of transparency, traceability, accountability and rational. Through iterative processes, and by under promising and over delivering, we are able to excel with what we can do.
By keeping these principles and expectations in mind, you can help improve communication, your project management and enterprise teams’ overall happiness, and the success of the project.