Sunday 26 August 2012

Define Your Story Points

As you know Scrum is an iterative and incremental agile software development method for managing software project. Scrum planning start with product backlog identification and story points definitions.

The product backlog is an ordered list of "requirements" that is maintained for a product.The product backlog contains rough estimates of both business value and development effort, these values are often stated in story points using a rounded Fibonacci sequence

Requirements of Project has to be divided into Stories ( need to give story points for each story)

Story should be divided into one or more Tasks ( each task should be given time estimates in hours) Always create a Task to Story even the story is very small and need only single task .Give the estimates in Task.

Regarding Points Vs Time, as there is no fixed definition to exact match between the story points vs time frame. we can follow the below conventions while defining the story points

Story Points Hours/Days
(max)
comments
1 3 hr total estimated time for all the tasks created under this story point should not exceed 3 hrs
2 1 days total tasks time should not exceed 1 day
3 2 days total tasks time should not exceed 2 day
5 3 days total tasks time should not exceed 3 day
8 5 days total tasks time should not exceed 5 day, extreme case
13 8 days total tasks time should not exceed 8 day, not acceptable ( too extreme case )

eg: if the estimated time for a story is 1 day , it will have 2 story points.
     if the estimated time for a story is 1.5 day , it will have 3 story points.

Stories are Business Use Case which are standalone in Nature

Three types of Stories
1)  Client Side + Server Side changes
    eg: server will expose some services, client will call those services and show the results in UI
    In this case , there will be some tasks for client and some tasks for server.
2)  Only Client Side
   eg: customization of UI like styles,fonts etc changes
3)  Only Server Side
   eg: Utility APIs

*each story should be independently testable.

Depending on your team size , you can allocate certain number of story points for a specific sprint.
remaining stories, will move to the next sprint.


*A sprint is the basic unit of development in Scrum. Sprints last between one week and one month.

Step by Step Guide to VPS setup for webhosting ( Linux Ubuntu)


Now a days we are seeing lot of new websites floating in the internet space. you may be wondering how to host a website.

hosting of website depends on the content of the website. Is your website contains only static data or dynamic data ( generated using some technologies like Java,Grails,Rails,ASP etc).

If your website contains just a static data ,then hosting of website is pretty much simple, you need to take a web hosting space from websites like ipage.com,justhost.com,godaddy.com
 
If you website contain dynamic data then you have to take Virtual Private Servers (VPS) Hosting or specific packages like Tomcat Hosting package etc.
some of the vps hosting providers are  mochahost.com,hostmonk.com,kickassvps.com 

VPS Hosting allows for custom configurations and installations, because it gives you full root access to the virtual server.

Follow the below steps to install the mostly used software needed for website hosting.

Step 1: Installation of Java
http://www.devsniper.com/ubuntu-12-04-install-sun-jdk-6-7/

Step2:  Download the tomcat from the apache site
wget  http://apache.opensourceresources.org/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz
 
Step3 (Optional): Download the flex SDK from the adobe  site, this need for flex project
wget http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.5/flex_sdk_4.5.1.21328.zip
mkdir flex_sdk_4.5.1
unzip flex_sdk_4.5.1.21328.zip -d flex_sdk_4.5.1

Step 4: Database configuration
Install the mysql server using below command
#sudo apt-get install mysql-server
Create database by using the below SQL command
Sql> create database  mydb;
Create user  ”myuser” with password  “mypassword”
Sql> GRANT ALL PRIVILEGES ON *.* TO ' myuser '@' localhost ' IDENTIFIED BY mypassword WITH GRANT OPTION;
Sql> FLUSH PRIVILEGES;

Step5: Install the subversion for checkout of svn project
#sudo apt-get install subversion libapache2-svn

#svn  co  <SVN project URL>

Step6: configuration of environment variables

Copy following statement and append to /etc/profile or .bashrc  file, make system set JAVA_HOME into system environment variable.

export  JAVA_OPTS="-Xms256m -Xmx512m"
export JAVA_HOME="/usr/lib/jvm/<JavaInstalltionDir>" 
eg: export JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.15"
 
Step7: Install of Ant
sudo apt-get update
sudo apt-get install ant

once all the required software installation is done on your VPS server , you can build your source code checkout using svn. then copy your war file in the tomcat webapps folder,then start your tomcat server .once all the setup and deployment is done , you can start accessing your website URL using the public IP provided by your VPS hosting provider.

Friday 24 August 2012

Running Ruby on Rails application in debug mode (Linux )


Follow the below steps to run the Ruby on Rails  application in debug using aptana studio

1) Download  Aptana Studio zip file from http://www.aptana.com/products/studio3/download
2) sudo gem install ruby-debug-ide
3) unzip aptana studio and Import the Ruby on Rails application in aptana studio
4) Right Click on Ruby on Rails application and select the debugserver option to run the application in debug mode

Note:above setup is made on Ubuntu 11,12  versions