We may have to agree to disagree somewhat. however the stuff I've said definetly can (and probably does for some indies) apply to indie game development.
They are universal standards and principles that can be applied to all software development practises.
If I was to summarise my points:
- Solid Principles / Clean Code
- Incremental Releases
- Customer feedback and communication early
- Simplicity over obfuscation
- 'Rough' roadmap of what might be worked on (it can be cigarette packet 10 minute thought) With a caveat that it's probably inaccurate, that's fine.. We aren't robots.
Which I might remind you some of which mirror the agile manifesto:
https://agilemanifesto.org/These concepts were designed to remove red tape and Chinese whispers and late feedback, improve code quality and try to make dev teams more efficient.
You don't
have to use these methodologies, but then again you don't have to wear a seatbelt when driving, but I wouldn't advise it.. *shrug*
Do you honestly think requirements don't change during the lifecycle? They do.. So having a direct dialog between stakeholders / customers and devs is key.
We have customers at our place too, (millions in the UK who buy from AO) + internal stakeholders.. We don't sit in the dark with our headphones on churning out code. Not speaking to anyone.. Ok Alex might
But he's a beast.
In a corporate environment you have to work collaboratively with multiple different departments and teams, including architecting and building the networking and security of each of the systems.
That's a necessity, but you're right, it's not always needed for a solo game dev where you're working on an isolated product with no cross cutting concerns.
But some indies will work like that (agile) and transfer their corporate skills to their game development environment, I know I would if I was a start-up small time company.
it's usually the people who role's dictate a layer between other deparments that sometimes get defensive over communication as they feel their role is threatened.
That also happened where I work as we used to have project managers and they really just became a pointless layer between the developers and stakeholders.
They all had to be let go in the end as they are being paid a wage and created a needless layer between the business and developers. Developers can actually tell stakeholders/customers what is possible and roughly how long it might take, because they are technically minded. PM's aren't going to have that knowledge to hand, or even business analysts.
A very important point to note that in terms of communication, nothing is worse than telling a customer they can have something at a certain time, then the devs turn around and say..Actually, It'll take much longer.
This used to happen all the time when we have a representative talking to customers, giving them basically false info and false estimations. Far better for a dev upfront to just deliver the truth.. Again talking from experience, this has been happening since 2011 where I work, thankfully we got a hold on it and phased out the red tape and b/s layer.
We kept the business analyst role as they could gather technical requirements and get forward ahead on upcoming meetings, leaving the devs to dev and only be brought in when technical knowledge or guidance was needed to make decisions.
Communication really is something that has to be simplified, we avoid chains of emails and red tape, just have a physical conversation with someone.
Manifesto Rule#1: Individuals and interactions over processes and tools
Manifesto Rule#3: Customer collaboration over contract negotiation
Bare in mind, our company is an online retail business, I.T is the driving force of the business, so dev input and common sense was the only thing which worked in the end.
What better dialog is there between customer and developer? It also depends on who you're customers are. We also have a call centre with hundreds of agents who help customers at home.
It's not odd for us to jump on a Microsoft Teams call and do a screen share (as developers) with an agent whos on the phone directly sorting out an issue.
I can't imagine anything worse, or anything more difficult than having a middle man relay messages between us and the agent, we just talk to people they are generally welcome the help. Job done, no layers needed.
In terms of Dev practises crossing both arenas:
To suggest anything other than that would be like saying: Ok Lewis Hamilton, You can drive an F1 car pretty good, supercars, sports cars, regular cars..
But I want you to get in this Peugeot 107 and forget all you're practises and principles because it won't apply here.
Well actually, it still does, a car is still a car.
In terms of what my goal was for the OP, just to spark a dialog, see where peoples heads where at. Mainly the dev's and appreciate Daves early response.
Also to find out Alex is apparently killing himself with 178k line changes
(so I'll stop moaning), that's both good and worrying to know.
Appreciate you're time and chats too Fireside it's always good to see other people's perspectives.