About Software Development
Moderator: MOD_Command
About Software Development
Hi guys, I'm not going to say much with regards to the opinions and claims being made about Command... but since I've worked in the defense industry as a software/systems engineer (mostly command & control stuff) and currently work in the information security field, I believe there are some things you should know in case you are not familiar with software development:
Creating software is complex. Software is imperfect (specially in its beginnings; in some cases it never ends up working!).
You wouldn't believe the amount of buggy software that have made it into mission critical applications, such as flight management computers, avionics, autopilots; firmware for things like gyroscopes, radars even weapon systems may run for years with "silent" bugs that are discovered (sometimes by pure chance) and fixed at much later dates! Not to mention critical software in the automation (nuclear plants) and healthcare industries! (pacemakers!). Things like CMMI, DO-178, ISO 12207 are there to try to improve the situation, but in reality developing quality software is hard! As longs as a human (programmer, coder, developer, wizard) is involved in the process of software development, there will always exist bugs (fact: Google has a 100% autonomous car solution to improve the safety and to optimize road traffic in the next few years, but no news of an artificial intelligence solution for developing software autonomously. Funny eh?). CASE (Computer-aided software engineering) solutions were hyped in the early 90s as the next big thing to solve the quality in software products and to even replace programmers... it never happened.
Software takes time to reach a good level of quality. Software development is expensive, very expensive in industries like the ones mentioned in the paragraph above. Sometimes software projects are never finished... big investments (millions of USD) thrown down the drain because of human factors (most of the time people don't know what they want and software projects are built on top of faulty or poor requirements analysis) ... and most of the time if you want your software to succeed, you just need to launch it! and there will be compromises down the road to "perfection"! Otherwise if you wait until "perfection" you will never launch a product, or if you do you will probably fail because you never got people involved in the process, and people will always play and break software in ways a programmer never imagined it. It will happen regardless of the amount of "use cases", "test cases", "stress testing", "assertions", "exceptions" or whatever you think might prevent a user from trashing your application. The only guarantee you may have (and I have no doubts whatsoever in this regard knowing the Warfare sims team since the HHQ days) is that as long as the bases of the software are properly designed and there exist a committed and competent group behind their creation, willing to support their software and their users/customers, then it's a matter of letting the product continue its evolution (never perfection tho'). The days when someone like Donald Knuth could code an application perfectly and bug-free in the first attempt are over, things have become much more complicated.
Many knowledgeable folks in this industry agree that software development is not and will never be a traditional branch of engineering. There are those who say software development is not engineering, nor science, nor art. It's a great mix of all three. I agree with that.
So... let's take a deep breath and sit back and play the game while the Command folks hunt down and squash the outstanding bugs and improve this fine simulation. For those of you who are angry about the bugs, disappointed with performance, or disgusted with the price, bear in mind the troubles that plagued the multi-billion 787 Dreamliner project. You'd probably travel the world on foot if you knew the glitches and strange bugs that continue to plague aircraft avionics in this day and age (pilots just know these and how to work around them).
Here's an amusing link for killing time: Software Horror Stories
regards,
Enrique
disclaimer: I'm a volunteer beta tester (late beta) now turned into a regular paying customer just like you. I did so the very same day Command came out. I have no relationship with Warfare Sims nor Matrix Games beyond this.
Creating software is complex. Software is imperfect (specially in its beginnings; in some cases it never ends up working!).
You wouldn't believe the amount of buggy software that have made it into mission critical applications, such as flight management computers, avionics, autopilots; firmware for things like gyroscopes, radars even weapon systems may run for years with "silent" bugs that are discovered (sometimes by pure chance) and fixed at much later dates! Not to mention critical software in the automation (nuclear plants) and healthcare industries! (pacemakers!). Things like CMMI, DO-178, ISO 12207 are there to try to improve the situation, but in reality developing quality software is hard! As longs as a human (programmer, coder, developer, wizard) is involved in the process of software development, there will always exist bugs (fact: Google has a 100% autonomous car solution to improve the safety and to optimize road traffic in the next few years, but no news of an artificial intelligence solution for developing software autonomously. Funny eh?). CASE (Computer-aided software engineering) solutions were hyped in the early 90s as the next big thing to solve the quality in software products and to even replace programmers... it never happened.
Software takes time to reach a good level of quality. Software development is expensive, very expensive in industries like the ones mentioned in the paragraph above. Sometimes software projects are never finished... big investments (millions of USD) thrown down the drain because of human factors (most of the time people don't know what they want and software projects are built on top of faulty or poor requirements analysis) ... and most of the time if you want your software to succeed, you just need to launch it! and there will be compromises down the road to "perfection"! Otherwise if you wait until "perfection" you will never launch a product, or if you do you will probably fail because you never got people involved in the process, and people will always play and break software in ways a programmer never imagined it. It will happen regardless of the amount of "use cases", "test cases", "stress testing", "assertions", "exceptions" or whatever you think might prevent a user from trashing your application. The only guarantee you may have (and I have no doubts whatsoever in this regard knowing the Warfare sims team since the HHQ days) is that as long as the bases of the software are properly designed and there exist a committed and competent group behind their creation, willing to support their software and their users/customers, then it's a matter of letting the product continue its evolution (never perfection tho'). The days when someone like Donald Knuth could code an application perfectly and bug-free in the first attempt are over, things have become much more complicated.
Many knowledgeable folks in this industry agree that software development is not and will never be a traditional branch of engineering. There are those who say software development is not engineering, nor science, nor art. It's a great mix of all three. I agree with that.
So... let's take a deep breath and sit back and play the game while the Command folks hunt down and squash the outstanding bugs and improve this fine simulation. For those of you who are angry about the bugs, disappointed with performance, or disgusted with the price, bear in mind the troubles that plagued the multi-billion 787 Dreamliner project. You'd probably travel the world on foot if you knew the glitches and strange bugs that continue to plague aircraft avionics in this day and age (pilots just know these and how to work around them).
Here's an amusing link for killing time: Software Horror Stories
regards,
Enrique
disclaimer: I'm a volunteer beta tester (late beta) now turned into a regular paying customer just like you. I did so the very same day Command came out. I have no relationship with Warfare Sims nor Matrix Games beyond this.
RE: About Software Development
+1 Thank you, Enrique, well said!
- Der Zeitgeist
- Posts: 279
- Joined: Thu Sep 05, 2013 6:19 am
RE: About Software Development
I agree, but sitting back isn't what we should be doing now. Instead we should try out as many functions, missions, platforms, AI tactics as possible, to see which already work and which still need more tweaking.
RE: About Software Development
Zeitgeist, I believe the forum is so crowded because most of us do that from day 1 on - you are one of the guys who help a lot by providing good feedback, I try the same, many others too - we will get there, I am sure.
Cheers,
Martin
Cheers,
Martin
- Der Zeitgeist
- Posts: 279
- Joined: Thu Sep 05, 2013 6:19 am
RE: About Software Development
ORIGINAL: MartinB
Zeitgeist, I believe the forum is so crowded because most of us do that from day 1 on - you are one of the guys who help a lot by providing good feedback, I try the same, many others too - we will get there, I am sure.
Cheers,
Martin
We really need some sort of Wiki or FAQ. There so many workarounds that are needed right now, it's really hard to keep track of all that undocumented stuff even when you constantly read this forum.
RE: About Software Development
Agree with everything you have said Enrique. Use of a system with real users exposes many problems not considered by the developers.
Back in the 80s I was the lead analyst on a military system. It was ready for release on time (and on budget), but some functions were a bit slow. I admired the Department Head's decision to tell the users to just get on with it rather than fall back to the old system. While the developer fixed the known performance problem, we expected to learn a lot about systems problems that could be fixed while the developer was on-base.
Back in the 80s I was the lead analyst on a military system. It was ready for release on time (and on budget), but some functions were a bit slow. I admired the Department Head's decision to tell the users to just get on with it rather than fall back to the old system. While the developer fixed the known performance problem, we expected to learn a lot about systems problems that could be fixed while the developer was on-base.
RE: About Software Development
There aren't actually that many outright bugs. The system does pretty much what it was advertised to do. There are things that could be easier, better, more functional. But I am very happy. The problem with a well-engaged customer base is that it looks like there are a ton of things wrong. But because we know the developers are taking the feedback to heart, we tend to go on about the needs and short-comings.
-
- Posts: 260
- Joined: Tue Jul 06, 2010 4:08 pm
RE: About Software Development
+1 from me
RE: About Software Development
I agree.
I can't really call myself a programmer, since 95% of the internal database applications I have written were in BASICA, MSBasicPDS, and VB6 using Access or MySQL for the DB. However, some of the applications did get fairly complex.
My best testers were the people who were entirely clueless on how to use my applications. This was back in the 80s and 90s. I could debug my app all day and everything would work flawlessly. I thought it was debugged so I released it into production and would get a call 5 minutes later. People were clicking and doing things in the program that I had never even thought of.
Well, now I'm one of those clueless people, so I'm sure the CMANO devs appreciate the patience of their users and their error reporting as I did way back when.
I can't really call myself a programmer, since 95% of the internal database applications I have written were in BASICA, MSBasicPDS, and VB6 using Access or MySQL for the DB. However, some of the applications did get fairly complex.
My best testers were the people who were entirely clueless on how to use my applications. This was back in the 80s and 90s. I could debug my app all day and everything would work flawlessly. I thought it was debugged so I released it into production and would get a call 5 minutes later. People were clicking and doing things in the program that I had never even thought of.
Well, now I'm one of those clueless people, so I'm sure the CMANO devs appreciate the patience of their users and their error reporting as I did way back when.
I don't write Universal Law. I just live by it.
RE: About Software Development
The Beta forum is still going like gangbusters trying out items for V1.01 based on concerns brought up here. Have faith, folks, you are being heard and there is significant progress coming.
RE: About Software Development
ORIGINAL: RockKahn
Well, now I'm one of those clueless people, so I'm sure the CMANO devs appreciate the patience of their users and their error reporting as I did way back when.
We do, very much so. We've been (and are) users ourselves.
RE: About Software Development
As a software guy myself (don't want to start counting decades LOL) my hats off... this is a stunning achievement and while a great product now, this is only the START of a community journey with these great gamers/devs.
RE: About Software Development
Bah. Ish. I mean, over 20-odd years in private and government contracting (mostly developing for the DoD) suggest to me these are true sentiments but, objectively speaking, standards have gone down. A notable chunk of the best-selling, high-end releases in all genres are "beta" or "early access", teams are smaller/leaner, turnaround is both quicker and expected to be, etc. This has only tangential relevance to CMANO.
CMANO is in an especially weird place because it's a detail-heavy title for a group of detail-emphasizing enthusiasts whose best point of reference is...get this...Harpoon in its many incarnations, a codebase dating from ~30yrs ago. Hard to get right on the first throw, for many reasons.
Therefore, I think it's acceptable to gripe but, because the current market is predicated on imperfection and post-release improvement, that should be tempered appropriately.
CMANO is in an especially weird place because it's a detail-heavy title for a group of detail-emphasizing enthusiasts whose best point of reference is...get this...Harpoon in its many incarnations, a codebase dating from ~30yrs ago. Hard to get right on the first throw, for many reasons.
Therefore, I think it's acceptable to gripe but, because the current market is predicated on imperfection and post-release improvement, that should be tempered appropriately.
Professional Coder on Closed Source. Do Not Attempt.
RE: About Software Development
ORIGINAL: evaamo2
For those of you who are angry about the bugs, disappointed with performance, or disgusted with the price, bear in mind the troubles that plagued the multi-billion 787 Dreamliner project. You'd probably travel the world on foot if you knew the glitches and strange bugs that continue to plague aircraft avionics in this day and age (pilots just know these and how to work around them).
Not sure why you think these two things have anything to do with each other.
People paid $80 for a "premium" title. They bought a ticket to complain, within the bounds of the forum rules, if the entertainment product they spent good money on doesn't perform as advertised. I'm glad for all the people who are reporting their problems. A little polite grumbling will go farther in making this sim even better than calls for patience ever will.
RE: About Software Development
Nicely said mate [:)]
ORIGINAL: evaamo2
Hi guys, I'm not going to say much with regards to the opinions and claims being made about Command... but since I've worked in the defense industry as a software/systems engineer (mostly command & control stuff) and currently work in the information security field, I believe there are some things you should know in case you are not familiar with software development:
Creating software is complex. Software is imperfect (specially in its beginnings; in some cases it never ends up working!).
You wouldn't believe the amount of buggy software that have made it into mission critical applications, such as flight management computers, avionics, autopilots; firmware for things like gyroscopes, radars even weapon systems may run for years with "silent" bugs that are discovered (sometimes by pure chance) and fixed at much later dates! Not to mention critical software in the automation (nuclear plants) and healthcare industries! (pacemakers!). Things like CMMI, DO-178, ISO 12207 are there to try to improve the situation, but in reality developing quality software is hard! As longs as a human (programmer, coder, developer, wizard) is involved in the process of software development, there will always exist bugs (fact: Google has a 100% autonomous car solution to improve the safety and to optimize road traffic in the next few years, but no news of an artificial intelligence solution for developing software autonomously. Funny eh?). CASE (Computer-aided software engineering) solutions were hyped in the early 90s as the next big thing to solve the quality in software products and to even replace programmers... it never happened.
Software takes time to reach a good level of quality. Software development is expensive, very expensive in industries like the ones mentioned in the paragraph above. Sometimes software projects are never finished... big investments (millions of USD) thrown down the drain because of human factors (most of the time people don't know what they want and software projects are built on top of faulty or poor requirements analysis) ... and most of the time if you want your software to succeed, you just need to launch it! and there will be compromises down the road to "perfection"! Otherwise if you wait until "perfection" you will never launch a product, or if you do you will probably fail because you never got people involved in the process, and people will always play and break software in ways a programmer never imagined it. It will happen regardless of the amount of "use cases", "test cases", "stress testing", "assertions", "exceptions" or whatever you think might prevent a user from trashing your application. The only guarantee you may have (and I have no doubts whatsoever in this regard knowing the Warfare sims team since the HHQ days) is that as long as the bases of the software are properly designed and there exist a committed and competent group behind their creation, willing to support their software and their users/customers, then it's a matter of letting the product continue its evolution (never perfection tho'). The days when someone like Donald Knuth could code an application perfectly and bug-free in the first attempt are over, things have become much more complicated.
Many knowledgeable folks in this industry agree that software development is not and will never be a traditional branch of engineering. There are those who say software development is not engineering, nor science, nor art. It's a great mix of all three. I agree with that.
So... let's take a deep breath and sit back and play the game while the Command folks hunt down and squash the outstanding bugs and improve this fine simulation. For those of you who are angry about the bugs, disappointed with performance, or disgusted with the price, bear in mind the troubles that plagued the multi-billion 787 Dreamliner project. You'd probably travel the world on foot if you knew the glitches and strange bugs that continue to plague aircraft avionics in this day and age (pilots just know these and how to work around them).
Here's an amusing link for killing time: Software Horror Stories
regards,
Enrique
disclaimer: I'm a volunteer beta tester (late beta) now turned into a regular paying customer just like you. I did so the very same day Command came out. I have no relationship with Warfare Sims nor Matrix Games beyond this.
AKA - Smudge