In some programming languages functions can only technically take a single argument... so a multi argument function like f(a,b,c) is turned into a function like f(a)(b)(c) where f(a) returns a function g() which can take argument b which will then return a function h() that takes argument c then that function will return the actual expected result.
Stop thinking about tasks as taking twelve steps, think about them of having two - do the first thing then, once that is done, think about how you'll do the next eleven, then do the next thing, then think about how to do the next ten etc...
In my day job I often work on really large and complex problems, I approach them by scoping them down to small solvable problems so I don't spiral off into analysis paralysis.