Sunday, 8 November 2015

Discussions, Meetings, Emails & One-on-one

I have been thinking lately, how much average person in IT industry spent time in meetings /discussions in his/her entire career. Below tweet from friend leads to the inception of this post



I decided to break down the post in few questions which would help me to conclude by end of the  post
  1. Why we need meetings/discussions?
  2. What are we doing wrong about the meetings/discussions?
  3. What are possible alternatives to  meetings/discussions? - Emails & One-on-one
  4. What agile has to say about meetings/ discussions?
  5. How can you make meetings/ discussions fruitful?
Let's discuss this question one by one-


1. Why we need meetings/discussions?
       Below are the reasons I can think of why discussions/meetings are called for, in general:-
  • To bring every team member on the same page about a current status of Project.
  • To discuss and define the roadmap.
  • To have everyone's opinion & discuss possible options on particular problem
  • Discuss loopholes in the current processes.
And this list can go on and on ...but in general, these reasons are enough to have an idea what I'm talking about.


2. What are we doing wrong about the meetings/discussions?
        Do you found yourself in a situation where you wonder 'what you are doing in the meeting?'
        Do you hear voices in your head screaming 'what's wrong with these people, why are we wasting so much time?'

Take a deep breath, you are not alone. Here is the list of things that makes a meeting a wrong meeting.


  • Meeting/Discussion without an agenda - If you don't define the purpose of your meet, it's most certainly be unfruitful.
  • 11th-hour invite for a meeting - People leaving their desks with something in a mind and have no clear idea about the purpose of a meeting, It's going to be a disaster for them.
  • Accepting invitation without thinking - 'Do I really need to attend this meeting?
  • Sending a meeting request to everyone in a team instead of required stakeholders. - If you schedule a meeting for an hour for a team of eight members (1 * 8 =8hrs ), do you think it would be that productive as work of the single person in a whole day?
                        And that person can be anybody - a fresher who recently on boarded your team or principal architect of the project.


3.What are the possible alternatives to meetings/discussions? -     Emails & One-on-one



I was wondering isn't it entirely possible to remove discussions & meeting from software professional's calendar. So before actually writing this post, I started Q & A on WhatsApp with few intelligent minds. And below are few awesome replies. 

- "Email cannot always convey emotions or urgency,  even if a message is conveyed."
- "Language itself is ambiguous, body language & emotions helps while conveying matter."
-  "It is possible to convey priority over an email but its most likely impossible to convey severity."
- "Mail, Skype can help in communication but in person, face to face meetings / discussion helps to create bonding essential for a team."

All above point seems to be valid to me and yes at some point we must need to have meetings/discussions. We should set some rules/protocol/standards when to have a meetings/discussions, email & one-on-one.


4.What agile has to say about meetings/ discussions?

    Manifesto for Agile Software Development states that importance must be given to Individuals and interactions over processes and tools.

source :- LeadingAgile


Though Scrum, which is an agile software development model, have regular meetings like Stand-up meeting, Sprint review meeting & Retrospective meeting, according to manifesto one-on-one & discussion meeting should get preference over email.


5. How can you make meetings/discussions fruitful?
    
I would be doing a separate post on this ...




PS: - These are funny replies that I have received while doing WhatsApp Q&A, Hope you will enjoy it.











Friday, 25 September 2015

Summary of Dzone’s 2015 Guide to Code Quality and Software Agility


Recently  I went through ‘Dzone’s 2015 Guide to Code Quality and Software Agility’ and learned few things.
Summary points: –

  1. Quality is perception of individuals.[Quality is value to some person.]
    • In same product, the term quality used by individuals can mean different things.
      Example: –

    Different perspective about quality

      • Quality is more than just ensuring a lack of software defects. It can also include project cost, feature release time, and even team skill development.
    • Continuous Delivery for better software, faster
      • When organizations build quality into the product, they begin a virtuous cycle of better and faster releases.
      • Being time is factor in quality,  continuous delivery and automation is must for better software.
    • Your Code is like a Crime Scene
      • Sometimes, only a small percentage of the codebase is responsible for the majority of historic defects. By narrowing down their efforts, developers can often solve a large number of defects by working on a very small section of code.
    • Testing Practices can be improved using following techniques: –
      • Analyze “release day” emotions of team
      •  Pick one unanswered question that the team has at release.

    I also like article by Gerry Claps – ‘What Elon Musk Can Teach Us About Agile Software Development '    

    Wednesday, 9 September 2015

    Download and Configure Selenium with Intellij IDE.



                 In last post, you have learned how to create project in Intellij IDE. In this post, we will see :-
    • Download Selenium JAR

    • Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Index Page For Selenium Versions
      Configure Selenium JAR in Intellij IDE

    Downloading the Selenium/WebDriver 2:-
                Recently WebDriver committee has pushed WebDriver 3 in the beta, so Selenium 2 (also known as WebDriver) is not readily available for downloading under download section of official website. We have to click on previous releases link to download stable version of WebDriver which was 2.53.1

    Selenium Website
    Selenium Website

            
                   After clicking on previous releases, you will be navigated to index page which has enlisted previous version of WebDriver. Click on link 2.53 as shown in image.



    Click on link selenium-server-2.53.0.zip to start the download of required Selenium WebDriver.



    Download  Selenium
    Download  Selenium

    Zip file will start downloading after you click the link.

    Selenium Zip file is getting downloaded
    Selenium Zip file is getting downloaded

          You can find your zip file in your downloaded folder.

    Configure Selenium JAR in Intellij IDE:-
               Now that we have required JAR files with us we can configure those files in our Intellij IDE so we can start writing our first Selenium Script. We will create new folder libs in our project as shown in image.

    Create new folder in Intellij
    Create new folder in Intellij

    Our new project structure is now looks like as below:-

    Updated Folder Structure
    Updated Folder Structure

    We will copy all the jars from lib folder of downloaded zip to lib folder created under this project. Note that you have to copy both selenium jars along with all jar present in libs folder of zip file.


    Copying Jars from Zip folder to Project Folder.
    Copying Jars from Zip folder to Project Folder.

    You can see jars files are reflected under the project.

    Updated Libs folder
    Updated Libs folder


                We are just one step away from completing our configuration.  We need to add this jars file as Library for the project. Open Module Setting by Right Clicking on Project. Click on ‘+’ button and then click on first option ‘JARs or Directories’. Select the libs folder as directory and then click on OK button. Then Click on OK button.


    Open Module Setting in Intellij
    Open Module Setting in Intellij

    Add JARs or directories as dependency in Intellij
    Add JARs or directories as dependency in Intellij


    Select Libs Folder as dependancy
    Select Libs Folder as dependency

    Newly Added Dependancy
    Newly Added Dependancy

    Congratulations! You have configured Selenium JARs with Intellij IDE.
    Copyrights held by Amol Chavan. Powered by Blogger.