Meme Driven Development (MDD)
A novel (and fun) approach to modern software development.
Meme Driven Development (MDD)
Meme Driven Development (MDD) is a novel approach to software development
derived from popular legacy methadologies like Test Driven Development
(TDD) and Behavior Driven Development (BDD).
Meme Driven Development (MDD) aims to foster a creative and engaging
environment for software development.
By integrating humor and visual communication, MDD enhances team
collaboration and makes the development process more enjoyable.
Meme Driven Development Manifesto
We are uncovering better ways of developing software by creating and
sharing memes. Through this work, we have come to value:
- Memes over Documentation
That is, while there is value in comprehensive documentation, we value the creativity and engagement that memes bring more. - Humor over Formality
That is, while formal communication has its place, we find that humor fosters a more collaborative and enjoyable environment. - Visual Feedback over Textual Feedback
That is, while textual feedback is useful, we believe that visual feedback through memes is more impactful and memorable. - Team Spirit over Individual Effort
That is, while individual contributions are important, we prioritize the collective spirit and camaraderie that memes help build.
Principles behind the Meme Driven Development Manifesto
We follow these principles:
- Our highest priority is to satisfy the team through early and continuous delivery of memes.
- Welcome changing memes, even late in development. Memes harness change for the team's advantage.
- Deliver memes frequently, from a couple of times a day to a couple of times a week, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project, sharing and enjoying memes.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to create great memes.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation, supplemented by memes.
- Memes are the primary measure of progress.
- Meme Driven Development promotes sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to meme quality and meme design enhances agility.
- Simplicity—the art of maximizing the amount of meme not done—is essential.
- The best memes emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its meme creation and sharing accordingly.
Meme Driven Development Specification
In MDD, developers are required to create and share memes
before, during and after writing any code.
Additionally, feedback on pull requests and other forms of communication
must be delivered in meme form. This specification outlines the
conventions and practices for adopting MDD in a development workflow.
Specification
1. Meme Creation
- Purpose: Memes should encapsulate the essence of the task or problem at hand.
- Format: Memes can be in the form of images, GIFs, or short videos.
- Content: Memes must be relevant, respectful, and adhere to company policies on appropriate content.
2. Meme Before Code
- Requirement: Before any coding begins, a meme must be created and shared with the team.
- Approval: The meme must receive at least one thumbs-up (👍) from a team member to proceed with coding.
- Documentation: The meme should be documented in the project management tool alongside the task description.
3. Meme Feedback on Pull Requests
- Submission: All feedback on pull requests must be provided in meme form.
- Clarity: Memes should clearly convey the feedback, whether it is approval, a request for changes, or highlighting an issue.
- Constructiveness: Memes must be constructive and aim to improve the code quality and team morale.
4. Meme Communication
- Daily Stand-ups: Memes can be used to summarize daily updates or blockers.
- Sprint Reviews: Memes should be used to highlight key achievements and areas for improvement.
- Retrospectives: Memes can be employed to reflect on the sprint and suggest actionable improvements.
5. Tools and Platforms
- Meme Creation Tools: Recommended tools include Meme Generator, Giphy, and Canva.
- Communication Platforms: Memes should be shared via Slack, Microsoft Teams, or the project management tool in use.
6. Compliance and Monitoring
- Adherence: All team members must adhere to the MDD practices.
- Monitoring: Regular audits should be conducted to ensure memes are being used appropriately and effectively.
- Feedback: Continuous feedback on the MDD process should be encouraged to refine and improve the practice.
Best Practices
Explore these best practices to inspire your team and make MDD an integral part of your workflow!
Before Coding
Developer looking at "New Feature" while ignoring "Existing Bugs"
Pull Request Feedback
Drake rejecting "Messy Code" and approving "Clean, Refactored Code"
Daily Stand-up
"Finally fixed that bug!"
Retrospective
"Carrying over stories for the third sprint in a row"
Sprint Review
Discussing "what is a story point" for the tenth time this month