- sit close to the customer (literally)
- write good automated test coverage
- release early and often and get feedback (see point 1)
If you are doing those three things, it's hard to totally fuck up.
There is a lot of process in making those things happen to be sure, but how that process happens is not important.
the Agile Maifesto / Scrum tried to downplay process so much it became a by-word for no process, and almost broke the good it was doing as no one could track / report what was going on so every implementation looks like an uncontrolled mess.
(Yes there were sticky notes up on boards, but it's hard to mail that to upper management)
So a little more process, a lot more talking to end users and waaaaay more automated tests and automated releases and we might have something
Feedback from customers by iterating and releasing early and often.
Feedback from the team with proper frequent retrospectives.
Projects that I have been part of that skip or mangle retrospectives have all struggled. Listen to the team. Keep tweaking, improving every week/sprint. But keep the delta low so you can see what actually made an impact. And keep retrospective to mostly the team only so root causes are actually mentioned and not railroaded by external chiefs.
the Agile Maifesto / Scrum tried to downplay process so much it became a by-word for no process, and almost broke the good it was doing as no one could track / report what was going on so every implementation looks like an uncontrolled mess.
(Yes there were sticky notes up on boards, but it's hard to mail that to upper management)
So a little more process, a lot more talking to end users and waaaaay more automated tests and automated releases and we might have something