Re:Forecast, don't guesstimate your software projects
by dpenguin on Saturday June 13, 2020 @02:46AM
(#23507383)
Code organization (part of Architecture) matters a lot here. Especially in large code bases. Software is meant to be “soft” or pliable easily. To do that, one should be able to alter a module without having to understand the whole system. If a small task takes too long, there’s a problem with the software architecture or code organization.
Re:Forecast, don't guesstimate your software projects
by sooheon on Saturday June 13, 2020 @07:44AM
(#23508752)
I think GP's "millions of lines of code" references the code that runs all the systems outside of your particular org's architecture.
Re:Forecast, don't guesstimate your software projects
by dpenguin on Saturday June 13, 2020 @03:33PM
(#23512028)
Got it. Better to stick to tried and tested “boring” stuff and actually code small functionality yourself than chasing a thousand line library for trivial stuff.
At work, someone used a 3rd party library to send stats to a server in json format and “standardized” on it. 100s of developers had to now learn this new library and it’s APIs and one bug caused everyone a bit of hassle. It probably made the original dev’s job just a little easy but made it a bit hard for everyone else. These things do happen. The point is to learn from this and make better decisions over time, not give up and say we can’t get better. Trying to provide an estimate forces you to think more carefully and become better over time.
Re:Forecast, don't guesstimate your software projects
by sooheon on Saturday June 13, 2020 @09:40PM
(#23514429)
A poor library choice or two is not even 1% of the systemic dependencies any system has if it's working at a reasonable level of abstraction.
> "not give up and say we can’t get better"
Not sure why you feel the need to state this straw man? That is not my opinion, nor do I think it is the GP's.
So my estimates are pretty much always "if it's well-built, documented, and fits what I expect, a week or less. If not, up to 2 months or more, but I should know more in 2 weeks". Getting a more accurate estimate quite often means spending as much or more time investigating than it would take in the optimistic case, so usually the answer becomes "give it a shot and we'll decide again later". Sometimes I have good news, sometimes not.
---
We sit on top of millions of lines of code, changing faster than we can read much less understand. You cannot know it all, nor is it worthwhile to try in the vast majority of cases. Poking into new territory is common, and the ability to do so effectively is a super important skill.