Reprioritisation, Prototyping and Conclusion
Reprioritisation
One of the other key aspects of Agile based development is that aspects of the development can be reprioritised on the fly. The user stories taken into a sprint shouldn’t be changed, but given that sprint length is (usually) short, this means the team(s) can change direction as needed by the product owner within a short period of time, so whether a new contract comes in that we have to work on as soon as possible to get the deal, or whether a blocker has been discovered on a current user story that needs some other piece to be developed first, these can be reprioritised with relative ease.
Makes sense right? At the end of the day, it’s not like we can’t build the top floor until we’ve built all the ones underneath it. Software development has different needs, different requirements and a sequential model constrains where it doesn’t need to.

Prototyping
I touched briefly on prototypes in parts II and III, but it’s an important aspect of development whether it’s a physical thing you’re designing or a piece of software you’re building. The way some people have talked about Star Citizen (had to get the mention in somewhere!), it sounds like they think a lot of the development has been wasted and the money that was spent on that development was also wasted. I simply can’t stress enough how untrue this is!
Software Prototyping is an extremely important part of the development process and in particular with anything that is looking to break new ground! The other important thing to keep in mind is that for a visual piece of software like a videogame, the visual elements are just one aspect of what is being created in the prototype where many other aspects may end up being reused! So fine, maybe some of the initial hangar art is no longer used. Maybe the original damage modelling in arena commander has been advanced. What about the back end code to deliver you your hangar? Tell your client which ships are in it? Let you login and authenticate? Connect to their servers? This or some form of it is of course all still in place.
The other key thing prototyping does is gives you the ability to learn and evolve the software you are developing.
In many ways, stuff we see today is a prototype. As we all know when it comes to Star Citizen, everything is subject to change! Ship balancing, missiles, torpedoes, controller balance, netcode, login client/patcher, damage states. All of this can change, they’re developing it and most importantly, they’re learning from it. Not just from the code, but from us! The backers! Every time we post a thread in the forums giving them constructive feedback. Every time we vote on something in the issue council, every time we tell them that controller balance of mkbd vs. hotas sucks and why, this is all information for them to take onboard and use to potentially evolve the prototype.
Conclusion
This series of articles has been pretty long. I’d be pleasantly surprised if anyone read the whole thing. If you have, I hope you’ve been able to learn something and feel it was worth your time. Maybe it’s given you an insight into software development, maybe it has turned you off the whole subject completely. I just hope that you keep in mind a few key messages from this series:
Software development is hard. Some people reach for the stars and try to push the envelope. These are the people who progress us as a species, whether they succeed or not. I’m not just talking about Star Citizen, but whatever the chosen field of the dreamer is. Maybe it’s flying cars and hoverboards, particle accelerators and exploring the big bang. The invention of the wheel, the internal combustion engine, wind energy, splitting the atom, antibiotics. You name it, somewhere along the line there was someone who laughed in the face of someone who was trying to push the boundaries and telling them they couldn’t do it. Don’t be that person. Listen. Be respectful. Maybe you’ll learn something. But as always keep in mind: It’s easier to destroy than to create. Creativity is hard. In a discipline as complex as software development, even more so. If in reading this article, you appreciate that a bit more then I’ll be happy. Please let me know your thoughts in the comments!
Remember our mantra:
WITH ENOUGH TIME AND MONEY, ANYTHING IS POSSIBLE!

Contents
Follow Wccftech on Google to get more of our news coverage in your feeds.

