Monday, December 28, 2015

Proof of Concept


Proof of concepts are often underrated, overlooked, and an incredibly valuable form of preparation.  Proofs are a way to test and idea and move on.  They honestly should not take long at all. And when your done, you should have better estimates and a better final product.

Underrated
Most managers are looking for ways to cut time down for the end product, so spending time on throw-away-code (and it is throw-away-code), is a waste of time and money.  

Overlooked:
Most developers want to just dive in to the code, and get their project done.  

Incredibly Valuable:
Have you ever finished a project and thought, "If I had this to do over, I would have done it all the same!"  BAH!  If you even make it to the end of a project, your typically thinking, "This is f****d up.  CHANGE ALL THE THINGS!"

Rules of a Proof of Concept: (according to Dan)
1) Determine a part of your project you have not built before.
2) Produce a project with no code.  
3) Race through it.  -  Yes, you read that right.
4) See how it feels.
5) Review.
6) Throw it away.
7) Repeat - Maybe.

So now I'll go over the parts in a little more detail.

1) Determine:
Its easy to think you understand it all, since you understand some of the base coding principals, but in truth, you are typically most excited about project ideas that introduce a challenge to you, something that involves learning at the same time as maintaining a comfort zone.  So another way you could look at this, is what are the most interesting parts?  That is probably a good sign that there is a bit of a challenge, something you want to try.  Try a proof first.

2) Produce:
Make a test project that does only the bare minimum to test the concept.  If it is adding to a larger, existing project, that's fine, but just build it in a copy.

3) Race: 
You don't need pretty code, you don't need the best style.  You need something quick to prove the concept, and nothing else.  How fast can it be testable, playable, pr
4) Feel:
While there are obvious technical things, does this feel good?  Did it feel complicated?  Now that you can try it, does it seem like it could be better?  This is the point to do a gut check and measure the parts that have no metrics.  Are you happy with the way it works?

5) Review:
From a technical stand point, what are some of the key take away's? Were there any changes to your original plan?  What information is needed for the architecture?  What communications, management and other methods are important to keep in mind?  Does it work with your existing plans for architecture?

6) Trash it:
Do not reuse this.  The practice is sloppy to give you a chance to try it.  This doesn't mean delete it.  You might want it to look back to see how you handled something.  

7) Repeat:
If it didn't work the way you wanted, don't just consider how you would do it differently.  Repeat this process with the new idea.  What happens if you make it through the new idea, in the real project, but find it has the same issues or worse?  And now its mixed in with your real code.

But if you are happy with the results, then you are good to go. 

Monday, December 7, 2015

Project: Codivore



Codivore is conference style training, done online.  Or as close as we can get it.  We are still figuring out details, and looking for ways to improve our initial ideas.  Here are a few we are starting with:

  • Blogs/Articles with easier ability to add Unity Demos, so you can try out the samples we show you.
  • Live Streaming Demonstrations, so you can ask questions during.
  • Demonstrations to be available on blogs shortly after.
  • Speaker updated content.  Hey, sometimes we find better ways to teach something.  
  • AGILE Agile agile.  
    • We will focus on an Agile approach to growing the content and feature.  
    • Blogs first, but then seeking community feed back as we grow, and trying make this better and better.
    • Many of our listeners will also be potential speakers, and really help shape the community.  
  • All topics focused on Game, Programming, Education. 
    • This will naturally spread out to smaller 

If you are interested in being a speaker, want to request a topic, or even recommend someone for speaking, please let us know.