https://github.com/dariusz-wozniak/software-development-project-checklist
โ
Software Development Project Checklist
https://github.com/dariusz-wozniak/software-development-project-checklist
checklist software software-development
Last synced: 4 months ago
JSON representation
โ Software Development Project Checklist
- Host: GitHub
- URL: https://github.com/dariusz-wozniak/software-development-project-checklist
- Owner: dariusz-wozniak
- License: gpl-3.0
- Created: 2018-07-14T13:31:50.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-06T09:30:55.000Z (almost 6 years ago)
- Last Synced: 2024-10-30T14:26:45.603Z (6 months ago)
- Topics: checklist, software, software-development
- Homepage:
- Size: 24.4 KB
- Stars: 21
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - dariusz-wozniak/software-development-project-checklist - โ Software Development Project Checklist (Others)
README
Here is the **Software Development Checklist**. The purpose of the list is to create a minimum set of tools and rules that are applicable to each quality software project, from single-man army project to an enterprise giant.
Got the ideas? Create a pull request!
# ๐ฉโ๐ป Code
* [ ] Use **version control** for project files ([Recommendations at Slant](https://www.slant.co/topics/370/~best-version-control-systems)).
* [ ] **Monitor and log** your application ([Stackify article](https://stackify.com/monitor-software-deployment/) ยท [Best practices at Logmatic](https://logmatic.io/blog/beyond-application-monitoring-discover-logging-best-practices/)).
* [ ] Setup **continuous integration (CI) server** ([Awesome List](https://github.com/ciandcd/awesome-ciandcd) ยท [Recommendations at Slant](https://www.slant.co/topics/799/~best-continuous-integration-tools)).# ๐ Process
* [ ] Use **project management tracking system** (also known as *bug tracker* or *issue tracker*) ([Recommendations at Slant](https://www.slant.co/topics/3185/~project-management-tools)).
* [ ] Create a **backlog** for your items.
* [ ] Improve the process by making **small iterative changes** in your process (*kaizen*).# ๐ Documentation
* [ ] Setup **wiki-engined documentation**.
* [ ] Prepare **license info** and make it available for everyone in organisation.# ๐ Meetings
* [ ] Always send meeting information via **calendar software**.
* [ ] Include online **conference details** in event details (phone number and/or meeting link).
* [ ] Mark attendees as either **required or non-required**.# ๐ฌ Team
* [ ] Use effective **communication tool** across organisation.
* [ ] Avoid **single point of failure** (with [`Bus.Factor == 1`](https://en.wikipedia.org/wiki/Bus_factor)).# โ What to consider?
Apart from the must-have, there are many wonderful nice-to-try ideas that may work with your project! If you're not familiar, you may research these.
* Consider **code reviews** ([Awesome List](https://github.com/joho/awesome-code-review) ยท [Software Engineering thread](https://softwareengineering.stackexchange.com/questions/255944/what-is-the-purpose-of-a-code-review)).
* Consider **pair programming**.
* Consider **[Semantic Versioning](https://semver.org/)**.
* Consider setup separate environments (e.g. **development**, **testing**, **staging** and **production**).
* Consider using **distributed version control**, such as Git or Mercurial.
* Consider **pull requests**, rather than pushing code to a repository.
* Consider using **policies for pull requests**, like build succesful, automated tests passing, changes reviewed.
* Consider using **Definition of Done** and **Definition of Ready**.
* Consider using **acceptance criteria** (also known as *exit criteria*) to describe stories. Use these to resolve all ambiguations.
* Consider using **template for bug ticket** (environment, version or commit ID, reproduction steps, expected behavior).
* Consider document **on-boarding process** on wiki with all the required tools, resources, hacks, etc.