Skip to content

Instantly share code, notes, and snippets.

@JacobBennett
Last active November 4, 2022 20:41
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save JacobBennett/d246789b546747b391b48231f44c6007 to your computer and use it in GitHub Desktop.
Save JacobBennett/d246789b546747b391b48231f44c6007 to your computer and use it in GitHub Desktop.
The Hows and Whys of Software Development (Writing a SDLC)

TLDR: Click to Download my Software Development Life Cycle Document


What is your policy on the use of production data for development?

How does someone go about creating a new feature?

What do you do when you encounter a bug in your software?

How do you protect against common coding vulnerabilities and ensure best practices?

Do you have this all documented!?

You would likely be able to field most of these questions if asked to. The bigger question that I was faced with recently was the last question on the list... IS IT DOCUMENTED.

Once a company grows beyond a certain size, having these procedures documented and available becomes a necessity. These types of documents will often times be used for onboarding new developers or provided to a potential client that has regulations to worry about when choosing their development team. The problem I faced when trying to document these processes was that I could not find any good examples to start from. WHICH IS WHY I am now releasing a modified version of what I created as a starting point for you.


Click to Download my Software Development Life Cycle Document


Here is a brief summary of the headings and contents contained in the Software Development Life Cycle Document:

  1. Separation of Production and Testing Data
  2. Separation of Production and Testing Code
    • Version Control
    • Branching Model (credit)
  3. Continuious Integration and Deployment Strategies
    • Handling PRs
    • Automated Testing
    • PR Examples
    • Code Reviews
    • Zero Downtime Deployment
  4. External Software Security Audits
  5. Application Frameworks and Platform Versions
  6. Commitment to Developer Education

Hopefuly this document can give you some ideas for what you should include in your SDLC documents and maybe some insights into how other people manage building their software.


Usage and Disclaimer: Feel free to borrow or steal as much of this document as you find useful. I certainly did not write this entire document without some help from my good friend Google. I wish I could tell you that I have all of the sources for the ideas that I borrowed or modified from other sites as I compiled this, but sadly I do not. If any of your work is in here, please feel free to let me know and I would be happy to credit you for it!

Sources

published: true
preview: What is your policy on the use of production data for development? How does someone go about creating a new feature? What do you do when you encounter a bug in your software? Do you have ANY of this documented? Get started creating your own Software Development Life Cycle document the easy way... by copying mine!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment