Agile toolkits

My current company is using Scrum to develop softwares. To me, it is a set of practices and tools which enhances communication, collaboration, trusts, etc between members of a team.
What people are still debating is that, which one, Scrum or Lean is better. I said, why not both? To me, the term Agile has been broaderned to bear many meanings. It points to a lot of processes. But under the hood. It is still 4 statements and 12 principles of Agile Manifesto. Everything else is just a technique. We can decompose Scrum or Lean into techniques and combines several ones to form a new method. To see if it works, we have to try it. But in the end, they are just tools.

bookmarking + mind mapping

Recently, I’ve been using an interesting and useful free online service, GetPocket which helps me to bookmark articles, papers, webpages, etc to read it later. The service even extracts the content and displays it in elegant format. It even allows me to tag, search, add favorite, etc. In short, it’s cool.

I’ve been bookmarking a lot of good articles and links that I’m interested and plan to read them on my free time. Until today I’ve suddenly realized that I actually need a similar service as GetPocket but allows the user to chain/connect them as a MindMap.

Usually, one of my hobby is that for certain topic/keyword, I start searching materials about them. For each article I reach, I read a few first paragraphs and if I encounter a link to another one, I immediately open the link. The routine is as follow:

1 – open
2 – read a few paragraphs until encounter (interesting) links/keywords/concepts
3 – open them
4 – go to 1 repeat.
5 – if there is nothing new, I come back to the previous articles.

It looks like I’m digging up a articles tree, or rather travelling a material map. Then an idea popped up in my mind: Why not combining the two: bookmarking the articles and mind mapping.

I want every time I bookmark a link, I can tag it and link the article to a mind map with some keyword and some description for the article. Then by the time I read back the articles, I can follow the graph and regain the knowledge. The application could render the articles and its graph to follow, just as a mindmap.

Thoughts when reading How to Win Friends and Influence People

After reading section “Twelve Ways to Win People to Your Way of Thinking”, I recalled that I’ve applied the principle “Start with questions to which the other person will answer yes” months ago with one of my colleagues.

At that time,  my team was working on a project with another team, they started first and later we  joined. At first, the way we created & updated the database actually sucked. The first time when I looked at the sql files, I had no idea how to run those. There were sql files and batch files to run the scripts and one could not know which one to run first just to look at them. So we had to run back and forth to ask the other team for support.

So I decided to sit down and re-wrote all those scripts and batch files with one thing in mind: I just wanted to make me and my team setting up the database as fast as possible. Finally I did came up with a solution and implemented it. But I needed the confirmation of the other team to follow my new way of hanlde updates of database.

I wrote an email to express my solutions and listed what we (both team) could benefit from doing this. The solution was creating two folders: initial and update. The folder initial contained all the scripts up to this time and a batch file to run all those script. And the updates will have sub folders whose name is a combination of both team’s sprint numbers. At every sprint, we put the update scripts into there appropriate sprint folder and I wrote a batch file to run those script at every sprint or run all of them.

The Scrum Master of the other team agreed with most of the points in the email but he still wanted all developers must added the changes into both places, the old scripts and the new scripts,  just to make sure there was no problem.

He, the Scrum Master, was not an easy-going man. So I decided to make an private Skype conversation with him to convince him not doing that. At first he did not agree. He insisted that all developers must do so because that makes everything in sync. The conversation went like this:

Scrum Master (SM): No, we have to keep updating the old script with ALTER and then add the merge the update into the brand_new_update. So if we run the brand_new_update, the customer will have a full database. We just run the old script with the updating parts.

Me: I have a question: If we run all the initial & update script.

So I asked him if we run the initial first and then run all the updates, did it considered the database is up to date. He answer YES. Then I asked him if two solutions results in equivalent