| I believe many of us already do what the author suggests, maybe in a slightly different way. Here's how I use my own flavor: 1) I create a GOAL. The GOAL is my ultimate big picture, which will give me immense happiness. So, the most recent example is, I wanted to build an E-Commerce application. 2) I map out the PATHS to achieving my GOAL. So, what I consider PATHS is: a) What programming language should I use?
b) Which APIs should I use, Paypal or Stripe to accept payments[1]?
and so on... 3) I follow a flavor of DDD[2] to come up with the important modules I need to have for a functioning E-Commerce project. Examples: I will need a Order Management module, I will need a Marketing module (for sending emails, running campaigns). I will need a CMS module to host product pages. 4) For each of the modules, I will create an issue on Github and add a checklist[3] of the stuff I need to get done. 5) Everytime I make a commit, I will reference this issue and the tasks along with it. Eg. "Removed Paypal #12" 6) At the end of the week, I will review the commits and evaluate whether this particular method I used was worth it. A good use case would be experimenting with a library and comparing it with another - Eg. Bootstrap vs Semantic UI. I will use the learnings from this workflow in my future projects. 7) I will also see if something can be automated. For example, for my current E-Commerce project, I use Phoenix/Elixir. It has it's own set of scaffold generators, but they're opinionated (they use Bootstrap). So, for every project I got tired of replacing bootstrap and customizing the generated scaffolds. So, I wrote a custom generator that drastically saves me a lot of time for large projects. Hope this helps :) [1] Not sure why anyone would use PayPal in this day and age tho. [2] https://stackoverflow.com/questions/1222392/can-someone-expl... [3] https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-... |