Tuesday 27 October 2015

Another sprint goes by and we have something to celebrate

Let's celebrate!

 

So... we've got the first functionality inside ManageIQ. On time for the next version of the tool... and it has costed us some blood, I have to say.



Let's cellebrate :D This week is Red Hat Week, and we are proud to reach a milestone in our little project.

https://github.com/ManageIQ/manageiq/pull/4887

It has taken 11 days to merge it.... And we have learnt a lot while we worked on it.

First:


You need to visually know what you intend to do... We had a revision web conference and discovered that we had agreed to deliver something... that was not what we wanted.

Solution: mockups of the final solution. Now we are doing it first, with the rspec: Tests and mockups to know what we want exactly the tool to do.
It is such a stupid thing  trying to use TDD and fail on doing this properly.
Consequence: some functionality won't be included in ManageIQ until we refactor it because we have learnt a lot - meaning: we have done it wrong.


Second:


We need to focus more in the basis, iteratively. Git, patternfly, ruby, rails, we can't take them for granted, we need to improve how we do things. We make mistakes, we don't understand why tools are used for... and one month later you know why that functionality was there...


Third:


Sometimes the business part of things is hard. Even being myself the product owner, I don't get specifications detailed enough to make everything understandable, and thus it is good we are using Scrum... Imaging if we discovered that the functionality was wrong after 3 months instead of 3 weeks.... We wouldn't be talking about learning, but other things.


Monday 5 October 2015

Pull requests

Our first pull request is here... and the second one.

Last week we had a wonderful conference call with some senior developers in ManageIQ. Amazing how easy things can be if you have the right knowledge in front of you.

So today we have done a couple of pull requests:

One real:
https://github.com/ManageIQ/manageiq/pull/4669
One pathetic (mine):
https://github.com/ManageIQ/manageiq/pull/4668

So mine is just to add .ruby-version file, so rbenv does know what version to install, and anyone programming with the source code know which version of ruby he needs to set up the environment to.

The other one is quite more interesting: Tariffs in real life are not linear. They are based on tiers. So anything down 512MB has one price, and if you ask for 473 MB, you are still charged for 512MB. So we need to reflect that.

Interesting thing about this. It is not so easy to get a pull request, we want to collaborate, not being a burden:
1. We need to do it in smaller pieces. These pull requests are perhaps too big. Functionality is ok, everything works together, but reviewing perhaps it is a little too long. Next time, we will do smaller chunks. Hard to know whether is better to do a full functionality pull request or divide it...
2. git is a wonderful tool, so we are learning to stash, rebase, update, squash. Thanks god pro-git is free :D
3. manageiq does not work with postgres 9.4, the default version in Fedora 22, so now we need to use 9.3 or 9.2 (the one included in RHEL 7/CentOS 7)