- Sharing Projects/Codebases within a software development team is hard.
- Programmers sometimes outright say it can’t be done.
- This affects project deadlines negatively.
- This is a type of
Muda((https://en.wikipedia.org/wiki/Muda_(Japanese_term))) Information Waste which is rework
- the Author already created the codes, debugged it and made it run.
- then the next developer has to do it again because THERE IS NO AUTOMATION NOR DOCUMENTATION (see comic above)
- INNERSOURCING – https://resources.github.com/whitepapers/introduction-to-innersource/
- Borrow proper
READMEformats from opensource projects
- there are many guides/templates available online like this
- this removes the question of
WTH do i do with this repository?
- this removes the
mudarework because a copy+paste guide is already available
- this allows a new-developer-in-the-project to quickly start working on business requirements and not waste time on technical specifics that should’ve already been handled by the author/initial team who worked on the project.
greatly inspired by https://gist.github.com/PurpleBooth/109311bb0361f32d87a2
Project Title– a meaningful name that indicates the problem you are trying to solve
Getting Started– any piece of context you wish to share to future maintaners
Prerequisites– skills you need to have, tools you need to know and software needed installed
Installing– how to get the project runnning~
Running Tests– how to ensure that the project really works before others start working on it
Deployment– how to release the finished project and some details where the application is actually in use right now
Built With– tools/frameworks used, to quickly match people who could work on this project.
Contributing– Coding standards / Architecture Design Decisions so the codebase will retain looking like it was written by a single person and therefore easier for future maintainers to understand.
- Software Developers (Especially Tech Leads) metrics should include “how easy is it to onboard new developers on projects that I led”
- this is in contrast to smartass developers who take pride in obfuscating their code because it makes them look smart.
Mudais a Japanese word meaning “futility; uselessness; wastefulness”, and is a key concept in lean process thinking, like the Toyota Production System (TPS) as one of the three types of deviation from optimal allocation of resources (the others being mura and muri). Waste reduction is an effective way to increase profitability.