In this episode, we get started on the implementation phase of our software product.  We have a reasonably robust design documented from the tasks of the prior episodes.  Thus, this should be an easy and natural next step.  Your product vision at this point is solid and thought through.

Start Simple

These first steps of implementation will be used to create our foundation and development environment.  Once this is complete, we will be ready to crank out some code and focus on our application.  Here is a short checklist of tasks we should tackle in this step.

  • Create The Database
  • Script any needed seed data for the DB
  • Create the application skeleton of files (sort of a hello world)
  • Connect to the DB and perform a query
  • Script or define your deployment process
  • Add the project to version control
  • Deploy the code so far and verify it is working

This process is not the most technical and will get administrative coding out of the way.  The fun part will come next.

Inputs, Outputs and Happy Path

The most natural path through the solution to test should be the happy path.  This is the experience a user gets when they enter all valid data, and everything works correctly.  There may be some feedback and output to verify as part of testing the application.  Thus, it makes sense to start here.  Let’s make sure our solution works in at least one instance.

After the happy path has been tested, then start walking down it and figure out where things can go wrong.  This will help you determine how to check input, output, and user messages or notifications.  The beautiful thing is that this provides a somewhat logical approach to testing and helps reduce the guesswork involved.

Your Homework

Walk through the steps and build out your foundation.  I have been building a small application along the way, and you can find that source in the file link below (tar and gzipped).  I have a few extra files floating around that are in progress and not part of this release.  However, you can actually run the ant tasks and deploy once you change the ant properties for source and target folders.  Feel free to adjust this script to your own environment to make your deployments easier.

Profile Links Product – Foundational Source Code

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply