Category Archives: Agile

Agile related articles, including code refactoring concept related articles and code demos.

Application of Locke’s Goal Setting Theory in Agile Methodology

A theory I came across recently looked to adhere to some concepts of the Agile methodology. And I felt it seems to fill some kind of a black hole in the Agile methodology. The theory is called be Locke’s Goal Setting Theory.

Locke’s Goal setting theory is about setting up goals in a way, that when they are achieved they will also turn into a great motivator to the person/team who follows it accordingly.

In my working place we follow Agile methodology to develop software. I know some of the basic Agile process. So the basic concept of Agile according to my understanding is a recursive process of software development which goes under many changes and iterations to provide what the clients really wants. Also the process is transparent to the client so the client is always updated. This methodology is developed to create a better understanding between the client and the developers so that they will come up with the exact product that the client wants, including the changes through up to the final product release.

When you try to compare the 5 key factors of the Locke’s Goal Setting Theory with Agile process, you will see that some are very much similar to each other.

Will see how much are they related to each other

Setting Goals and trying to achieving them, does not always works well for everyone. Some people achieve it and some people get stressed out or stuck and instead of getting motivated they get demotivated due to many reasons. In Agile we can consider it to the user stories created by clients , which we add into sprints as tasks and try to implement them withing that sprint time.

The 5 Factors that are need to affect the motivations according to Locke’s Goal setting theory are

Clear and Specific Goals

Challenging Goals

Handling Complex Problems

Commitment

Feedback

1 – The Goal has to be clear and specific, so in Agile we meet the client and their work environment and understand it and then we gather user stories which are then explained by the client to the developing team. This ensure that the requirement we have gathered are clear and specific.

2 – The next one is Challenge, we create sprints with user stories provided by the client, which we think we can achieve within the next sprint and we define our self a deadline. Easy challenges won’t be motivating, because they won’t feel important. So we select a set of challenging stories to achieve within the sprint. Achieving them gives us(developers) a big motivation.

3 – Handling complex problems, often there is chances of estimations made by the developers go wrong. So some times developers tend to get stuck on a problem that blocks the whole process, which leads to stress and the developers get demotivated. At times like this in Agile we split the complex task in to many sub tasks to visualize the problem in a better way so that we can handle them individually and solve them.

4 – Commitment is next, it is really important when it comes to team, we have to work together to achieve the goals. Software modules normally will be developed by different developers, which will at the end works together to provide a solution. So being committed to the goals that’s assigned to you will pave way to the ultimate team goal. Commitment is also affected by various kinds of internal and external causes. But keeping the developers committed is something that has to be handled by  the management or the team lead.

5 – Feedback is an important element. As a team lead, it’s important to give feed backs on the goals achieved by the team members and in which area they can improve. Not only the Team Lead, the client must be also trained in a way so that they give positive feedback about  the developers when they are present in a meeting or a scrum. This will enable the team members to work more efficiently and happily in future. Developers often consider positive feedback as another hidden goal. So it is the responsibility of the leads not to spoil it for the developers.

Even though the companies following Agile methodology these days does motivate the employees/developers by giving the team a lunch out or a pay increase/bonus. The motivation part is not mentioned theoretically any where. So I think if we can apply the Locke’s Goal setting theory into the Agile, we can get a better performance from the developer team with Good customer satisfaction.

Advertisements

Google Glass in Colombo Agile Meetup…!

1st of October 2013 at Voice Lounge, Burgher Recreation Club, Colombo Agile Meetup hosted one of their most wanted meetups featuring the famous Google Glass. So the topic is “A real life case study of a Google glass project.”

20130912_143933

Shamira Dias (Delivery Manager, Exilesoft), started the talk, with the Subject “Unfamiliar territory and uncertain outcomes: The Google Glass Project”. So he elaborated the types of projects that Exilesoft do, and how the developers here at office and onsite, deal with it. Sometimes they are not familiar with the business domain, but holding back is not the prudent thing to do. Therefore, to add to it, when a project appears with an unfamiliar object he explained using the Google Glass project which they are currently working on in Exilesoft, how agile practice helped them, and how they co op-ed and won, in the end.

1381930_10151585171006710_1273619941_n

Next the talk was passed onto Sanath Nandasiri (Software Engineer, Exilesoft) one of the two developers, directly connected with the ongoing Google Glass project (the other one is Me ). He explained what Google Glass is, what it has, what it can do and available features on it.  So the session went with some live Google Glass Demo, which really entertained the audience. One of the important features I thought was, it runs Android 4.0.4 and it got a wonderful natural voice recognition which has a high accuracy rate.

556621_10151585171726710_2012012341_n

