Marco Rogers
Web developer, movie buff, and pretty much the best guy you know. Married to
@operaqueenie
I forgot to mention that I also set up automated database migration systems in my personal projects. I’m such weirdo.
https://kind.social/@bo_brinkman/115663891259094850
- I front load the high risk parts. Meaning we work to explore those parts early in the project. The sooner we gain clarity, the sooner we can refine the estimates. You can also do short proof of concept sprints to achieve this goal.
- For anything longer than a few weeks, I create documents to outline the important decisions and assumptions I'm making. I loosely refer to these as Project Documents. And in my opinion we don't do enough to teach people how to create these.
Here are some the heuristics I tend to use.
- If you're giving hard estimates further than 3 months out, you're probably making it up.
- We can and should break large efforts down into phases or milestones. Those should target 3 months or less so the estimates can be meaningful.
- Getting good at swaging these 3 months milestones means you can give fuzzy estimates about large efforts. 4-5 milestones means "this could easily take 18 months".
- Estimates will vary greatly based on the size and experience of the team.
- Part of the job of a project lead is to break down the work into manageable chunks. This is largely where we design the system to be built. Hint: this part is missing in a lot of dev processes.
- Below two weeks or so of work, the ownership should be given directly to the engineer who will do the work. If they say yes, then we're good. As I told someone earlier, I hate "story points" with a fiery passion.
Here are some things that I do to make sure I have high confidence in my estimates.
- I talk to my team and learn what they are capable of. As a manager or as a peer engineer. Estimates don't mean anything if the other people involved won't or can't do what is asked.
- I quickly identify which parts we are not experienced in. What things are outside of our current experience and competence. Those parts are labeled high risk.
@davatron5000@mastodon.social huh. Most of this stuff I don't worry about at all for small projects. A good pass will handle security sandboxing between the app and database. Small app means connection limits and caching are a yagni problem. Etc. If these issues feel like barriers to people (again, specifically talking about small software), then I'd like to address that in some way.