Monday, November 14, 2016

Agile Management: Great Answer of Story Points

Great Answer of Story Points

It is a common agile practice to reason in terms of story points instead of hours. You can learn more about why we do so here.
The velocity concept, instead, is well explained in this blog post.
I don't want to complicate things, so I will answer to your question speaking in terms of hours.
Let's imagine that you are on the first iteration with a brand new team.
In such a case, you can assume that the team will be "really" working for about 70% of their available time. You are considering the fact that the remaining 30% will be taken up by other tasks not related with development (paperwork, e-mails, phone calls, etc.).
It is wise to start with a conservative estimate. The idea is to adjust your estimation in the next iteration and use it to determine how many hours of work can go in the next sprint.
Let's give a look at your example (a team with 3 developers, working 5 days per week, at 8 hours a day):
3 (number of developers) * 5 (days) * 8 (available working hours per day) * 0.7 (initial estimation) = 84("real" working hours that your team can handle in one week)
Based on your question, I think that it could be good for you to search more information about the concept of Definition of Done (DoD) as well. You can start from here.
I understand that in your organization testing is separate from development. This is not the best agile approach, but it is (sigh!) common. You can find some interesting information in this answer to the question "How to fit testing in Scrum sprints and how to write user stories in Scrum" on Programmers Stack Exchange. Give a look also at this blog post about testers working in an agile team.
It is complicated to tell you what is best for your team and organization based only on the information provided. My understanding is that you are working with one-week sprints. You wrote that, according to your experience, it is better to leave the last day for testers to do their job. In this case, if I were you, I would probably continue to consider 5 working days. The team needs to speak with the Product Owner and organize the Sprint Backlog to have user stories that fit into 4 working days to be done (so that they can be sent to the testers team in the same iteration) plus another story (or more) that can be done in the last day (to be sent to testers in the next iteration).

Reference:
http://pm.stackexchange.com/questions/15069/how-to-calculate-sprint-capacity
https://www.scrumalliance.org/community/articles/2015/march/determine-the-team%E2%80%99s-available-working-hours-to-en

Tuesday, November 8, 2016

Ubuntu: How to Install Tuleap Docker

Docker-Tuleap

Deploy a Tuleap inside a docker container
More info about Tuleap on tuleap.org

How to use it?

First run:
$> docker volume create --name tuleap-data
$> docker run -ti -e VIRTUAL_HOST=localhost -p 80:80 -p 443:443 -p 22:22 -v tuleap-data:/data enalean/tuleap-aio
Will run the container, just open http://localhost and enjoy!
p/s: replace localhost with your server ip.
You can get the site administrator credentials to log in the first time with:
$> docker exec -ti <container_name> cat /data/root/.tuleap_passwd
On other, regular runs:
$> docker run -d -p 80:80 -p 443:443 -p 22:22 -v tuleap-data:/data enalean/tuleap-aio

Ubuntu: How to Install Docker in Ubuntu 16.04 LTS VMWare

To Prepare Ubuntu
  1. Download Ubuntu version 16.04 from https://www.ubuntu.com/download/server
  2. Open VMWare and install Ubuntu with downloaded file.
To Install Docker


Update your apt sources

Docker’s APT repository contains Docker 1.7.1 and higher. To set APT to use packages from the Docker repository:
  1. Log into your machine as a user with sudo or root privileges.
  2. Open a terminal window.
  3. Update package information, ensure that APT works with the https method, and that CA certificates are installed.
    $ sudo apt-get update
    $ sudo apt-get install apt-transport-https ca-certificates
    
  4. Add the new GPG key.
    $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  1. Run the following command, substituting the entry for your operating system for the placeholder <REPO>.
    $ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
    
  2. Update the APT package index.
    $ sudo apt-get update
    
  3. Verify that APT is pulling from the right repository.
    When you run the following command, an entry is returned for each version of Docker that is available for you to install. Each entry should have the URL https://apt.dockerproject.org/repo/. The version currently installed is marked with ***.The output below is truncated.
    $ apt-cache policy docker-engine
    
      docker-engine:
        Installed: 1.12.2-0~trusty
        Candidate: 1.12.2-0~trusty
        Version table:
       *** 1.12.2-0~trusty 0
              500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
              100 /var/lib/dpkg/status
           1.12.1-0~trusty 0
              500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
           1.12.0-0~trusty 0
              500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
           1.11.2-0~trusty 0
              500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
           1.11.1-0~trusty 0
              500 https://apt.dockerproject.org/repo/ ubuntu-trusty/main amd64 Packages
    
    From now on when you run apt-get upgradeAPT pulls from the new repository.

Prerequisites by Ubuntu Version

  • Ubuntu Xenial 16.04 (LTS)
For Ubuntu Trusty, and Xenial, it’s recommended to install the linux-image-extra-* kernel packages. The linux-image-extra-* packages allows you use the aufs storage driver.
To install the linux-image-extra-* packages:
  1. Open a terminal on your Ubuntu host.
  2. Update your package manager.
     $ sudo apt-get update
    
  3. Install the recommended packages.
     $ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

Install

Make sure you have installed the prerequisites for your Ubuntu version.
Then, install Docker using the following:
  1. Log into your Ubuntu installation as a user with sudo privileges.
  2. Update your APT package index.
     $ sudo apt-get update
    
  3. Install Docker.
     $ sudo apt-get install docker-engine
    
  4. Start the docker daemon.
     $ sudo service docker start
    
  5. Verify docker is installed correctly.
     $ sudo docker run hello-world
    
    This command downloads a test image and runs it in a container. When the container runs, it prints an informational message. Then, it exits.


You can find more docker installation step for other ubuntu version from this link https://docs.docker.com/engine/installation/linux/ubuntulinux .

The most common issue to install in other Ubuntu version is "Cannot locate docker-engine". It is because docker packge has been existed inside Ubuntu repo, you can try the following command to install docker.

sudo apt-get install docker.io


Ref:
https://docs.docker.com/engine/installation/linux/ubuntulinux/
http://stackoverflow.com/questions/39645118/docker-unable-to-locate-package-docker-engine