Further on Sanath moved into Google Glass development. There are 2 ways that we can approach the GLASS development. They are the native way (Android) and the Glassware development (Server Side using Mirror API). Then he explained how the glassware works, what the role of the Mirror API is and the technologies used to develop a glassware. Native development is similar to the traditional android development but with some restriction of functionality and libraries. One of the reason for the restriction is caused by the lack of sensors in Google GLASS unlike normal Android phone. Those functions can be achieved by pairing to your Android phone through Bluetooth. Also explained how the glassware authentication take place under the hood.

Then another round of demo session took place explaining the Google GLASS Time line. And a cool thing happened for developers, there has been a code review on Glassware and the code has been open sourced. The source can be downloaded here. Also as a bonus, Sanath explained and showed how you can bring in Google Glass in your Android phone that is running Android 4.0.4 or later, this will be a great emulator to test your Glassware apps (It cannot be used to test native apps though).

Finally Dulan Bandara (Software Engineer, Exilesoft), explained about unit testing and its importance in the Glass Project. Then he compared unit test on Android and unit testing on Google Glass. There was a hands on coding demo for the unit testing. It’s important to mention that a bunch of visitors got a chance to try out the Google Glass. They were awed at the experience they got.

63626_10151585172331710_1821980851_n

The talk came to an end with the Introduction of a new meet up group “Colombo Mobile Meetup”, and an Announcement of the upcoming DevDay 2013.

For the complete collection of research and development article on Google Glass explore my Blog.

Meetup Organized by Exilesoft (Pvt) Ltd.

Installing Google Glass in an Android Phone

Ok in this article we will see how to install Google Glass in your Android phone.
Actually we are installing some apps that are specific(That comes with) to the glass. These apps are taken from the explorer glass system dump(OS).

There are more things you can explore using the System dump but as for now. We will bring the basic functionality of the Google Glass to the Android phone.

Prerequisites – You need a wifi connection to authorize the google account to your glass software. Reason is google glass only has wifi connectivity so its only means to connect to internet is through wifi, so they don’t have data related libraries’ so if you are connected through your data connection it wont work. But if you don’t have a wifi, create a hotspot through a laptop or smartphone and change your data into wifi. But you can try using the data connection and post a comment if it works.

There must be a

Step 1
Download the GoogleGlass.rar

Step2
Extract the file.

Step3
To simply install, copy these files into the SD Card of your android phone and
click on them and
it will prompt you, from which app to open the file,
select the package installer.
(If this is not the first time you are installing an app in this method you can skip this sline)Then it will ask you to enable the third party app/unknown source app installation,
which you can find in the Settings–> Security
Now you can install the apks.

First of all Instal the following files

  • glassbrowser-modded.apk
  • GlassCamera.apk
  • GlassHangouts.apk
  • glasshome-modded.apk
  • glassmaps-modded.apk
  • glasspeople-modded.apk
  • glasssetup-modded.apk
  • GlassSound.apk
  • glassvoice-modded.apk

Step4
After installing all these apks (Don’t run any of the apps as soon as you install), before opening any app open the ‘Glass Setup’ app which is available now in your app list.
And you will see the following screen.
Screenshot_2013-07-19-16-45-41

At this point you must login to
https://www.google.com/myglass using your google account that you wish to associate with your glass App.

First you will see this page in your browser
step1

Now click on the Start link and you will go to this page
step2

As usual agree to the agreements and click continue
step3
Add the wifi name and password(You can try using fake name and password).
And click on the Add network
step4

Now you will see this. Screen, in the original glass you can scan the code but in the app we have installed in the phone that feature won’t work. But if you keep the Google Setup app open, automatically the continue button will be enabled, if it did not work, close the app and restart the app and it will get authorized and you are ready open the Google Glass.
😀

Now you will be redirected to your Glass Companion page, here you will see all the glasswares(In google glass apps are called glasswares) you have subscribed, here you can manage them. Or there is an app called glass companion, which I have added in the rar you downloaded now.

This is the Website Glass Companion
GlassCompanionWeb

This is the Android App
Screenshot_2013-07-19-17-16-45

Now you can Open the ‘Glass Home’ App from your App list
And you will See this View
Screenshot_2013-07-03-14-35-221

And start the operations by saying the magic word ‘ok glass’And you will see available commands
google-glass-interface-ok-glass

So this is how the google glass works,
for how to use commands please see my first article on Google Glass

Most of the commands will not work,
Ok glass–> google… will wok and it acts like google now.
Ok glass–>Send a message to will work if you have added contacts from your gmail account in the glass comapnion

Most of the others will not work. But in my next post I’ll write an article on how to make the command ‘take a picture works’, be ready some basic android programing stuff will be there.

Be ready to do some Android Code…!

Download the Whole System Dump from Here
gitHub-download-button

Update (12/3/2014): Now after the GlassSneakPeak GDK is released, now you can develop apps using the GDK and add your own commands easily and can open them using voice commands. I am not sure but if you manage to get the latest XE12 Glass OS or later and install it in the phone it should work. If I have time Ill publish a new post on it.