Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Sunday, September 12, 2010

IceScrum2 on AWS Micro instances

It's been a while since my last post. I've been under the pump at work and job hunting as well. The announcement from AWS this week about Micro-Instances were too much of a temptation for me. A $54 yearly reservation cost works out to $9.61 reservation cost per month and $5.11 usage at $0.007/hr at 730.5 hours on average in a month. A member of the AWS user group compared it to about 4 Big macs a month at US$ 3.73. Being vegetarian I'd prefer to compare it to about 4 cups of coffee per month.

So, what to do with this new found power? I'm moving some of my development environment online. At the moment that includes:
  • A JBoss 4.2.2 staging server
  • IceScrum 2
  • Hudson integration server
I've previously covered how to get started with AWS for J2EE servers. However, there are some pitfalls using Micro Instances. First, you can only boot from EBS. This may or may not be a good thing. On the plus, your data will always be persisted regardless of shutting down the server. The main negative is the additional cost of the EBS. I'll put it at another cup of coffee a month. Second, I'm migrating my existing IceScrum instance so I need to create an instance of Amazon RDS and export my MySql data to the RDS.

IceScrum2 requires 512MB to work properly (Seriously? 512MB for a simple web-app). The micro instance comes with 613MB each. Which doesn't leave much to throw around. Still, it works well. Next, I'll be putting up Hudson.


Saturday, May 15, 2010

Adjusting to the Agile way

As I mentioned in a previous post, I'm rewriting one of my previous applications written in Python in Ruby on Rails. I've decided to spend sometime thinking and journalling the process - not just the technical hurdles of reimplementing in Ruby, but also the changes in project management methodology. I've fully embraced a scrum methodology for this project and I'm writing user stories on a notebook when I'm on the go and inputing them into Ice Scrum for traceability.

One of the challenges I find when I'm developing a new product is to treat myself as a client. I get so many brain waves and at times I'm not always disciplined enough to write them down. I just assume that since I originated the idea, it'll always be there. Sometimes its not necessarily a technical solution, it could be something that inspires the general vybe of the application (To be fair this also applies to when I'm using other methodologies). Having to condense this into a user story is a challenge.

Also, as the sole developer, there is a laziness involved in spending time writing something which your never sure will be read by anyone else. I feel like jumping straight into the actual deliverable. Note to self: Need to find out whether apps like twitter / facebook were built by their original developers using a strict development methodology. Do these methodologies apply at the edge of such innovation? I'd love to write the user stories for Twitter. I'm sure they could fit in 140 characters. Someone should write a tool using twitter for user stories.

Monday, May 10, 2010

Rewriting Chex Scheduler on Ruby on Rails

I was recently taking some speculative phone interviews a few weeks ago and I came across an international consulting company with a strong focus on Ruby on Rails and Agile practices. I remember remarking that I was not 'over-enthusiastic' about RoR (big mistake!). Anyway, I justified my reasons. I recently thought over my reasons for my dislike and decided to do my next major project using RoR. This happened to be my rewrite of Chex Scheduler - an online scheduling application written in Python and ExtJS running on the Google App Engine.

I'm also fully embracing the Agile way - using scrum in this instance - and I'll be cataloguing my experience. I'm pleased to have some tool support for project management in scrum in the form of Ice Scrum. Its great! The application will be deployed to Heroku and I'm hence using the git, version control system. I'm still undecided on what to use for Javascript, perhaps JQuery-UI. I think ExtJS was a bit heavy handed for what I wanted to achieve. So far, those are the design decisions I've made. I'll be updating the blog on how I'm proceeding.