Sunday, September 29, 2013

VBA software development workflow for beginners using Dropbox

This blog gives everyone the latest update from me on software development I want to adapt going forward.

I'll begin by talking about software development as I know it to date, followed by how I would go about it using Dropbox to manage my work files in progress, using Git to store my Excel changes accordingly and I hope later using Jerkins to see how the changes I made can be impacted and registered to do some other kind of things.

Background

Talking in general about what software development is. In essence it is the practice of both, the discipline and the art of creating effective software. Taking the traditional path, known by various names as the waterfall approach, from the late sixties to the nineties, stages of collecting requirements ("what do you want the software to do") before designing the software ("how are we to write software"), also constructing the software before testing the software to see if it works. Release is the last stage to provide software out the to customer.

In contrast, in the twenties, Manifesto for Agile Software Development [WWW Document], n.d. URL http://agilemanifesto.org/ (accessed 20/07/13) is a website showing the dedication of software developers who were invited over a few days to examine software development challenges. The manifesto is the conclusion whereby they valued items listed on the left more than topics indicated on the right.

Agile methodology following the manifesto's spirit is a style of delivering software often to/for the customer using a small group of mixed skilled people that iterate (repeat) smaller cycles called sprints. Before the cycle starts there is an an agreed prioritized list of stories (requirements) which the allocated team will estimate how long it will take to deliver and once agreed the team will use the sprint to produce/deliver the results for review and feedback.

I have been reading from Scott Sehlhorst who has a software consulting and project management website about the company of the same name "TynerBlain LLC". For a while I enjoy reading his tips/ideas on how to address software development issues from a product's point of view. One of his article he quoted and mentioned from a guest post Wayne Mulligan for "On Product Management" who discusses the challenges in implementing Agile over traditional software development processes. I find this an interesting contribution along the lines of how Agile works.

On the same note, how would Agile work on a personal level? If software contains features and these features are ranked in order of importance to be done. Personal life-goal's vision can be managed this way into three categories, to do, doing and done. I have come across an excellent ebook on Agile developed by an Agile coach whom applied the principles to her own family. Ronen-Harel, S., Kovatch, D., Kaye, A., 2011. Agile Kids, 1 edition. ed. ButterKnife Marketing.

For all sense and purposes, I'll will be using some parts of agile for my own software development. Trello by Fog Creek software is a great product I find on the web for flexibility to manage both the vision of this blog and projects.

Below are the tools I've elected to build our Excel application further which readers is welcome to use.

Tools

Let's start with Dropbox first. I choose Dropbox as a secure and reliable means to save files/photo snaps and store my development work over the internet/cloud. In other words, I can show some development by login onto the internet anywhere that suits me in order to share my work in progress. The good news it is free for use with initial space once you register your details. Perhaps later once you decide to share the directories or files, dropbox rewards you with additional space. Interesting way to spread the word so to speak. :-)

To set up Dropbox for development work, we need to download the latest version for Windows desktop to help manage files within Window. I also respect Mac users for Excel so I'm sure Dropbox does supports Macs desktop tools as well. Macs may have something similar as their setup, I'm happy to hear any feedback on this note.

This download also helps to set up a connection across the Internet using best practice protection encryption and synchronises the Dropbox account with your changes. Here is an picture which may looks something like this in the tool bar and the green tick on the box to say all changes are updated.


Once Dropbox is installed. I recommend associating a drive letter of your choice to the Dropbox directory. This will improve your programming workflow by switching easily to the drive letter to continue working.

The following table shows the steps needed to complete for using the Windows command dialog box
(to open the command dialog box go to Start->Search field->type in "cmd") or via Windows Explorer for those using the easy to use mouse. We are going to use "groceries" as the project name and I will assume you are located on the root directory of your Dropbox or switched by drive letter of your choice mapped to that drive letter.

Instructions / Steps
In Command Box
In Window Explorer
Create directory called “groceries
mkdir groceries
File->New->Folder->type in groceries

This is a very simple set up. I'll talk about the next blog about where and how the files are managed before imported into Git to store my code changes.

Til then,
Peter.