|
|
I'm a backend developer who comes from a non-agile background.
Last year, when I accepted my latest position, I was told that the team uses agile.
I was eager to begin learning this new, magic method for creating software, based upon everything I had heard about agile.
But I've been in the position for a year now, and the only difference from my previous jobs to this one is that now we have morning meetings and we delineate our work into two week intervals. That's it. Is this the highly touted Agile method?
It's turned out to be a big disappointment. Is my experience typical?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
From what I have read, yes, your experience is fairly typical.
Agile is an adjective in search of a noun.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
I think the true idea of Agile does not really exist or is not really implemented.
People, shops, adopt a customized version of Agile to meet their needs.
The over all idea of Agile is that you break a development project up into prioritized user stories and bugs and a certain number of these items gets worked in a sprint based on the business team needs.
One of the things that makes "Agile" effective is that the items to be worked can change in priority and the current sprint adjusted to accommodate.
All workable items are in a "backlog" and the business team, scrum master, etc. can groom/prioritize this back log and pull the items to be worked next, into the next sprint.
Note: this is probably not a great explanation but this is how I see it in my mind and how I have seen it at shops I currently work in and have worked at in the past.
|
|
|
|
|
That's a good explanation, because that's exactly what my team does. But the methodology just seems to me like common sense, not anything special that needs a special name.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
There is a lot more to it than can be covered in a quick reply. The reasoning behind which items get worked on, burn-down charts (that track progress) etc. There is a lot of overlap between "Agile' and "Scrum" which is basically a wrapper around Agile.
People implement as much or as little as they need to get the job done in an semi-organised way. You're right; ideally it turns out to be just common sense.
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
|
You are right about the common sense part - it is exactly that. The only problem is that common sense is not common, and often the product owner may not have it to begin with. But the product owner can be sold on a methodology that gives results - and put their faith into something that is a hot keyword of cutting edge development methodology. So we sell them on this, and turn around and implement so our developers can get at least 2 weeks of concentrated time to focus on completing features and aren't ripped back and forth on a semi-daily basis from one hot feature to another. And we actually get time to develop to the feature and (more importantly) test against the acceptance criteria. And if it isn't perfect, we can refine the requirements and make another sprint. This happened in small, managed waterfall teams from the beginning of software development, but often got lost in bureaucratic mess once companies got big enough. By formalizing this small team common sense methodology, we can keep corporate interference to a minimum. They don't join scrum meeting unless expressly invited.
|
|
|
|
|
Slacker007 wrote: The over all idea of Agile is that you break a development project up into prioritized user stories and bugs and a certain number of these items gets worked in a sprint based on the business team needs. That's how we work - the first day of the two week sprint we pull in user stories or pull over uncompleted user stories from the previous sprint. We also pull in defects.
We used to have scrum masters and product owners but it's now pretty much just the developers.
We also have a retrospective meeting at the end of the two week sprint to go over what went well, what didn't go well and future actions.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Do you point the stories(terminology used in agile)? Had a scrum master who was completely hung up on Fibonacci point values. Mercifully he changed jobs within the company. A day is approximately 2 points now.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
|
|
|
|
|
Yes, we score stories with points that are Fibonacci point values.
Also points are not about how long it will take to complete but complexity.
I could drone on endlessly about that last subject of complexity/time but suffice it to say that I am now so indoctrinated that I accept that points are not about time
Defects however are not scored with points but with t-shirt sizes S/M/L which is a time score - please big hole in the ground come and swallow me up...
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Be thankful that your experience with a highly touted process has been so innocuous.
|
|
|
|
|
As you're no doubt aware, Agile is a manifesto. It's not a methodology, it's just the following principles.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan That's it - it's pretty simple. The whole idea revolves around the idea that you are meant to be delivering software that people can use so you shouldn't be forced to jump through documentation hoops to get there. At it's heart, Agile can be condensed into the idea that you deliver early and you deliver often. In other words, develop your applications in such away that you're at most 6 weeks or so away from a deployable, tested version. Don't worry about polishing the application at first; get the basics and the areas that will give you the most benefit in place first, and add more and more to it as you go on. Interestingly enough, when we hear about teams focusing on stand ups then this is a situation where the very first principle is being violated. (Oh, and despite what people think, agile development does not mean there should be no documentation - there's always going to be a place for it).
|
|
|
|
|
Pete O'Hanlon wrote: Working software over comprehensive documentation
That must be why our source code has NO meaningful comments.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Very well put, POH!
/ravi
|
|
|
|
|
Oh, well, that's just Scrum. Agile is a broader topic.
My team has always been agile. When management came around telling everyone to use Scrum, I said "that's gonna slow us down".
P.S. You don't "do" Agile; you "be" Agile. "Doing" Scrum is just one way to "be" Agile, and not the best.
modified 17-Sep-21 15:40pm.
|
|
|
|
|
I work in an agile environment and that's how we work - morning meetings and two week sprints.
Anything committed at the end of the sprint goes into the release candidate which is tested for two weeks.
It just seems to be a way of organising work so that we can release something every four weeks.
Previously we have also had a more complex approach to agile with all the "ceremonies" but the morning "standup" and two week sprint seems enough to me.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
When you lack management skills and try to micro manage project you give it a name; Agile.
What happened to the days when a manager actually got out of their big boy chair and got in the trenches to help solve problems.
Give someone a goal and a time and let them go. If you're not sure of their skills, help them, guide them and teach them.
You can't put every programmer in the same category, we all have strengths and weaknesses.
The less you need, the more you have.
Even a blind squirrel gets a nut...occasionally.
JaxCoder.com
|
|
|
|
|
Managers don't seem to exists nowadays - typically agile teams have a scrum master, a team lead and a product owner.
I remember when I first joined and asked about managers and was almost hissed at for asking the question.
The concept of manager seems to be a bit alien to modern software methods - it's something I miss.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Fortunately I'm managed by a team lead who really knows his stuff. He has been able to answer all of my questions about how the software works.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Your team isn't doing agile! Also, "agile" isn't something you "magically apply" to a development team and expect it to work. Your entire product development organization needs to be agile for it to work for the dev team.
Put simply, an agile (software development) process allows stakeholders to request the implementation of small pieces of functionality. The implementations can then be reviewed by the stakeholders, and the requirements could potentially be refined or revised. This is immensely valuable, because it's very difficult to get software requirements right the first time. Don't misinterpret this for a "free for all" when it comes to defining requirements. The agile process simply makes it easier to deliver a continuous and progressive path towards the final product, because customers usually don't know what they want until they've seen what they didn't want.
I highly recommend watching this video (in fact all videos on Clean Code by Uncle Bob). At my organization, the set of Uncle Bob videos is mandatory instruction for all devs and dev managers. A few of the early videos are required to be watched (and understood) by the entire product team. I understand we're probably in the minority.
What is Agile?[^]
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: the set of Uncle Bob videos is mandatory
right
|
|
|
|
|
Agile is just developer socialism. Whenever it has been tried people who survive it never want anything more to do with it and people who have never tried it think that “this time will be different!”
If you can't laugh at yourself - ask me and I will do it for you.
|
|
|
|
|
What, no three to four 1+-hour meetings a week!?
There's the backlog refinements, sprint planning, review, retrospective...
I've literally spent hours refining, prioritizing and planning a sprint, only for some manager to come in three days into the sprint and change everything because priorities had changed
That company was the biggest money wasting pile of incompetence I've ever seen though, so maybe not completely representative.
|
|
|
|
|
That's a good story, thanks!
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|