Team Collaboration: Out with the old and in with the new?

Since the world is moving away from 9 to 5 desk jobs, towards more mobile and open work environments, you might think that the world has figured it out already, don’t you?

Well not so fast.

Yes, working remotely has its own merits. You can work from your home, or from Ibiza or from rural Africa. You can take your dream vacation and at the same time, meet your deadlines. So what’s wrong about that?

Well for starters, Communication! Even though the technology has evolved by leaps and bounds in this aspect, there’s still something truly remarkable about talking to someone in person. Studies have shown that people struggle to convince others and understand the true emotions of others via teleconferencing in comparison to talking to them in person. Well, you can get your message across, but you’ll struggle to convince them your intentions and build strong work relationships via e-communication.

Next is Collaboration. Yes, again you can assign tasks and deadlines to people and get work done using electronic methods, but the quality of the work will largely depend on the person doing the work since it’s hard to closely monitor their work. You will have to believe that they will be disciplined enough to complete their task at the deadline and talented enough to complete it without major interventions since your interactions with them are limited.

Making this work, of course, is not impossible. All these drawbacks can be diluted by having strong communication methods and having a strict schedule in place. Planning ahead is also a must. But all that will involve a lot of phone calls, a lot of video conferences, a lot of emails etc. It’s all hard work, but if that’s the price of getting quality work done, remotely, I believe people are willing to pay it.

Sources: My own experiences in working on projects, remotely.

Don’t agree with the opinions expressed in this post? Have something to add? Please share your thoughts in the comments section below. I would love to hear from you.

Advertisements

Bootstrap.

When my colleagues started throwing around the term ‘Bootstrap‘, I honestly thought it to be something far more complex than it actually is.

Bootstrap, or Twitter Bootstrap as some still call it, is a beautiful creation by the masterminds at Twitter. Bootstrap takes the pain off from designing an elegant website (or a web based application in our case) by providing a lot of resources to enhance your creation.

Bootstrap comes in a bundle which contains CSS files and JavaScript files. These files are foundation of various components and designs which bootstrap allowed you to implement. These components are extremely versatile, functional and they do look good as well.

At first, getting bootstrap up and running in your website can be a bit daunting. A trick I used for getting started quickly is to use one of the many examples provided at the site and download the entire page into my Mac. By downloading the entire page, you’ll get all the bootstrap files with the file paths resolved and you can immediately start editing the HTML code with a text editor such as Sublime Text.

One other way to use bootstrap is by using bootstrap CDN, which can be found on the site. I used the CDN to check if my websites are working even if the paths of source files are changed. CDN can be your goto choice when hosting your site on the Internet, depending on your preference.

One of the many useful features of Bootstrap is its ability to create responsive websites. A responsive website has the ability to change itself according to the resolution of the device that is viewing it, making it an ideal solution to implement web applications and websites which support both desktop browsers as well as mobile devices such as smartphones and tablets.

Making a website responsive with bootstrap has a bit of a learning curve as bootstrap has a proprietary grid system in the form of tables. Once you get the hang of it and with a bit of experimenting and tampering with z-index values of elements, you’ll have a mobile ready webpage at your disposal.

Please make sure you check out the bootstrap expo on their website to see what others are doing with this remarkable tool. You will be able to get some ideas or even get a bit of motivation.

For all things Bootstrap, visit: http://getbootstrap.com

Sources: My own experiences in working on projects using Bootstrap.

Don’t agree with the opinions expressed in this post? Have something to add? Please share your thoughts in the comments section below. I would love to hear from you.

Selenium: Much more than an element

When I was told that I had to use Selenium for a project by our client, I was bewildered. Not having a single idea about what it is, my mind wondered on the behemoth it can be when I would be faced with the task to confront the beast.

Turns out, it was more of a Yoda than a Darth Vader.

I do have to mention that I’m talking about the Selenium library for Java (I didn’t have the pleasure of getting to know the Selenium IDE until recently). Burdened by doubts but armed with curiosity, I googled ‘Selenium’.

The website looked like a portal to an unknown dimension. I started reading through it, hoping that something will give me an idea about what this is. The more I read the more it became clear. Selenium is a browser automation tool which is flexible enough to do various tasks. Cool.

Then I followed tutorials, asked people on more information about it. The more I got to know it, the more I comfortable I was with it. Turns out it was nothing to be afraid of in the first place. And without spending much of a time, I was able to use Selenium to do some amazing things that I never thought was possible. I have tamed the beast.

What I leant from this whole experience is that we all fear the unknown. But the fear only remains until it is unknown. So don’t let the fear stop you from
learning and getting to know something, it might be something truly magical you’re missing out on.

Sources: My own experiences in working on projects using Selenium.

Don’t agree with the opinions expressed in this post? Have something to add? Please share your thoughts in the comments section below. I would love to hear from you.

Agile-Scrum vs. Reality

What is Agile-Scrum? Glad you asked. This is what Wikipedia says.

Scrum is an iterative and incremental agile software development framework for managing product development. It defines “a flexible, holistic product development strategy where a development team works as a unit to reach a common goal”, challenges assumptions of the “traditional, sequential approach” to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project.

If you’re too bored to read that, like me, here’s a gist. Agile-Scrum is a software development methodology which tackles the development of a software product in evolutionary terms. The development time is split into iterations and in the duration of each iteration, one or more requirements are implemented in the system. Pretty simple so far, isn’t it?

But there’s more to it. These requirements take the form of user stories. User stories are requirements stated in the perspective of the user, like this.

As a WordPress user
I should be able to post new content to my blog
So that I can reach my audience

So what’s the catch? The catch here is figuring out the user stories properly and having more than a handful of user stories to work with. So that’s fine, isn’t it? It doesn’t seem that hard to find a lot of user stories to implement the system. Right?

Well, not really. Hence the topic of this post. Number of user stories one can come up with depends on the nature of the project. If the software project is something similar to an Information Management System, which has to include a lot of user oriented features, using Agile-Scrum method will be perfect.

And there’s the other side of the moon; Projects which do not have many user oriented features, but one or two crucial ones. Like a Missile Targeting System. If the requirements are broken down into user stories, it’s hard to find a number of user stories to be spread out in the iterations since the user stories in question will be small in number but time consuming to implement. This will result in being unable to complete a user story at the end of an iteration and that particular user story being dragged through many iterations. This defeats the purpose of using Agile-Scrum methodology.

So what’s the lesson here? A lot of people and organizations push Agile-Scrum methodology on developers and sometimes developers themselves select Agile-Scrum methodology for development regardless of the project. Yes, Agile-Scrum is a great development methodology. But it’s not suitable for every software development project out there. And there may be better development methodologies that are better suited for the project in hand.

Thus analyze the project before selecting Agile-Scrum as your sole development methodology and make sure it is the best path to take. This will save you from future development headaches and will result in a more efficient and a fruitful development experience.

Think before you Scrum.

Sources: My own experiences in working on projects using Agile-Scrum methodology.

Don’t agree with the opinions expressed in this post? Have something to add? Please share your thoughts in the comments section below. I would love to hear from you.