Posts

A perfect project : Sprint Zero

A short blurb about the way my current project is being run. It's the first time I've been on a very agile project and this kicked off two weeks ago. Sprint Zero had the following elements to it. Team composition was a tech lead, a pair of craftsmen, a product owner. Project kicked off with a Sprint Zero planning meeting that ran a couple hours with everyone available. We mapped out the domain and language used in the domain. Trello was used to create a Sprint Zero board with all members added to it. Members added spike cards and the tech lead ordered them by priority. Github was used to save all the spiked work under one repository. Github also served as the location for our wiki that hosted our play books and domain discovery. A definition of done was written out and stored on the wiki Code is pushed to Github (see GitFlow notes) TDD SOLID and DRY Code Base Code is formatted Static Analysis executed CI Server Build + Test is running Green Branch is merged...

Happy programmers working on not so lean startups

This article is my effort to bring the founder perspective to a lean team. Most programmers I know would love to work on a lean startup they are passionate about. Getting the product out to the customer faster, building tools to test the outcome, delivering value to the customer in small increments as we continue to gauge the response. These practices provide less uncertainty on whether or not the product is successful. While we sometimes have to  abandon an experiment because of market failure, there is no waste. By contrast, delivering software for a startup founder so that we may raise venture capital is more complex. Prior to having that customer feedback, the team has to come up with creative ways to anticipate what should be the MVP that would deliver the most value to the founder. Building lean software is all about reducing waste, and programmers involved in lean software are conscious of this at all times. The hardest part for such founder-based teams is to...

Xamarin Components Tips

Image
Recently I got into building cross platform mobile device apps using Xamarin Forms. A project I was working with required that we add components in both IOS and Android. When you add a component to your project -> Project Name -> Folder called components Then Xamarin provides samples that go with these components. Double clicking on the component name would bring up a page such as this... Tab over to Samples Double click on Open Sample: This opens up the sample as a project and helps with figuring out the details. It's pretty NEAT!

One of the request inputs is out of range error -- Windows Azure Storage error -- Really?

This threw me off today while working on uploading images. Upper case characters are still illegal as part of the naming rules for Azure Storage . This includes blobs, containers and queues. Thanks to Mike Stall's very clear article on this issue, got to the bottom of it quickly.
Easy read on WPF / Silverlight leak management http://www.simple-talk.com/content/article.aspx?article=1337

Simple MVC3/Razor Fileupload and Storage

Recently I had to add a simple fileupload control in an MVC3 Razor page. It wasn't very difficult to do, thanks to System.Web.Helpers and Microsoft.Web.Helpers. To begin... if you don't have Microsoft.Web.Helpers, find and install through NuGet. pm > Install-Package microsoft-web-helpers Next in your Razor view add the following : @using Microsoft.Web.Helpers @{ ViewBag.Title = "Upload Files"; } @using (Html.BeginForm("Upload","Upload", FormMethod.Post, new { @encType = "multipart/form-data" })) { @FileUpload.GetHtml(initialNumberOfFiles:1, allowMoreFilesToBeAdded:true, includeFormTag:false, addText:"Add Files", uploadText: "Upload File") < input type="submit" name="submit" text="upload" /> } Next in your Upload Controller add the following. The submit button on the Razor page submits the form to the Upload ...

Setting up a git repository

If I am creating a repository from scratch, then I pick the creating and commiting option. Creating and Commiting $ cd (project-directory) $ git init $ (add some files) $ git add . $ git commit -m 'Initial commit' Once that is done, then I can clone the repository from any computer by following the Cloning and Creating Patch directions. Cloning and Creating a Patch $ git clone git://github.com/git/hello-world.git $ cd hello-world $ (edit files) $ git add (files) $ git commit -m 'Explain what I changed' $ git format-patch origin/master Pushing a branch $ (execute the following in the remote repository) $ git config --bool core.bare true $ (delete all files in remote repository except the .git folder) $ (now you can push to the remote repository from any branch) $ git push origin master Git Reference http://git-scm.com/