News for hackers. Stuff that matters.
Re: by kace91 on Friday January 13, 2023 @02:20PM (#34372549)
> It's a reason waterfall was abandoned.

Waterfall vs agile is not really about how much effort you put into design, it’s about how long the plan-code-reassess cycle is.

You should not plan a whole year ahead and then act, it’s better to plan the next couple of weeks.

But you still need to define how the work for those weeks fits in the system, the load it’s expected to take, the metrics that tell you it’s working, how to roll it back if you screw up, etc.

I find that many people use agile as an excuse to ignore these questions and just pile up fixes on top of prototypes.

Re: by icedchai on Friday January 13, 2023 @07:04PM (#34375659)
Exactly this. Agile is often seen as an excuse to throw out any sort of design. You wind up with fixing the mess made last sprint in the next. But, good news, there are Jira tickets with points assigned for the half-baked fixes!
Re: by randomdata on Friday January 13, 2023 @07:20PM (#34375803)
> Waterfall vs agile is not really about how much effort you put into design, it’s about how long the plan-code-reassess cycle is.

Read the Manifesto again. You will notice that is actually about the considerations you should take into account if you want to run a software team without managers. Each point is there to ensure that the necessary functions a manager would traditionally take care of still get done.

Waterfall never existed as some kind of formal process. It was invented as an illustrative device.

Re: by kace91 on Friday January 13, 2023 @08:40PM (#34376390)
> Read the Manifesto again.

I did, and here's the direct quotes:

> Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

As I said, the cycle length is shortened, yet...

> Continuous attention to technical excellence and good design enhances agility.

...design is not removed from the process, but kept as a cornerstone.

> Simplicity--the art of maximizing the amount of work not done--is essential.

This one might be a bit more of a stretch, but I see here the benefit of designing a simple, elegant solution rather than doing work straight ahead.

In any case, I don't fully agree with the agile manifesto, even when correctly implemented. Particularly this quote is the bane of my existence:

> The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Which you can identify as the very opposite of the ever popular 'this meeting could have been an email'.

Re: by randomdata on Friday January 13, 2023 @09:51PM (#34376915)
Now read it again as the entire document that it is. While I can see where you are coming from, your theme doesn't carry into the points you conveniently left out.

Once you put it together, you'll realize that the message is:

1. Deliver software. You won't have a manager hounding you to do so.

2. Do good work. You won't have a manager questioning what you've done.

3. Don't spend more time programming than you need to. You need time for managerial tasks.

4. Meet with your teammates. You won't have a manager to act as the go-between.

Re: by TheRealSteve on Friday January 13, 2023 @11:54PM (#34377487)
Being a developer without a good Engineering Manager is a futile exercise in my experience. Software developers deliver quality work and solve problems efficiently as a matter course. If not, they should be let go to work someplace else, potentially outside the software trade. Saying those skills are exclusive to followers of the agile manifesto is silly. Find a good manager that brings you opportunities and respects your expertise. If your manager hasn't put you in a place to be the rock star in the last year or so you need to move on or accept you aren't "all that".

My opinion is based on being a software engineer (junior through principal) at small, medium, and fortune 100 companies. I also have years of experience as an engineering manager.

Re: by Aeolun on Saturday January 14, 2023 @12:56AM (#34377704)
> Saying those skills are exclusive to followers of the agile manifesto is silly

It’s silly to be absolute about it, but I think there’s probably a large overlap between competent engineers and people that agree that the agile manifesto is generally a good thing.

Re: by TheRealSteve on Saturday January 14, 2023 @01:12AM (#34377765)
That's fair. In that spectrum I'd rank folks that see agile as but one tool in the shed higher than those that agree it's _the_ way to execute projects.
Re: by randomdata on Saturday January 14, 2023 @10:26AM (#34380990)
> Saying those skills are exclusive to followers of the agile manifesto is silly.

What says that? The Manifesto is there to help guide you if your group chooses to forego managers, but it doesn't suggest not having managers is the right tool for the job. An engineer more than anyone should understand the concept of tradeoffs.

Re: by Falkon1313 on Tuesday January 17, 2023 @06:00AM (#34411143)
Despite having somehow done this successfully for many years, I still find 2 weeks total for the entirety of requirements gathering, planning, designing, developing, reviewing, and testing (plus all the meetings and documentation and jira cards etc.) is kind of an incomprehensible timeline for anything but the most trivial fix.

We're building entire skyscrapers and cathedrals by gluing a few toothpicks together at a time. Because that's all there's time for in a sprint. It shows in the quality of modern software, and the never-ending updates necessary to keep them from collapsing.

Of course planning it all out years in advance and then executing blindly on those plans without ever correcting course wouldn't make sense either. But maybe a middle ground could be better than either extreme.