Luisa Faßbender (Project Manager) and Christian Spoo (Senior Developer) have been working alongside each other at Marketing Factory Consulting GmbH in Düsseldorf for almost 4 years. Manpower Shortage and Inquisitiveness led them down the road of rethinking departmental egoism, where the idea of the “programming PM” was born. Tune it to hear, how they established the idea within the existing company structure, which steps they’ve already taken and which results have already been accomplished!
Why departmental egoism doesn't
work and how we're trying to
Luisa Faßbender & Christian Spoo
Marketing Factory Consulting GmbH
Introduction: Who are we?
Background: What led us down that road in the ﬁrst place?
● Manpower Shortage
○ Monkey Work shouldn’t have to be done by experienced developers
● Expand Knowledge
○ Enable a more comprehensive project understanding for PMs
○ Also: Some PMs don’t just want to organize projects, but also contribute to the project
● Tear Down Barriers
○ Stop the “That’s a developer job” / “I can’t do that” mindset
● Improve Customer Support
○ PMs should be able to respond to customer questions more proﬁciently than “I’ll ask a developer”
First Steps: How did we start?
● Engaging PMs in project development was not planned beforehand
● PMs approached our devs on their own initiative
● Together we looked for tasks they could help us with.
○ Translation ﬁles
○ Symfony form deﬁnitions (error messages, validation constraints)
○ replacing or adding versioned images and other project assets
○ later, HTML templating tasks, depending on the PMs’ prior knowledge
○ creation of Gherkin-based acceptance tests
● Since then we spend some time on internal trainings on various topics
Setbacks: Which problems did we run into?
● Taking part in the development usually comes with a steep learning curve
○ Version Control Systems (e.g. Git)
○ PMs suddenly took part in day-to-day VCS workﬂows (e.g. Git Flow)
○ various languages (PHP, HTML) or syntaxes (YAML, XML, JSON) need to be learned
○ deep knowledge in the technologies used is required
○ How should we onboard people?
● Each developer takes responsibility for his/her work
○ What about security aspects?
○ What about our two-man rule?
Setbacks: Which problems did (I) run into?
.. even just a single missing
comma can break your neck and
literally make you go insane.
Current status: Which tasks are handled by PMs?
● PMs are actively working with Git
○ They contribute own commits
○ They work with branches and tags
● For small changes GitLab’s Web IDE comes in handy
● Depending on the very project they even have local dev environments at hand
● PMs use GitLab’s Merge Requests to coordinate and track merge efforts
● PMs deploy ﬁnished development iterations by means of GitLab CI pipelines
Next steps: What are our future goals?
● Continue decoupling deployment processes from the developers
● Enable PMs to handle even larger parts of the overall project lifecycle
○ Let them gather requirements, realize them and deploy the ﬁnished results completely on their own
● Spread deep technical understanding among people
○ More in-depth knowledge leads to better recommendations
○ Customers love PMs who immediately can deal with matters of detail when asked on the phone ;-)
○ Knowing how the building blocks work together greatly improves QA iterations
Learnings: What went well and what could we’ve done better?
● Give it a try!
○ Usually it is far more satisfying to help doing things instead of just selling the ﬁnal product
○ Even seemingly “small” tasks can help with the ongoing process of the project
○ There really isn’t a reason why you shouldn’t give it a try ;-)
● A Continuous Integration system is deﬁnitely a must-have
● If your project can afford it: use test-driven development
○ TDD safeguards people in that it helps to avoid frustration at start
○ Mistakes can be spotted earlier in the process and before they accidentally go to production
Want to join us?
We’re always looking for new people to join our team in Düsseldorf!
So if you’re down for complex, varying projects, a fun team and great coffee – come and join us!
Thanks for listening!