Our boss is highly visionary. They have really good ideas, tells us about them, and then expects implementation ASAP. The flow of ideas is, we feel, on steroids.
Soon enough, they will come back and tell us they changed their mind and/or tack on some more features, mid-development. During development, we come across the need for more details, clarification, and what-ifs. When we present these to the boss, they often reply "I'll have to think about that and I'll get back to you". And the next day, they come back to tell us about changes and even more ideas when our original concerns haven't even been addressed.
We think that our boss doesn't think things through, as we always end up chasing them for clarification, more details, and what do for various scenarios.
There were times that we decided some things behind their back (as we saw made the best sense) just to get something to work and/or have something to show. We quickly learned not to do that again because it ended up either totally opposite or unlike what the boss expected.
Worse yet, they don't put their ideas in writing, so we have absolutely nothing to go back to except for the conversations. To combat that, we are the ones who take notes and hack our own brains for any applicable "what ifs" on the spot. Even when we take notes, we still end up in a situation where the boss claims to have verbally said something and we allegedly forgot to write it down. We requested numerous times for written expectations and details. Never got one. Responses were "everybody does things differently" and "you have been taking notes and asking me questions as you need for years; there should not be a problem", "well, this is how we do things here," and (ugh) "you guys need to figure out how to be more flexible."
Not only are they our boss but also one of our co-developers. Our biggest challenge is they like to (and actually do) update the live product on the spot, often without telling us the changes and when they made such changes. Eventually, it became our responsibility to always ensure that what we're about to save/submit won't overwrite any changes they may have made and also to ask for what those changes were so we can copy it in our local machines. The rest of us want to implement version control and obfuscated/compacted code on deployment, but with these spontaneous requirements, those are not possible.
We feel that this type of management/workflow is inappropriate, and there's nothing we can do about it. We want to get things done efficiently and (IMO, more importantly) effectively, but we're struggling without definite written plans and customer interaction scenarios.
If you face similar situations, what have you done successfully to manage or even combat this situation?
Thank you for all your responses so far. Honestly, I was expecting everyone to say that I'm an incompetent and/or overly-demanding worker who whines too much.
I can only wish that our boss starts writing things down and not just throw out ideas at us just like that. If ever I land their position, I will take your advise seriously and at heart. Or, if I find someone who wants to start their own similar or applicable business/practice/shop, I will give them your advises.