My Plan to Successful Software Development


If I am going to develop a game, I need some basic requirements.  Again, the goal here is to develop a simple app that the kids can use and become more able to use apps that already exist on the market.  Meaning, I think there are a lot of great apps, not there is a gap where kids can learn how to use other apps.  This is what I am trying to accomplish.  To do this, I want to create a minimalist game that teaches kids about apps while teaching me (and others) how to program and deploy one.

Steps to Create a Successful App:

These steps are a little bit selfish, but I feel they generally apply to all software projects.  Depending on what is driving you to build the product, the first couple of steps may be reorganized, but overall I feel all the steps are needed.

Step 1: Define the Requirements

The requirements have been defined.  Create shapes that grow with held, pop when touched, and move when dragged.   I also have had other cool ideas that I have thought about already, but I do not want to cloud the first game, as a new platform always has issues that take more time to work through than I would like.  We will keep the requirements simple, such that we can guarantee that the game will be a success.  The full set of requirements for this project can be found here.  If you have not read them already, it might be worth the read.

Step 2: Define the Purpose

The purpose of this game is very simple for me.  Jasmine has Down Syndrome.  As such, she needs different tools that others to continue to learn age-appropriate skills.  For example, she uses ASL more than she speaks.  She may know 10 signs, but has difficult knowing when to use them.  The same is true for he fine motor skills.  She knows how to point, hold, and swipe, but not when to use them.  She is very interested in my tablet.  If I can build an app that she enjoys, then we can strengthen her ability to learn.

Step 3: Determine Market Need

This one is easy, I need it for my daughter.  That is enough market need for me.  If I had a larger audience, I may spend more time here, but I have a real needs, and the ROI may be personal, but it is real.

Step 4: Pick a Name for the Game

I was considering “Pop This!” as a name, but after searching on Google Plan and Apple’s App Store, I determined that “POP” would not return my target audience, after all if I want to publish this, then I need to hit the search engines.  I determined that “Shapes” had to be in the name, so adding the “!” makes it unique enough for me to feel comfortable releasing it.

I believe that a working name needs to be established early so that the game can continue with a common theme.  Even if a better name is found later, at least the games does not start to wander too much due to lack of direction.

Step 5: Determine Technical Feasibility

Once you know what you want to build, you need to determine if it can be built. Doing a basic prototype and researching the technology is a critical step.

Step 6: Team Meeting

OK, now that the engineers have a proven that it is possible to create, and the business unit has determined market need, it is time to brainstorm and continue to refine the Marketing and Engineering goal such that a clean set of requirements is agreed upon before the project continues.

I believe this is critical because once this is drafted there is a true goal for the project.

Step 7: Execute on the Plan and Monitor Progress

With both the business and technical side of the origination working towards a common goal they are free to independently concentrate on their area of expertise.  Each should develop a plan, execute that plan, and keep each other informed of their progress.

Step 8: Deploy and Repeat

I should have said “deploy” because this could include alpha, beta, and other tester feedback.  The point is we need to iterate over the design a number of times before AND after the app is published.

Not the Conclusion

This is by no means the end of this topic, nor is it a comprehensive list of what will happen with this project.  However, I think outlines my basic philosophy that will guide this project forward.

Leave a comment

Your email address will not be published. Required fields are marked *