tag:blogger.com,1999:blog-9066018183349186582024-03-26T00:22:35.573-07:00Developers And Testers - A New Agile WorldAnonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-906601818334918658.post-16549232572241374692014-04-23T23:40:00.001-07:002014-04-23T23:45:57.526-07:005 annoying Linkedin Usability Bugs! Does Linkedin care to fix?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
This post was originally posted in <a href="http://www.linkedin.com/today/post/article/20140310131135-22558817-annoying-linkedin-usability-bugs?trk=object-title" target="_blank">Linkedin Publishing platform</a>.<br />
<br />
In this post I am going to write about some LinkedIn bugs that are annoying me for a long time or don't stand good from the usability standpoint. So here we go with the list.</div>
<h3 style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 1.5em; font-weight: normal; line-height: 27px; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
Numbering doesn't work</h3>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Irritation Quotient:</strong> 5/10</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Justification:</strong> As an upcoming blogger / writer it really pisses me off when I see that the contents that I typed in are not exactly in the same format as I typed. Why? Because presentation is the first thing that people notice. A blog post is only read if it appears beautiful / presentable (at least for upcoming bloggers/writers). OK. So what's the actual issue. Whenever I write few points and number them in the answers (Let's say 1,2,3,...) to group discussions, those numbers get displayed as 1, 1, 1, 1, 1, 1, 1... Oh my goodness! I am certainly better than this at numbering.</div>
<h3 style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 1.5em; font-weight: normal; line-height: 27px; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
Status Update takes a long time (for the first time when i sign)</h3>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Irritation Quotient:</strong> 3/10</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Justification: </strong>Whenever I do a status update, it takes a while before it shows up on the timeline. What's worse, there is no indication that I have updated something even after typing and pressing the Share button. But when I press Share the second time, it gives a message "The same message can't be posted twice"<br />
<br />
<a name='more'></a><br /></div>
<h3 style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 1.5em; font-weight: normal; line-height: 27px; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
Email update takes a long time</h3>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Irritation Quotient:</strong> 7/10</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
Justification: Many of the updates take a long time to reach my email. Those can be either updates to the group messages or updates to someone's profile info. Why it irritates me is that, an update mentioning someone has posted a new reply on the thread appears very late (sometimes days) in mail. I often get confused that whether it was a recent update or an older one. Linkedin, why are you confusing your users?</div>
<h3 style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 1.5em; font-weight: normal; line-height: 27px; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
Update always navigates us to the beginning of the group discussion</h3>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Irritation Quotient:</strong> 10/10</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Justification:</strong> This one is really really irritating. The scenario goes like this. There is a good conversation going on in a Linkedin group and I have participated in it with my own reply. So naturally linkedin shows the update whenever someone has replied in that thread. This is perfect. But when I click on the update, I get to see only the beginning of the discussion and I need to do a lot of scrolls to view the actual answers that got posted. Imagine a thread which has got more than 100 answers. I need to scroll many many times till I reach for the answer that I am actually looking for. Gosh. Really frustrating.</div>
<h3 style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 1.5em; font-weight: normal; line-height: 27px; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
Lacking consistency</h3>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Irritation Quotient:</strong> 2/10</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Justification:</strong> This is a minor one. There seem to be lack of consistency among identical features.<br />
To quote one example, the friend request feature works differently in different places.</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
1. When I view a profile and give a friend request through "Connect" button, it asks me all sort of questions like is he/she a school friend, college friend, colleague, etc. etc.</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
2. But once we add someone as a friend, Linkedin gives some recommendations for us (a list of profiles). If we give "Connect" in that screen to anyone, it sends the invite without asking any question whatsoever.</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
3. Again if we open any one those recommended profiles in the same page or a new page and then give "Connect" again, it shows the screen in step 1 (So we can't argue that Linkedin recommended friends don't get that screen)</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
These are from my frequently used LInkedin features. Probably there are more in other features as well which I am yet to explore.</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br />
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Question to Linkedin</strong></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
Are these going unnoticed or ignored because you are a monopoly in the Business Networking space?</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Question to the readers</strong></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
Which features of Linkedin you find very annoying or irritating? Please post them in the comments section.</div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><strong style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">About the Author</strong></em></div>
<div style="background-color: white; border: 0px; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 15px; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<div style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><i style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">Rajaraman Raghuraman is a passionate software craftsman with 8+ years of experience in the IT industry. He is also the owner of </i><i style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;"><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a> and author of an Ebook "<a href="http://programmersmotivation.com/" style="color: #888888; text-decoration: none;" target="_blank">Programmer's Motivation for Beginners</a>". </i><i style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">Connect with him on <a href="https://plus.google.com/+RajaramanRaghuraman?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></span></em></div>
</div>
</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com3tag:blogger.com,1999:blog-906601818334918658.post-54611839081628408042014-01-20T01:27:00.002-08:002014-01-20T07:41:11.622-08:00Biggest hindrances to being agile<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">I often wonder how projects fail to be agile enough even though the team consists of talented team members. So today I am planning to summarize few points that are the biggest hindrances to being agile in a team based environment.</span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">1. Laziness / Procrastination</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">I think this is by far the number one hindrance to being agile. This habit by individuals will result in a gap that widens with each work that is being delayed. Let me explain this a bit better. If you are part of a QA team, your responsibilities will primarily include testing of your module perfectly. Obviously everyone will do that. But automating the current testing will act as a regression suite for your future needs. How many of you would do that if automation is not mandated in your process? The answer is not all. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">So the laziness / Procrastination sets in and the gap widens with each delayed item. So unless automation is mandated, it will not be implemented by everyone. So the </span><a href="http://guide.agilealliance.org/guide/definition-of-done.html" rel="nofollow" style="font-family: Georgia, 'Times New Roman', serif;" target="_blank">Agile Definition of Done</a><span style="font-family: Georgia, 'Times New Roman', serif;"> should include all these nitty and gritty details that makes the entire process more agile.</span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">2. Lack of understanding</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Not everyone is comfortable with Agile concepts and the lack of understanding of Agile has a direct impact on the team performance. No Agile is almost always better than bad Agile. For example, trying to be Agile without giving importance</span></div>
<br />
<a name='more'></a><div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">3. Lack of engineering mindset</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">If you lack the engineering mindset, you will not give adequate importance to day to day efficiency improvements. For example, automating a setup or automating an installation for testing can't be done if the focus is not given on the engineering part.</span><br />
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-LWmXGQilhS0/Ut1DateIn3I/AAAAAAAAALo/qAALFbqX93k/s1600/hindrance.bl.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-LWmXGQilhS0/Ut1DateIn3I/AAAAAAAAALo/qAALFbqX93k/s1600/hindrance.bl.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image Courtesy: http://what-buddha-said.net/</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Georgia, 'Times New Roman', serif;"></span></div>
</div>
<br />
<br />
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">4. Comfort Zone</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Everyone likes certainty and look forward to a comfort zone. Once in that comfort zone, they don't try to come out of it as it is tried and tested. But the whole concept of Agile is to improve continuously, which means you have to come out of your comfort zone and try out newer things or to make that extra effort to make things better.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">So it might mean improving your process day by day, focussing lot on automation, refining of the user stories, changing management thinking and team thinking on Agile and even completely restructuring the team if required. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">5. Short Term thinking</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Let me give a typical example. Let's assume we have an installation process for our application and it takes approximately 2 hours for completion. Let's assume we need to test it almost daily assuming there is a daily build process in place. So let's assume you wish to automate it, but you don't because it takes around 3 days to automate it completely. Now you lose 2 hrs * 10 = 20 hours per sprint and you can't test it until your installation is over. So let's assume it affects a test team of 4 members. </span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Now we are literally wasting 80 hours per sprint whereas automation would take just 24 hours on the whole. So does it make sense to waste 80 hours per sprint till the product release or to spend 96 hours to completely automate the process which obviously save you plenty of hours from the forthcoming sprints. But many people think short term and forget the long term benefits. This is one of the biggest hindrances to being agile. As always it is always the small waste that accumulates quickly especially when it is repeated over and over.</span></div>
<br />
<div style="text-align: justify;">
<b style="font-family: Georgia, 'Times New Roman', serif;">6. Ego clashes</b></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">There might be ego clashes within the team and that can have a drastic effect on the team morale and hence the agility of the team. It is often forgotten that Agile is first of run by the people and if people are not motivated properly and there are ego clashes within the team to be resolved, then it makes sense to tackle those issues head on and solve them before even trying to do anything else.</span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Are there any other major hindrances to being Agile as a team? Please post your comments.</span></div>
<br />
<div style="text-align: justify;">
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has 8+ years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also the author of an Ebook "<a href="http://programmersmotivation.com/" style="color: #888888; text-decoration: none;" target="_blank">Programmer's Motivation for Beginners</a>". </i><i>Connect with him on <a href="https://plus.google.com/+RajaramanRaghuraman?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com2tag:blogger.com,1999:blog-906601818334918658.post-72156168172475895342013-12-30T02:07:00.000-08:002013-12-30T02:08:40.444-08:00Top 5 blog posts of 2013 - AgileDevTest<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Just a little recap, It's been nearly 11 months since I started the AgileDevTest Blog. This knowledge sharing and learning journey has been wonderful for me and hope my posts are informative to you. In case you are not satisfied with any of the blog posts, as always, please feel free to post your feedback either as a blog comment or you can also contact me directly in my <a href="https://plus.google.com/+RajaramanRaghuraman?rel=author" target="_blank">G+ account</a>. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
As we are approaching the end of 2013, I just wanted to share the top 2013 blog posts of AgileDevTest Blog. So here we go with the list</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>5. <a href="http://agiledevtest.blogspot.com/2013/10/free-e-book-programmers-motivation-for.html" target="_blank">Free Ebook for Beginner Programmers - Programmer's Motivation for Beginners</a></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This blog post is about my free Ebook "Programmer's Motivation for Beginners". More about this on the given link. This post received good welcome and is #5 in AgileDevTest blog 2013.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>4. <a href="http://agiledevtest.blogspot.com/2013/02/attitude-of-great-software-developer.html" target="_blank">Attitudes of a Great Software Developer</a></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This was my very first blog post in my own words. I had a sense of feeling that Developers needed to have certain attitude if they had to classify as Developers, this blog post throws some light on those thoughts. This is one of my personal best and it's #4 in AgileDevTest blog 2013.<br />
<a name='more'></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>3. <a href="http://agiledevtest.blogspot.com/2013/06/power-of-startup-culture-small-or-big.html" target="_blank">Power of the startup culture - Small or Big Organization</a></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This was probably my first post related to a startup team or small teams. And again it received good number of hits and reasonable engagement from the users. This is #3 in AgileDevTest blog 2013</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>2. <a href="http://agiledevtest.blogspot.com/2013/10/common-excuses-developer-makes-when.html" target="_blank">Common excuses a Developer makes when a feature doesn't work [And how to avoid them in the future]</a></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
A controversial blog post containing views from my own experiences of course, but it surely hurt a lot of sentiments and thus generated a mini controversy. Not everyone would agree with the viewpoints, but a good read nevertheless, and many people can relate the post to their experiences and lands #2 in AgileDevTest blog 2013.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>1. <a href="http://agiledevtest.blogspot.com/2013/08/agile-is-not-for-you-if.html" target="_blank">Agile is not for you IF</a></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Another controversial blog post, this time about Agile and more specifically intended to those who are actually not following Agile properly and just think Agile is just another 5 letter word. This post generated maximum number of views and stirred lot of discussion points and is the #1 post in AgileDevTest blog 2013.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Thanks for reading. With 2013 about to end, I wish everyone of you, a very happy and prosperous new year 2014.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hopefully in 2014, I would try to share more insightful posts in this wonderful journey.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
If you liked the blog posts, please share it with your circles. You can also stay updated with my latest blog posts by submitting your email id to the right in the "<b>Get Updates by Email</b>" section or click the below link:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<div class="p1">
<i><a href="http://feedburner.google.com/fb/a/mailverify?uri=DevelopersAndTesters-ANewAgileWorld">http://feedburner.google.com/fb/a/mailverify?uri=DevelopersAndTesters-ANewAgileWorld</a></i></div>
<div class="p1">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has 8+ years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also the author of an Ebook "<a href="http://programmersmotivation.com/" style="color: #888888; text-decoration: none;" target="_blank">Programmer's Motivation for Beginners</a>". </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-68414411354074014592013-12-04T07:01:00.001-08:002013-12-04T07:03:29.322-08:00Agile, Agile, Agile. What is so different about Agile for Developers and Testers?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
The word Agile has taken the software world by storm. Agile has grown well past it's hype cycle. People have got increasing awareness about Agile, however doubts still remain in several minds especially developers and testers. So what is so different about Agile and how does it matter if you are a developer or a tester?</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<strong>Fast Paced Environment</strong><br />
<strong><br /></strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
Typically Agile Environments are fast paced. It doesn't mean that there will be no breathing space. No. That is not the case. In good Agile environments, the outputs are faster. It takes lesser time to deliver same features in a good Agile environment.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>More focused results</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
The problem with many focus is that they try to do too many things at once. And many a times, multitasking is counter productive. That is both true for an individual or a project. So Agile puts more emphasis on providing proper attention to the things that really matter.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Focus towards customer rather than technical easiness</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Given a choice between easy for the customer vs easy for us, we almost take the latter option. And that makes sense sometimes, but not always. However in Agile Projects, customers are kings and if there is something that will be easier for the customer, we will do that even though it means that it might not be technically easy. There are of course technically infeasible aspects but that is a different point altogether.<br />
<a name='more'></a><br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Working software over comprehensive documentation</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
You might have seen this in the Agile Manifesto. What this means is that instead of hours and hours of documenting what we are going to do (Excessive planning and documentation), we will focus on developing the actual product or software. </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Think about it in this way, having a working software in 3 months (Even a very simple version) that the actual users can use is way better than writing very detailed requirement specifications, writing high level design documents, low level design documents, test plan documents, detailed test cases upfront lets say for 3 months. The working software provides user feedback whereas the excessive documentation doesn't do that.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Another common misconception is that Agile = No documentation. This is far from true. What Agile recommends is that working software over <strong>comprehensive documentation. </strong>So we will document whatever is really required or makes sense in the future but we are not going to waste time in documentation if we feel that it doesn't make sense in the future. It is as simple as that.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>User Stories instead of Detailed Specifications</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Since the primary focus is on the users of the software, User Stories will be defined instead of the detailed Requirement specifications. That makes it very simple for everyone, but its upto the developers and testers to understand more in detail about what user stories mean. So instead of defining the software in terms of the actual screens and fields, we are actually trying to define what the users are going to do.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Way of estimating changes</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Generally developers and testers are very familiar with estimating in number of hours. We follow popular methods like Functional point estimation, Test script point estimation, etc. However in Agile, we will be doing something very relative. Usually in Scrum (One of the Agile Methodologies), we have a practice of story points based estimation, wherein we will estimate based on the effort required for the User Stories. A popular way of estimation is Poker Estimation in Scrum.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>No detailed planning for 6 months</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Again the focus here is on working software instead of trying to do excessive planning for a long time. Because in software development life cycle, things can change fairly quickly because business requirements change frequently.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Long term solutions instead of quick fixes</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
In Agile, we focus on long term solutions to problems instead of building quick fixes. Occasionally we tend to do quick fixes, however we also think of a viable long term option. We understand that short term fixes will create bigger problems later on, and hence we will mitigate that risk.<br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Focus on automation</strong><br />
<strong><br /></strong>
One way we gain speed in Agile is by focussing on automation. You can automate basically everything right from your Unit Testing Execution, Code building, Code deployment, Code analysis, Running all sorts of tests, etc. The huge advantage of automation is that we can save a lot of redundant manual effort that can be used to better the quality of the product or software.<br />
<strong><br /></strong>
<strong>Process efficiency</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
In Agile, the focus will be more on improving the efficiency of the overall process being followed. That means trying to automate anything that's worth automating. That also means carefully inspecting what is going wrong, what is going right, etc. and try to make changes if something is not working.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong><br /></strong>
<strong>More collaboration</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
The very nature of Agile Projects is on collaboration, whether it is with the customers or among the team members itself. There should be no developer vs. tester battles. There should be no Project Manager Vs. Team battles. In fact it should be the opposite. Everyone should complement each other, so that they will collaborate and work towards a common goal.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong><br /></strong>
<strong>Smaller increments</strong></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
Problems with traditional development methodologies is that it tried to do too much at once. So as we were trying to solve bigger and bigger problems, we were taking big steps. But now with Agile, we will break down bigger problems into smaller ones and take smaller steps. It is easier to attack smaller problems one at a time than solving a big problem at one shot. So we develop and ship the product in smaller increments, typically a 2 week increment, but a completely working software.</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<strong>Less ego, more productivity</strong></div>
<div style="text-align: justify;">
<br />
When it comes to teams, ego is definitely a team spirit killer. And with Agile focussing on collaboration and the people aspect of it, we will need to keep aside our egos and look at solving the problems at hand as a team thereby increasing the productivity of self and the entire team.<br />
<br /></div>
<div style="text-align: justify;">
<strong>Ownership instead of blame games</strong></div>
<div style="text-align: justify;">
<br />
If anything goes wrong, the team as a whole takes ownership instead of playing the finger pointing game. That increases team morale and emphasizes the team to take ownership of the problems and the software.<br />
<br /></div>
<div style="text-align: justify;">
<strong>It's about working as a Team rather than in silos</strong><br />
<strong><br /></strong>
Generally in traditional teams, you tend to see people working in silos. In Agile, the emphasis is again on team work rather than working on silos. The advantage of not working in silos is that team members tend to support each other in case of trouble and tackle problems head on.<br />
<br />
Do you think there are any points that I missed to mention here? If you are a developer or a tester, what else do you think is different in Agile? Please shoot out your comments.<br />
<br />
If you found this post useful, please share it with your circles. You can also stay updated with the latest blog post by submitting your email id to the right in the <b>"Get Updates by Email" </b>section.<br />
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has 8+ years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also the author of an Ebook "<a href="http://programmersmotivation.com/" style="color: #888888; text-decoration: none;" target="_blank">Programmer's Motivation for Beginners</a>". </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-29381513021315571232013-11-13T18:53:00.001-08:002013-11-13T19:51:00.159-08:00What Software Developers can learn from Sachin Tendulkar's marathon career?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A great career is about to end. One filled with many many runs that even the best can only dream of. Yes, we are talking about the one and only Sachin Tendulkar. As he is retiring, I just thought of how much I learned by just watching him. That's when I realized why not pass that learning to others as well or at least highlight what we can learn from him. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span> </div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">This post is specifically dedicated to software developers. But this can be applied for anyone in any field.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"></span> </div>
<div style="text-align: justify;">
<span style="font-family: Georgia;">So what are the things that software developers can learn from this great guy? Here we go with the list.</span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;"></span></b> </div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;"></span></b> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://sportzwiki.com/cricket/wp-content/uploads/2013/10/Sachin-Tendulkar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://sportzwiki.com/cricket/wp-content/uploads/2013/10/Sachin-Tendulkar.jpg" width="320" /></a></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Passion for the game</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">One thing that is pretty to hard to beat this guy at a young age or even now is his passion for the game of cricket. He used to bat, bat and bat without getting tired at the nets day in and day out. He loved the game so much that he lived it. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly developers should be passionate about developing great software. It is the passion that keeps a man going and work never looks like work if you are passionate about it.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br />
<span style="font-family: Georgia, Times New Roman, serif;"> </span></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Natural Talent</span></b><br />
<a name='more'></a><br />
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">We have to accept that Sachin Tendulkar was naturally a very gifted player. That showed in his ability to dominate where other players surrendered. Though this may not be the only thing for software developers, surely natural talent will help them a lot. So identify your natural talent and march towards your career goals.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Hard work & dedication</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">If he won a lot of hearts and caught plenty of eyes at a young age due to his talent, his long and phenomenal career and outstanding performance throughout has been due to his hard work and dedication to the game. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly whether you are a developer, just have this in mind that only hard work and dedication will bring accolades in the long run, no matter how talented you are. </span><span style="font-family: Georgia, Times New Roman, serif;">So work hard at your skill till it reaps big rewards.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Brilliant at basics</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Sachin was a technically correct player, which meant he was pretty good at the basics of the game and had mastered it to perfection. That laid the platform for him to enhance his game multifold and whenever he is in a bad form, he would return back to his basics and set it straight. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly as a Developer, get good at your basics. Only when your basics are strong, you can really enhance your other skillsets and improvise on it. If you know how to program, you can easily learn many programming languages. If you know how basically objects work, you can design your architecture in a very flexible manner. So the point here is to get good at basics and master them. They are the foundation for your success.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Learning like a kid</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">It was not that Sachin didn't make any mistakes, but he learnt to correct them and adapted it. He was never afraid of learning the game of cricket. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A software developer should never stop learning till the end of their career. That is not only keep them relevant in the market, that is the only way they can keep themselves motivated. Try your hand at a new technology, new open source project, one which you have not tried before to enhance your skillsets.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Adaptability</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Sachin was extremely adaptable to different conditions. He succeeded in all the pitches in the world, be it the fastest, the bounciest, one that contained a lot of swing or spin and he also succeeded in all formats be it tests, one dayers or 20-20s. Similarly a software developer or a software tester should be adaptable to different projects, long term or short term, different technical challenges or work with different team members.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Understanding of the game</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Sachin was known for his deep understanding of the game, not just his batting. He read bowler's mind, he read the situation, he read the pitch, he read the opposition's strategy and tactics, he exactly knew when to target a particular bowler and exactly when to attack and when to play defense. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">These sort of skills are crucial in software development as well. First they need to understand how each and every move affects them in the long run and also take calculated risks and their implications for eg. Making a hot fix, Making a last minute change in the code, etc.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Handling pressure & Criticism</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">One aspect of his monstrous career is his ability to handle pressure and criticism throughout. The fact that Indian media and fans generally tend to overreact positively or negatively didn't help the cause much. However he was determined not to lose focus and took all the pressure and criticism and answered all his critics with immaculate performances throughout. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly developers should learn to manager pressure and handle criticism appropriately. It is not going to be a smooth ride, you might be criticized by your peers, leads, managers but you have to accept those and really come out with flying colours with your performance.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Being physically and mentally fit for the marathon career</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">The ability to stay focussed and fit for the duration is definitely worth admiring. So he had both physical and mental stamina to withstand the pressures and still deliver consistently over such long periods of time. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly developers should be fit physically and mentally so that they really can focus on the job at hand. Once you are fit, naturally you can overcome all sorts of challenges.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Ability to fight back</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">He was always known as a fighter. He faced tough injuries and a painful rehabilitation. But those didn't stop him from making a comeback. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly developers need to fight back from any situation. No matter how much pressure they have handled before, they need to withstand and come back great guns.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Dedication for the team</span></b></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">He is always dedicated to the team's cause. If he makes a hundred and India still lost, he will be deeply disappointed. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly developers should be dedicated to work for the team's cause. Because the team and the project is more important than anything else.</span></div>
<span style="font-family: Georgia, Times New Roman, serif;"></span><div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Mentoring</span></b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Sachin always mentored junior batsmen and taught them more about how to read a game and techniques that works for them, how to handle the pressures, etc. Almost all cricketers have learned a lot from him just by watching him, so you can imagine how much knowledge he must have imparted into the minds of the cricketers. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Similarly experienced and senior developers should focus on mentoring and coaching fellow juniors, so that they pass on their knowledge and skill to their juniors. Experience is a hard teacher and it is not required that the juniors also should learn from their experience only, they can learn from seniors also. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">
</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"><strong>Stick to what comes best to you</strong></span></div>
<div style="text-align: justify;">
<strong><span style="font-family: Georgia;"></span></strong><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;">Sachin was a very gifted player, however he didn't have a good stint as a captain of the Indian cricket team. There are several reasons to it. But the important lesson that he taught to others is even if you are the best batsman in the world, there is no guarantee that you can be a good captain.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;">Similarly all developers have numerous career paths to choose from. They can either go in the technical path wherein they become leads, architects, consultants, etc or they can go for the management path where they become leads, managers, senior managers, etc. The point here is stick to what comes best to you. That way, you will have a more fulfilling career.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia;"></span><br /></div>
<div style="text-align: justify;">
<br /></div>
<span style="font-family: Georgia;"></span><div style="text-align: justify;">
<span style="font-family: Georgia;">Do you think there are any other things that got missed out? Please shoot out your comments. If you found this post useful, please share it with your circles. Please leave your Email ID in the section "<strong>Get Updates by Email" </strong>to the top right to get regular updates from my blog (You don't need to pay a penny :) )</span></div>
<span style="font-family: Georgia;">
</span><br />
<div style="text-align: justify;">
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; margin: 0px; text-align: justify; text-indent: 0px;">
<strong><span style="font-family: Georgia;"><i><b>About the Author</b></i></span></strong></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; margin: 0px; text-align: justify; text-indent: 0px;">
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; margin: 0px; text-align: justify; text-indent: 0px;">
<span style="font-family: Georgia;"><i>Rajaraman Raghuraman has 8<complete id="goog_942166067">+</complete> years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also an author of a free Ebook "<a href="http://programmersmotivation.com/" target="_blank"><span style="color: #2288bb;">Programmer's Motivation for Beginners</span></a>". </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></span></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-81938101362194761612013-11-05T07:21:00.003-08:002013-11-05T07:22:28.039-08:0014 Code Refactoring smells you can easily sense and What you can do about it?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif; line-height: 115%;">This post is specifically intended to Project Managers although developers and testers can also get reasonable inputs from this post. Generally projects tend to accumulate a lot
of <a href="http://en.wikipedia.org/wiki/Technical_debt" target="_blank">technical debt</a> over time if <a href="http://en.wikipedia.org/wiki/Code_refactoring" target="_blank">refactoring </a>is not applied and if good coding
practices are not followed. It is
imperative that as a Project Manager you should understand this and deal with
it effectively. This is especially true
in an Agile Project, where there is constant delivery of features and you would
be surprised how quickly code quality can take a beating in if proper measures
are not taken. So what are the signs you
can observe that your project’s code needs refactoring and what you can do
about it?</span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team is
taking more time than expected to deliver features<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">This is
probably the number one smell that a Project Manager can look out for in a
project. As a Project Manager you sense
that a certain feature should not take so much time, yet it takes that time. You talk to the team and they often give you
a detailed explanation of how much change the feature needs to undergo and how
it affects other features. That is one
of the sure smell that indicates that the code needs refactoring<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Plenty of
bug fixes after delivery<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">On one end,
the code delivery is being delayed and at another end, there will be a lot of
bugs too after delivery. If you have
observed this, then it is a sure sign that your project’s code needs
refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Build
Quality is on a decreasing trend<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">This is one
of the excellent smells that surely indicate the need for refactoring. If we try to build on bad code, the code
quality will get reduced and this trend continues till we attempt to put a stop
to it. If you observe this as a Project
Manager, then you need to put a stop to it.</span></span><br />
<a name='more'></a><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;"><o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team is
increasingly frustrated to make changes in code<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Team get
frustrated with making changes to the existing code as they worry that it might
break some other parts of it. If you
observe this, you can be rest assured that the code needs refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team is
reluctant to touch certain areas of code<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Some areas
of code is better left untouched, that is a classic case of legacy code. You can surely tell that we need refactoring
if the team is reluctant to touch certain areas of code. If you observe this, you can be pretty sure
that code area is brittle and team lacks confidence in it. However if refactored, things can be improved.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team
members are very comfortable with working in their respective modules<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">This may
not be true in all cases, but it is true in some. Team members are very knowledgeable in their
area of code, and even though their modules contain bad code they know the tweaks of the
code and can effectively hack it away to make the changes. Although this may not be The sign, it does
tell you the fact that things are probably not that right and it needs some
action.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team
members are reluctant to give estimates (Even tentative ones) to make changes<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">When you
are reasonably sure of the architecture and code design, you can give more or
less good estimates or at the very least dare to provide estimates. But in case of code that needs refactoring,
the team members will be reluctant to give estimates because they are not sure
of the impact that it might have on the other areas.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team
members often have the opinion that starting fresh is better than working with
the existing code<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">If any of
your team members feel this, then surely you need to take a big decision or at
least start refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team
members often ask for extra time to refactor code<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">As a
project manager, you need to often look for this cue as team members know that
they are trying to deliver on time, but could not due to the quality of the
code. So they ask for that extra time
for refactoring the code. If that extra time is not allocated, then it ends up messing up the things further and will cause further damage to the code quality.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Team
members take long time to debug a problem<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">This is
also another sign that the code needs refactoring. Usually when the quality of code is not good,
it takes a lot of time to find where exactly the bug occurred and takes a lot
of time to fix it as well. If you
observe this, you need to definitely take a closer look and have the team
analyze the root cause for this.
Invariably it will be lack of refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">Fixing bugs
invariably introduces other new bugs<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">When the
code quality is not good, fixing bugs in one place tends to open up new bugs in
other places/areas of code. This is a
good sign that the code needs refactoring.
If you observe this, you can be sure that the code is very brittle and
needs refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">If you try
to read the code and find out that it is not readable<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">You might
not be technically adept at all programming languages. But if you read through the code and find
that you find lots of <o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><!--[endif]--><span style="line-height: 115%;">Unreadable
code<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><!--[endif]--><span style="line-height: 115%;">Long
methods<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><!--[endif]--><span style="line-height: 115%;">Long
parameter lists<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><!--[endif]--><span style="line-height: 115%;">Inappropriate
variable names & method names<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; text-align: justify;">
<span style="line-height: 115%;"><span style="font-family: Georgia, Times New Roman, serif;">These are some simple checks and sure signs that the code
needs lot of refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">If team
members are making same changes in multiple places<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">One of the
common characteristics of code that is not refactored is that there tend to be
lot of duplicate code across the areas.
If that is the case, even a small change will need to be applied to all
those areas resulting in duplicate effort.
So if the team members complain of making same changes in multiple
places, then there is a good chance that the code needs refactoring.<o:p></o:p></span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><b><span style="line-height: 115%;">If all or
most of your tests are covered by functional testing<o:p></o:p></span></b></span></div>
<div class="MsoListParagraphCxSpLast" style="margin-left: 1in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">When code
is not very well designed, it can’t be driven by unit tests or unit integration
tests. So you end up making all your
test coverage at the functional level.
This is a sure sign that your code design needs refactoring.<o:p></o:p></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="line-height: 115%;"><span style="font-family: Georgia, Times New Roman, serif;">So now you have sensed that something is wrong and your code
needs refactoring. So what you can do
about it?</span></span></div>
<ul style="text-align: left;">
<li><div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Discuss with the team and find out where they are stuck and why they are stuck<o:p></o:p></span></span></div>
</li>
<li><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Ask them to do a root cause analysis<o:p></o:p></span></span></div>
</li>
<li><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">If the team is not able to figure it out in the worst case, hire an external consultant who can give valuable insights/feedback<o:p></o:p></span></span></div>
</li>
<li><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Identify critical areas that needs to be refactored the most<o:p></o:p></span></span></div>
</li>
<li><div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Put up a plan for Refactoring<o:p></o:p></span></span></div>
</li>
<li><div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">·<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Start with refactoring them<o:p></o:p></span></span></div>
</li>
</ul>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="line-height: 115%;"><span style="font-family: Georgia, Times New Roman, serif;">From a Project Manager’s perspective, Refactoring old code is
an overhead but you need to treat it like an investment for the future and a
means of improving Agility of the team.
So what you can do to refactor existing code. Here are some ideas.</span></span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Refactor Sprint<o:p></o:p></span></strong></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Have a
sprint dedicated to Refactoring. This
might be difficult to pull off due to business reasons, but if you can pull
this off this is a worthwhile investment.
You will be surprised how much code you can end up improving in a sprint
duration.</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Refactor Week<o:p></o:p></span></strong></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">If not an
entire sprint, try for at least a weeks time for refactoring. It will save you some amount of effort later
on.</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Refactor Day<o:p></o:p></span></strong></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">This can be
introduced once in a while when you feel equally bogged down by pressures of
deadline and yet you want to accomplish decent quality. </span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Refactor Hour<o:p></o:p></span></strong></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">If you
can’t dedicate long periods of time for refactoring, dedicate an hour every day
for Refactoring. Also ensure that this
hour is used only for refactoring and not for any other activity. Once you do this for a couple of sprints, you
will quickly start to realize some benefits, depending on the size of the
project.</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Make it a habit<o:p></o:p></span></strong></span></div>
<div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span><!--[endif]--><span style="line-height: 115%;">Educate the
team to make refactoring a regular habit along with coding. Team needs to understand that the extra time
investment is really worth it as it will make all future changes much easier.</span></span></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><strong><span style="line-height: 115%;">·<span style="line-height: normal;">
</span></span><!--[endif]--><span style="line-height: 115%;">Agile Engineering Best Practices</span></strong></span></div>
<div class="MsoListParagraphCxSpLast" style="margin-left: 1in; mso-add-space: auto; mso-list: l1 level2 lfo2; text-align: justify; text-indent: -0.25in;">
<!--[if !supportLists]--><span style="font-family: Georgia, Times New Roman, serif;"><span style="line-height: 115%;">o<span style="line-height: normal;"> </span></span></span><span style="line-height: 115%;"><span style="font-family: Georgia, Times New Roman, serif;">Try to
follow Agile Engineering best practices like Automated Unit Tests, TDD which naturally emphasizes
Refactoring.</span></span><br />
<span style="font-family: Georgia;"></span><br />
<span style="font-family: Georgia;">The idea is to give a start to the Refactoring activities and make small regular improvements to the code. By making it a habit, you can easily keep check of the code quality and can utilize the time and effort gained (later on) for something more meaningful.</span><br />
<span style="line-height: 115%;"><span style="font-family: Georgia;"></span><span style="font-size: x-small;"><o:p></o:p></span></span><br />
<br />
<span style="font-family: Georgia;">Do you think there any other refactoring smells that you sense? If so, please shoot out your comments. If you found this post useful, please share it with your circles. You can stay updated with the latest blog post by simply submitting your email id to the right in the "<b>Get Updates by Email</b>" section.</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-68124057561554600722013-10-29T21:49:00.001-07:002013-11-13T18:37:57.278-08:00Common excuses a Developer makes when a feature doesn't work [And how to avoid them in the future]<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">I always feel that Developers should have an attitude for development, which I have detailed in the blog post <a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-developer.html" target="_blank">Attitudes of a Great Software Developer</a>. But generally when it comes to issues, a lot of developers make excuses. As long they are genuine, it is not a matter of concern however if it is really an Excuse, then it is a cause for concern for the entire team. I am guilty of a few of those myself however when I saw the big picture, I rectified those and understood why people make those excuses and how we can avoid them in the future. I am detailing a few in my below post.</span><br />
<span style="font-family: Georgia, "Times New Roman", serif;"><br /></span>
<span style="font-family: Georgia, "Times New Roman", serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>1. It works fine in my machine</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Come on guys, this is the number one excuse that developers give. We often have a feeling that testers or the customers have a magical computer which injects bugs into our code. But that is far from true.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>The only way to avoid this excuse is to be aware of the environments that are used for development, testing and production. By being aware of those, the first thing you would probably ask is, what sort of configuration/environment it is and get more details about the issue and check if it is really a valid bug. Another way to avoid this is to have a Continuous Integration environment, where with each and every code check-in, code is compiled and deployed in some test machines.</em></span></div>
<div style="text-align: justify;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-KSk5PgcX26c/UnCO74qrEnI/AAAAAAAAAKk/JxpuQRIGKiU/s1600/weeklyrant_developersexcuses.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="163" src="http://1.bp.blogspot.com/-KSk5PgcX26c/UnCO74qrEnI/AAAAAAAAAKk/JxpuQRIGKiU/s320/weeklyrant_developersexcuses.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image courtesy: cheatcc.com</td></tr>
</tbody></table>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<br />
<a name='more'></a><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>2. Do you have the latest build?</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">This is another excuse that developers give. Not having the latest build to test or testing a wrong build can sometimes be the reason for such excuses. However it may not be the case always.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>The only way to avoid this is to have a process in place that will verify if the build that the testers are testing is a valid one and is the latest. One way of doing this is to have a continuous integration process wherein code gets automatically built and deployed on test machines automatically. That way the process makes sure that the build is the latest build. Another way to ensure this is to verify the build numbers that is currently being tested or deployed, if this matches with the devs, then you can be sure that this is not the issue.</em></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>3. Must be a configuration issue.</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">If you told me this, I would reply "Oh yeah. May be it is a configuration issue. So can you point out what exact configuration changes that I need to do make it work?" :) and it's likely that you also would ask a similar question if faced with this situation. So as you can see, people need specific answers not generic ones. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>Best way to avoid this to have all the configuration related parameters defined in a separate configuration file, and have dynamic values written in some log file so that it can be referred in case of any confusions. By having it in a documented format at runtime, chances of errors are minimal and even if the issue is due to a configuration issue, we can easily find that out.</em></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>4. Please raise a defect, I will check it</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">From my point of view, raising a defect without even confirming whether it is a defect or not, sounds trouble to me. The trouble can be either in the process that is being followed or the coordination between the dev and the testers. Typically Dev and testers should join hands in case testers are not able to really drill it down if it is a defect or not.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>One way to avoid this is to have a good team morale and collaboration between the developers and the testers. In that way, they will discuss and try to figure out whether it is actually a defect.</em></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>5. Try restarting your machine :P</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">This is one of the killer excuses that the Developers make. I have also done this. Yeah, it does happen with Microsoft related technologies for some reason (I used .net predominantly in my previous projects) and very rare occasions this excellent and well thought out, scientifically proven method works with Windows :P, but most of the times it is false.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>One way to avoid this to be again aware of the environment and the functionality and the architecture and the code design. By being aware we can identify whether it is actually an issue or not.</em></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>6. I am not sure why it isn't working. Let me check it</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">I hate this excuse when it comes from a developer. If as a developer, you are not sure as to why a particular thing is not working, then either you have not understood the functionality correctly or you are not aware of the code design</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>One way to avoid this to have a mental map of the modules and once the issue is told, the dev needs to analyze it immediately and find out where the likely problem would be. Not being sure of where the problem might occur is a cause for concern either due to badly designed code, poor code or lack of understanding of the functionality or the modules.</em></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>7. It worked fine just 5 minutes back</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Wow. How sweet. I think you have put in a time bomb in there that made it not to work after 5 minutes.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>One way to avoid this is to be aware of the fact that the code doesn't change with time unless it is time specific code. So any other functionality will not have such variable behaviors.</em></span><br />
<span style="font-family: Georgia, "Times New Roman", serif;"><em><br /></em></span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>8. I don't think there's fault with my code</strong></span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">This is another answer I generally wouldn't give if I am faced with the situation. I believe there is nothing called my code especially in a team environment. I would rather say maybe something is wrong with this so and so module. This is trying to find a person to blame and this is definitely not in the best interest of the team morale.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><em>One way to avoid this is to embrace team culture and also rotate the developers among different modules so that no one takes ownership of a particular module and hence everyone knows about the entire code base.</em></span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia;">What other excuses do developers make and how to avoid them in the future? Please shoot out your comments below. If you found this post useful, please share it with your circles.
You can stay updated with the latest blog post by simply submitting your email
id to the right in the section "<b>Get Updates by Email"</b></span><br />
<span style="font-family: Georgia;"><b><br /></b></span></div>
<div style="text-align: justify;">
<strong><span style="font-family: Georgia;">Related posts</span></strong><br />
<strong><span style="font-family: Georgia;"><br /></span></strong></div>
<div style="text-align: justify;">
<a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-developer.html"><span style="color: #2288bb;">Attitudes of a Great Software Developer
!!!</span></a><br />
<br />
<span style="color: #2288bb;"><a href="http://agiledevtest.blogspot.in/2013/04/the-art-of-debugging.html">The art of debugging</a></span><br />
<br /></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="color: #2288bb;">Free E-Book - Programmer's Motivation for
Beginners</span> <br />
<span style="color: #2288bb;"><br /></span></div>
<div style="text-indent: -15px;">
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<strong><span style="font-family: Georgia;"><i><b>About the Author</b></i></span></strong><br />
</div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<span style="font-family: Georgia;"><i>Rajaraman Raghuraman has 8<complete id="goog_942166067">+</complete> years of
experience in the Information Technology industry focusing on Product
Development, R&D, Test Data Management and Automation Testing. He has
architected a TDM product from scratch and currently leads the TDM Product
Development team in an IT MNC. He is passionate about Agile Methodologies and
is a huge fan of Product Development, Agile Development and Agile Testing. He
blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also an
author of a free Ebook "<a href="http://programmersmotivation.com/" target="_blank"><span style="color: #2288bb;">Programmer's Motivation for Beginners</span></a>". </i><i>Connect with
him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></span></div>
</div>
</div>
<strong><span style="font-family: Georgia;">
</span></strong></div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com17tag:blogger.com,1999:blog-906601818334918658.post-15432526447550622382013-10-15T21:33:00.003-07:002013-10-28T20:20:19.811-07:00How to improve agility of an Agile Team<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Often as an Agile Project Manager or an Agile Scrum Master, your very first challenge is to improve the agility of teams. Before we try to go to the core topic, we will try to define what is Agility?</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Wikipedia defines Agility as</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: Georgia, "Times New Roman", serif;">"Agility or nimbleness is the ability to change the body's position efficiently, and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, and endurance"</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">From the definition, it is quite clear that Agility is a function of lot of factors such as Balance, Coordination, Speed, Reflexes, Strength and Endurance.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">So in this article, I will try to post my thoughts on how to improve Agility of a Team in my own words of course and out of my experience.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>1. Change their mindset</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Agile is a lot about mindset. Once someone is into that mindset, obviously he/she will contribute the best to the team's cause and thereby it will increase the speed and also the agility of the team.</span><br />
<span style="font-family: Georgia;"></span> </div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>2. Change your mindset</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Acknowledge the fact that you need a mental conditioning as much as the team. First of all, try to understand what Agile is all about and how it benefits the different stakeholders in the teams. Try to understand that Agile is not a miracle game and it takes time, proper execution, support from every team member and support from team as a whole to reap its benefits.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>3. Improve collaboration</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Agile is lot about team working together to complete challenging tasks rather than several team members working in silos. Emphasize the fact that Agile is a team game. So Improve the collaboration among the team members, ask them to pair up for some problems and encourage good collaborative team work and make collaboration a habit.</span></div>
<div style="text-align: justify;">
<br />
<a name='more'></a><br />
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>4. Improve the engineering practices</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Agile is lot about being nimble, which means that unless proper engineering practices are followed, it may not be very helpful to the team. If all team members have the right mindset but lack the engineering practices, then that will be a bottleneck to agility.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>5. Focus on knowledge sharing</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Knowledge shared is knowledge gained. The problems with traditional teams was that everyone worked in silos and very few members shared their knowledge. But the main focus of an Agile team is to share the knowledge it gained among its team members so that as a team, they will be in a better position to respond to uncertainties. As they say, Knowledge is Power. The more as a team they know, the better inputs they have to solve the problems at hand.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>6. Continuous learning</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">The more you learn, the more you know and the more you can share. One of the strengths of good Agile teams is that they focus on continuous learning. As teams continuously learn it enhances the knowledge and hence provides a competitive atmosphere for learning and knowledge sharing.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>7. Embrace changes and new ideas</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Often the team knows what is going well and what isn't and what needs to be changed. So give a thought to those ideas and you might see a whole lot of improvements in the Agility. Embrace changes from the teams also.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>8. Strike the right balance between process and innovation</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Processes are required to a point to define some standards and to mechanize certain parts of the life cycle. But over reliance on processes will make the project boring and there will be no scope for innovation. And focus too much on innovation, you tend to lost of the current goals. So try to balance between process and innovation. By that way, you will improve the agility without hurting the current goals and also the innovative ideas of teams.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>9. Give the team proper coaching</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">Unless the team understands the benefits of Agile for them, the customers and the project as a whole, it will be difficult to get a buy in from them. So give them proper coaching on what is Agile all about and what are the areas of focus. By understanding, they will try to realize what their roles should be to improve the agility.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>10. Take it slow, Embrace the power of small wins</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">There is no point in rushing. As already put forward, Agile is not about miracles overnight. It can be beneficial in the long term, but for that to happen, start small and keep on improving. Try to identify areas that can be improved and do it one step at a time. That is when the power of small wins come into picture and the team will get a natural way of progression.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;"><strong>11. Remove impediments for the team</strong></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, "Times New Roman", serif;">One of the biggest Agility killers is the impediments for the team. Impediments can be in terms of technical challenges, unwanted distractions from the product roadmap, no clear vision of product goals, waste of time due to lack of effective engineering practices, lack of automation, lack of team work and collaboration, and so on. Removing these impediments will reduce the friction so that the wheels of Agile can move smoothly.</span><br />
<span style="font-family: Georgia;"></span><br />
<span style="font-family: Georgia;"></span><br />
<span style="font-family: Georgia;">Thanks for reading. Hope this post was useful. Do you have any other ideas on how to improve Agility of teams? If so, please shoot out your comments. As always comments and critiques are welcome. If you found this post useful, please share it with your friends or circles. You can stay updated with the latest blog post by simply submitting your email id to the right in the section "<b>Get Updates by Email</b>".</span><br />
<span style="font-family: Georgia;"></span><br />
<span style="font-family: Georgia;"><strong>Similar posts</strong></span><br />
<span style="font-family: Georgia;"></span><br />
<a href="http://agiledevtest.blogspot.in/2013/08/agile-is-not-for-you-if.html" target="_blank">Agile is not for you IF</a><br />
<br />
<a href="http://agiledevtest.blogspot.in/2013/07/scrum-meeting-are-you-kidding-me.html" target="_blank">Scrum Meeting. Are you kidding me?</a><br />
<br />
<a href="http://agiledevtest.blogspot.in/2013/03/11-areas-agile-project-manager-needs-to.html" target="_blank">11 Areas that an Agile Project Manager needs to focus</a><br />
<br />
<div style="text-indent: -15px;">
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has nearly 8 years of
experience in the Information Technology industry focusing on Product
Development, R&D, Test Data Management and Automation Testing. He has
architected a TDM product from scratch and currently leads the TDM Product
Development team in an IT MNC. He is passionate about Agile Methodologies and
is a huge fan of Product Development, Agile Development and Agile Testing. He
blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also an author of a free Ebook "<a href="http://programmersmotivation.com/" target="_blank">Programmer's Motivation for Beginners</a>". </i><i>Connect with him
on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com2tag:blogger.com,1999:blog-906601818334918658.post-58161243886165968522013-10-11T06:27:00.002-07:002013-10-30T20:20:59.814-07:00Free E-Book - Programmer's Motivation for Beginners<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Hello everyone</span></div>
<span style="font-family: Georgia, 'Times New Roman', serif;"></span><br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">I am proud to present my first E-Book which I have compiled based on my experience in the Software industry. This book contains valuable piece of information and learning that will be very useful to those who are starting out their careers and also some intermediates. This is a very short E-Book (40 pages) and spans across these following chapters.</span></div>
<br />
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;">Chapter 1 – What I learnt
from my first real working code</span></div>
<div class="MsoToc1">
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><span class="MsoHyperlink">Chapter 2 - How to learn
programming</span><o:p></o:p></span></div>
</div>
<div class="MsoToc1">
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><span class="MsoHyperlink">Chapter 3 – Thoughtful quotes
for programmers</span></span><br />
<a name='more'></a><span style="color: red; font-family: Georgia, 'Times New Roman', serif;">Chapter 4 - Simple
Programming Tips</span></div>
</div>
<div class="MsoToc1">
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><span class="MsoHyperlink">Chapter 5 - Attitudes of a
Great Software Developer</span><o:p></o:p></span></div>
</div>
<div class="MsoToc1">
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><span class="MsoHyperlink">Chapter 6 - Skills for a
Great Software Developer</span><o:p></o:p></span></div>
</div>
<div class="MsoToc1">
<div style="text-align: justify;">
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><span class="MsoHyperlink">Chapter 7 - Team work in
programming</span><o:p></o:p></span></div>
</div>
<div style="text-align: justify;">
<span class="MsoHyperlink"><span style="color: red; font-family: Georgia, Times New Roman, serif; line-height: 115%;">Chapter
8 – The art of debugging</span></span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br />
<strong>You should read this E-Book if</strong><br />
<br />
You are a beginner in programming<br />
You are passionate about software development<br />
You want to know what it takes to become a great software developer<br />
You want to know what skills are required to become a good software developer<br />
You want to learn more about real time tips in software development<br />
<br /><strong>You should not read this E-Book if</strong><br />
<br />
You are not passionate about software development<br />
You are just interested in earning money out of software development and not in improving yourselves<br />
You are looking for shortcuts to software development success<br />
You want to focus only on programming and not learn what it takes to be successful</span><span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span> </div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Grab your free copy now by visiting <a href="http://www.programmersmotivation.com/" target="_blank">http://www.programmersmotivation.com</a> or by clicking the image below. 4000+ have already downloaded.</span></div>
<br />
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/--3-uULMClgs/Ulf6LXmd1tI/AAAAAAAAAKQ/k3EEHJQ8Hk8/s1600/cover.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Georgia, Times New Roman, serif;"></span></a><span style="font-family: Georgia, Times New Roman, serif;"></span><br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><a href="http://www.programmersmotivation.com/" target="_blank"><img border="0" height="320" src="http://1.bp.blogspot.com/--3-uULMClgs/Ulf6LXmd1tI/AAAAAAAAAKQ/k3EEHJQ8Hk8/s320/cover.jpg" width="276" /></a></span></div>
<br />
<br />
<div style="text-align: justify;">
<br />
<span style="font-family: Georgia, 'Times New Roman', serif;">Also available at the following places:<br />
<br />
<a href="http://www.lulu.com/shop/rajaraman-raghuraman/programmers-motivation-for-beginners-real-learning-stories-tips/ebook/product-21227012.html" target="_blank">Lulu</a><br />
<br />
<a href="https://itunes.apple.com/us/book/programmers-motivation-for/id724976990?mt=11" target="_blank">Apple iBookStore</a><br />
<br />
<a href="http://pothi.com/pothi/book/ebook-rajaraman-raghuraman-programmers-motivation-beginners" target="_blank">Pothi</a></span></div>
<div style="text-align: justify;">
</div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><b>Some reviews for the book :</b></span></div>
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span><br />
<div style="text-align: justify;">
<i style="font-family: Georgia, "Times New Roman", serif;">"While this book doesn't teach you how to write programs, it teaches many concepts that should be considered by every developer. I'm still on my way from beginner to intermediate programmer, and I can recommend this to everyone from aspiring neophytes to enterprise codemasters. Everyone will find something useful for them in this publication. And It's free."</i><span style="font-family: Georgia, 'Times New Roman', serif;"> - </span><b style="font-family: Georgia, "Times New Roman", serif;">Felix Scalar, on the way to Intermediate Programmer</b></div>
<br />
<span style="font-family: Georgia, 'Times New Roman', serif;"></span><br />
<div style="text-align: justify;">
<i style="font-family: Georgia, "Times New Roman", serif;">"Good job with the book. I read it. It is not only proper for beginners but can be useful for advanced programmers too. It helps all programmers to be more thoughtful toward themselves, the code, the team, the project time, and to their customers"</i><span style="font-family: Georgia, 'Times New Roman', serif;"> - </span><b style="font-family: Georgia, "Times New Roman", serif;">TarekHoteit, a Programmer</b></div>
<br />
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, 'Times New Roman', serif;">Please take your time to read this book and send me your valuable feedback. Comments and Critiques are welcome as always.</span><br />
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span>
<span style="font-family: Georgia, 'Times New Roman', serif;">Please share this post to your friends. Stay updated with the latest posts from this blog by submitting your email id on the "<strong>Get updates by email</strong>" section on the right.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Regards</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Rajaraman Raghuraman</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">http://www.programmersmotivation.com</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com7tag:blogger.com,1999:blog-906601818334918658.post-18439156569678323162013-09-15T08:31:00.000-07:002013-09-15T08:36:28.409-07:00Test Like a Villain!!<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Georgia, Times New Roman, serif;">Welcome to AgileDevTest. In this post, I am trying to project a Villain's mindset and how it resonates with a Tester's mindset, of course in my own point of view.</span><br />
<br />
<iframe frameborder="0" height="400" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/26208731" width="476"></iframe>
<br />
<br />
<br />
<span style="font-family: Georgia, Times New Roman, serif;">Do you have any other points of view? Please let me know. Comments and critiques welcome!</span><br />
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-12772279659335213802013-08-01T20:39:00.001-07:002013-10-28T20:15:36.942-07:00Agile is not for you IF<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">In my previous posts I have tried to put forward my points on <a href="http://agiledevtest.blogspot.in/2013/02/what-agile-project-needs-for-success.html"><span style="color: #2288bb; font-family: Times New Roman;">What an Agile Project needs for success</span></a>, <a href="http://agiledevtest.blogspot.in/2013/03/11-areas-agile-project-manager-needs-to.html"><span style="color: #2288bb; font-family: Times New Roman;">11 areas an Agile Project Manager needs to focus o...</span></a> and <a href="http://agiledevtest.blogspot.in/2013/07/scrum-meeting-are-you-kidding-me.html"><span style="color: #2288bb; font-family: Times New Roman;">Scrum meeting. Are you kidding me?</span></a></span><br />
<span style="font-family: Georgia, 'Times New Roman', serif;"></span><br />
<span style="font-family: Georgia, "Times New Roman", serif;">In this post I am going to describe in my own words and experiences that Agile is not for you if you are among the following category.</span><br />
<br />
<span style="font-family: Georgia, 'Times New Roman', serif;">1. If you are not willing to change your mindset and continue to work the same way, you did before</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">2. If as a manager, you think people are resources</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">3. If as a developer, you think your job is just to code by specifications</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">4. If your organization is run by bureaucrats</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">5. If your team is not mature enough to handle changes frequently</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">6. If you want to deliver something fixed within a fixed time frame</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">7. If you can't have customer or Product Owner inputs on a regular basis</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">8. If you have fairly straightforward requirements</span><br />
<a name='more'></a><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-gwbM5p0epKM/UfsqoQfuHSI/AAAAAAAAAJI/LsNnjlYN1Ig/s1600/Agile-Development.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="153" src="http://1.bp.blogspot.com/-gwbM5p0epKM/UfsqoQfuHSI/AAAAAAAAAJI/LsNnjlYN1Ig/s320/Agile-Development.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image Courtesy: utest blog</td></tr>
</tbody></table>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">9. If you think you can attend an Agile Training and everything will fall in place</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">10. If you believe in strong team hierarchy</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">11. If you think you are better individually rather than working in a team</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">12. If you think you can be agile enough without following the engineering best practices</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">13. If you are not ready to tailor your process to suit your project needs</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">14. If you think Agile is standard across organizations, across teams, across the industries</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">15. If your scrum master doesn't have servant leadership skills</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">16. If you take short cuts very frequently instead of thinking a long term solution</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">17. If you think it is still better to just honor the contract rather than listening to the customer</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">18. If you think automation is a waste of time</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">19. If you think you can automate everything and don't need manual testers</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">20. If you think it is not required to balance between people, process and tools</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">21. If you think you can be agile without having proper code quality</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">22. If you take so much pride in your work and doesn't take criticism</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">23. If you think you can implement Agile in an already affected team morale and still manage to provide better outputs</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">24. If as a project manager, you think writing automated unit tests, following TDD are an overhead instead of an investment for the future.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">25. If as a project manager, you think there is nothing called as Technical Debt or worse don't understand what it is.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">26. If as a developer, you think the customer is stupid</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">27. If as a tester, you think your work is just about writing test cases and test execution and not in giving quality related feedback</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">28. If you think DEVOPS is a fancy term used in the software development industry and you don't need it.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">29. If your management expects miracle out of Agile</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">30. If your business requirements are fairly static</span></div>
<br />
<span style="font-family: Georgia, Times New Roman, serif;">Do you think there are other areas that I might have missed out or are there any points that you do not agree with? Please feel free to shoot those out in the comments below. If you found this post useful, please share it with your friends or circles.
You can stay updated with the latest blog post by simply submitting your email
id to the right in the section "<b>Get Updates by Email</b>".</span><br />
<br />
<span style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 12px; line-height: 14px;"><br /></span></span><br />
<div style="text-indent: -15px;">
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify; text-indent: 0px;">
<div style="margin: 0px;">
<i><div style="margin: 0px;">
<i>Rajaraman Raghuraman has nearly 8 years of
experience in the Information Technology industry focusing on Product
Development, R&D, Test Data Management and Automation Testing. He has
architected a TDM product from scratch and currently leads the TDM Product
Development team in an IT MNC. He is passionate about Agile Methodologies and
is a huge fan of Product Development, Agile Development and Agile Testing. He
blogs at </i><i> </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">AgileDevTest Blog</a>. He is also an
author of a free Ebook "<a href="http://programmersmotivation.com/" target="_blank"><span style="color: #2288bb;">Programmer's Motivation for Beginners</span></a>". </i><i>Connect with
him on <a href="https://plus.google.com/100297834218867757772?rel=author" style="color: #888888; text-decoration: none;" target="_blank">Google+</a></i></div>
<br /></i><span style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 12px; line-height: 14px;"><br /></span></span></div>
</div>
</div>
<div style="text-indent: -15px;">
<span style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 12px; line-height: 14px;"><br /></span></span></div>
<div style="text-indent: -15px;">
<span style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"><span style="font-size: 12px; line-height: 14px;"><br /></span></span></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com10tag:blogger.com,1999:blog-906601818334918658.post-62199107334109538212013-07-13T00:27:00.003-07:002013-07-13T00:37:01.355-07:00Scrum meeting. Are you kidding me?<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Recently I was part of a "<b>Daily Scrum Meeting</b>" in a reputed product development company (I travelled to work with this company on a joint initiative, anyway that is not the point of this blog post). I was really baffled at the way the meeting was happening, because there were several things that didn't go well during that meeting. Being a huge fan of Agile and a committed practitioner, it was concerning that people were actually adopting it the wrong way. I felt like asking to them "Is this a Scrum meeting? Are you guys kidding me?". In this blog post, I am sharing some of the learning from the meeting were:</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-EjDDHMJ6Dpw/UeEDTXIwEUI/AAAAAAAAAIw/r0K4TH4oVMA/s1600/standingup.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="212" src="http://2.bp.blogspot.com/-EjDDHMJ6Dpw/UeEDTXIwEUI/AAAAAAAAAIw/r0K4TH4oVMA/s320/standingup.jpg" width="320" /></a></div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">Everyone on time</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A Daily Scrum is a commitment to the entire team. So everyone needs to be on time for the meeting. Never forget your meeting etiquette. :)</span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">It's for everyone team</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A Daily Scrum meeting is for the entire Scrum. It is not just a subset of the people. Agile focuses highly on team collaboration and it's high time teams understand that.</span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">Everyone present throughout</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Intention of the daily stand up is to have the team members communicate, collaborate and the team should be knowing what each others are doing. No one should leave a meeting in the middle.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"></span><br />
<a name='more'></a><span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">Everyone stands up</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Again this is a basic etiquette. A scrum meeting is a standup meeting and no one sits. The whole idea here is not to get comfortable by sitting down, and thereby forcing us to wrap the meeting on time.</span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">Each person talks to the team not to the scrum master</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A Scrum Meeting is not a status reporting meeting to the Scrum master. It is rather an update about what each one is doing to the entire team and if there are any impediments or roadblocks to achieve a target. So every person should talk to the entire team rather than the Scrum Master.</span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">No detailed discussions</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A scrum meeting should only have each person answer 3 questions:</span></div>
<div>
<ol style="text-align: left;"><ol>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">What did I do yesterday?</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">What will I do today?</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Is there anything that is stopping me from doing my work?</span></li>
</ol>
</ol>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">If there are any discussions that are taking a long time, it is best to take it later on rather than in the scrum meeting.</span></div>
</div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">Where is the Product Owner?</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">The Product Owner should be involved in the Scrum meeting so that he knows how the product is progressing. If a Scrum Meeting happens without the Product Owner, I am not sure what is the point in having it in the first place.</span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><b><span style="font-family: Georgia, Times New Roman, serif;">AM or PM</span></b></li>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Typically Scrum meeting works best when it is done in the morning. It works best for the team as everyone will know what to look forward to for the rest of the day.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Everyone makes mistakes, but the important thing is to learn from those mistakes as quickly as possible. That is the best way to get better.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Have you ever seen a scrum meeting go bad? If so please feel free to share your experiences in the comments section. Hope these learning will make the community better.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><b>Related Articles & References</b></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<a href="http://www.mountaingoatsoftware.com/scrum/daily-scrum" target="_blank">Daily Scrum</a> by Mountain Goat Software<br />
<a href="http://martinfowler.com/articles/itsNotJustStandingUp.html" target="_blank">Its not just standing up</a> by Martin Fowler.</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-12246204185959425342013-06-17T20:28:00.001-07:002013-06-17T20:28:09.108-07:00Thought Leaders who disrupted the Software Industry<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">There is something in common
among <a href="http://en.wikipedia.org/wiki/Thought_leader" target="_blank">thought leaders</a>. Their thought innovations simply disrupt an
existing paradigm. Today we will see a
few of those who really disrupted the Software Industry, be it in Development
or Testing or Databases through their inventive and innovative thinking.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Kent Beck:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><a href="http://en.wikipedia.org/wiki/Kent_Beck" target="_blank">Kent Beck</a> is the creator of
the revolutionary <a href="http://en.wikipedia.org/wiki/Extreme_Programming" target="_blank">ExtremeProgramming</a> or XP as it is shortly called, along with 2 other notable
thought leaders and improvisational <a href="http://en.wikipedia.org/wiki/Test_Driven_Development" target="_blank">Test DrivenDevelopment</a>. He is also the
mastermind behing <a href="http://junit.org/" target="_blank">JUnit</a>, the xUnit class of
Unit Testing Frameworks. These
innovations eventually formed the basis for what we currently call <a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">Agile SoftwareDevelopment</a>.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Martin Fowler:<o:p></o:p></span></b><br />
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">If you don’t know him, then
probably you are not in touch with the Software industry recently. <a href="http://martinfowler.com/design.html" target="_blank">MartinFowler</a> is a chief Scientist in <a href="http://www.thoughtworks.com/" target="_blank">Thoughtworks</a>. He is a highly reputed international speaker
and is a guru who popularized Agile and NoSQL to a great extent. He along with other thought leaders formed
the <a href="http://agilemanifesto.org/" target="_blank">Agile Manifesto</a>. Some of his notable writings include <a href="http://martinfowler.com/design.html" target="_blank">Evolutionary Design</a>, <a href="http://martinfowler.com/agile.html">Agile</a>, <a href="http://martinfowler.com/articles/continuousIntegration.html" target="_blank">ContinuousIntegration</a>, <a href="http://martinfowler.com/books/continuousDelivery.html" target="_blank">ContinuousDelivery</a>, <a href="http://martinfowler.com/nosql.html" target="_blank">NoSQL</a> and <a href="http://martinfowler.com/tags/mobile.html" target="_blank">Mobile</a> and is a author of <a href="http://martinfowler.com/books/" target="_blank">several best selling books</a>. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Ward Cunningham:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><a href="http://en.wikipedia.org/wiki/Ward_Cunningham" target="_blank">He</a> is one of the 3
inventors of the Extreme Programming.
Also a pioneer in <a href="http://en.wikipedia.org/wiki/Software_design_pattern" target="_blank">Design Patterns</a>,
Extreme Programming and the Agile movement and one of the thought leaders who
framed the Agile Manifesto. He is also
the inventor of the <a href="http://en.wikipedia.org/wiki/WikiWikiWeb" target="_blank">Wiki</a>
and the popular <a href="http://en.wikipedia.org/wiki/Framework_for_Integrated_Tests" target="_blank">FITframework</a>. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Ron Jeffries:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><a href="http://en.wikipedia.org/wiki/Ron_Jeffries" target="_blank">He</a> is also one of the 3
inventors of the Extreme Programming. He
is also the author of one of the best selling books “<a href="http://www.amazon.com/Extreme-Programming-Adventures-DV-Microsoft-Professional/dp/0735619492" target="_blank">ExtremeProgramming Adventures in C#”</a> where he wrote about his journey through
XPing using a new programming language (C#).<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">James Bach:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><a href="http://www.satisfice.com/aboutjames.shtml" target="_blank">James Bach</a> is a
revolutionary thought leader in the field of Software Testing. He is most notable for his works on <a href="http://en.wikipedia.org/wiki/Exploratory_testing" target="_blank">Exploratory Testing</a>
along with other thought leaders, <a href="http://en.wikipedia.org/wiki/Session-based_testing" target="_blank">Session Based Testing</a>
and <a href="http://context-driven-testing.com/" target="_blank">Context Driven School ofTesting</a>. <o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Ken Schwaber and Dr. Jeff Sutherland:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Inventors of the ever so popular <a href="http://en.wikipedia.org/wiki/Scrum_(software_development)" target="_blank">Scrum</a>
methodology in Agile, which revolutionized the way of working for teams and
brought a new perspective to Agile Projects.
They are also the initial signers of the Agile Manifesto. Ken Schwaber is also a founder of the <a href="http://en.wikipedia.org/wiki/Agile_Alliance" target="_blank">Agile Alliance</a> and
Scrum.org. He is also a book writer and
has written on <a href="http://www.amazon.com/Ken-Schwaber/e/B001H6ODMC" target="_blank">varioustopics in Scrum</a>.<o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Michael Stonebraker:<o:p></o:p></span></b></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A computer scientist and <a href="http://en.wikipedia.org/wiki/Michael_Stonebraker" target="_blank">one of the fathers</a>
in the Database Management Systems. He
is the inventor of the RDBMS Ingres and Postgres. He is a pioneer in the field of Big Data and
is most notable for his work in Vertica and VoltDB. He is also one of the <a href="http://www.slideshare.net/Dataversity/newsql-vs-nosql-for-new-oltp-michael-stonebraker-voltdb" target="_blank">criticsof the NoSQL movement</a>.<o:p></o:p></span></div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">There are a handful lot of other
Thought leaders in the industry, but unfortunately we would not be able to
cover everyone in this post. Do you
aspire to become a Thought Leader? Who
is your most favorite and respected Thought Leader?</span><o:p></o:p><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<br />
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-33111864092934026302013-06-08T02:33:00.002-07:002013-06-26T04:33:12.283-07:00Power of the Startup Culture - Small or Big Organization<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Everyone knows a thing or two about Startups. Either they are involved in one or read about one. The most important thing about the Startups and why it is so exciting is the culture within the startups. And it is quite true that, even though rare, startup cultures can prevail even in large organizations. But definitely not without the support of the management. So that brings us to the question, what exactly is this startup culture and what are the exciting things that are associated with this so called startup culture. In this article, I am going to point out few things that make together the startup culture.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8fdiWa5uB4E/UcrQqA5DcKI/AAAAAAAAAIc/TJZLis8WKxU/s1600/Creativity5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="160" src="http://4.bp.blogspot.com/-8fdiWa5uB4E/UcrQqA5DcKI/AAAAAAAAAIc/TJZLis8WKxU/s200/Creativity5.jpg" width="200" /></a></div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Passion</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">One thing that you get a lot from people working in a startup or a startup setup (like a very small team in a large organization) is plenty of passion. People are passionate about their work, their team, their product or their service, their organization, their managers, they are passionate about literally everything.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Lots of energy</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">The thing that passion brings to the table is the high energy, it almost feels like you have plenty of electricity, we will only need to utilize the energy in an effective way.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Group & Individual Ownership</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">People tend to take / have a lot of individual as well as collective ownership in a startup setup. Every loss of the product/service/company is treated as their personal & team loss and they take collective responsibility and every victory is cherished as their personal and team victory.</span></li>
</ul>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span><br />
<a name='more'></a><span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Uncertainty</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is one thing that is available in plenty in a startup setup. In a startup setup, the customers are unknown, or at least known only partially, the product features are unknown at large, in short the future is uncertain for almost all the startups. But we eventually start building, making lot of assumptions, which means that there is a lot of uncertainty if those assumptions fail and that typically happens very fast in a startup setup.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Scope for research</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Since there is a lot of uncertainty, there is plenty of scope for research. The more research you do, the more clarity you get. The more clarity you get, you tend to come out of that uncertain ring.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Small and powerful teams</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Honestly, how many of you had this feeling that they worked the best in a small team and they felt more powerful, felt more respected and what not. Generally startup teams are small in numbers but they are powerful in terms of their overall capability. According to the management theory, the output of a group is always greater than the sum of the outputs of individuals. That is very true in a startup setup, where you can see that high energy outputs coming out of the entire team as a whole.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Sense of freedom</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Startup teams have a lot of freedom in terms of making decisions and they are not hampered with several constraints unlike traditional team setups.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Innovation</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">With freedom comes innovation. Innovators typically tend to love the freedom they get and try to utilize it to the fullest by coming up with innovative ideas to overcome complex challenges.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Sense of fulfilment</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Each and every individual in a startup setup will have a sense of fulfilment on completion of a feature or an iteration, because they are both individually and collectively responsible for the outcome.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Sense of achievement</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Fulfilment comes from the fact that generally startup teams feel they have achieved a lot and they have a sense of achievement when a particular milestone is achieved.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Efficiency</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Efficiency is one point that is definitely a given in a small startup setup. Not saying that large teams are not efficient, but by nature, it is always easier to manage/lead/motivate a small team instead of a large team to work at full throttle.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Lot of mistakes, lot of learning</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">You can expect a lot of mistakes in a startup setup. In fact the setup allows just that, but more importantly it also encourages learning from those mistakes. It is the crucial learning that can help go the startup a long way from where it started.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Flatter team structure</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Notice that I am saying Flatter instead of Flat. When I say flatter, it means it is flatter than the traditional structure and doesn't mean that it is a completely flat structure. What a flatter structure advocates is that people tend to be self managing if they are respected enough to get the job done. Hence there is no need for supervision for anyone, but mentoring and leading the team may be definitely required.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Knowledge sharing and mentoring</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Since teams are small, they rely highly on learning, sharing knowledge and mentoring. That makes the team far more powerful than they typically are.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Team members enjoy each others success</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Unlike traditional team setups, startup team members typically enjoy each others success and in fact work for everyone to succeed, because even if there is one loose link in the chain, it might drag everyone down.</span></li>
</ul>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">All these factors make the startup culture more powerful than traditional setups. From my point of view, is is upto the leaders and managers to inculcate the startup culture into their teams and orgs especially in large ones. And it is upto every team player to work like a startup team player. I believe that way we will have more innovations coming up even in large organizations.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Do you have any other points to make why you love to work in a startup or a startup setup in a large organization? How did you liked those experiences? Please feel free to share to the benefit of the group.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
</div>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div style="text-align: justify;">
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i><b>About the Author</b></i></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<br /></div>
</div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<div style="margin: 0px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in an IT MNC. He is passionate about Agile Methodologies and is a huge fan of Product Development, Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-24918607474737710032013-05-09T04:19:00.001-07:002013-08-03T00:44:13.651-07:00Lessons Learnt in Product Development<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Product development is an interesting activity. It involves a lot of challenges and lot of learnings. But over time, we get to learn a lot of crucial lessons. In this post, I am going to share some of my learnings based on my experience in Product Development.</span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
</div>
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Go for an MVP rather than a full blown product</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">A product might require lot of changes according to the changes in the market. Hence it is imperative that a product needs to be shipped as soon as possible to the customers to get their feedback. But how do we ship our product in 3 months when the actual development takes around 2 years. That's when a <a href="http://agiledevtest.blogspot.in/2013/02/mvp-minimum-viable-product-strategy.html" target="_blank">Minimum Viable Product</a> Strategy will help.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Assess what the market requires and prioritize that over the internal product roadmap</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">A lot of times, we have fancy features or features that provide extra punch to the product. Those can wait. What really needs to go to the market quicker are the features what the market really requires at present, solves the problems at present. It is like "A bird in hand is worth 2 in a bush". Do not include features envisioned by us too early in the life cycle, they can wait until they are absolute killer features / selling points.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;"><b>If a product takes shape, increase the investments on the Product to take it to completion</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Typically things start small and then the product gains momentum in terms of popularity or demand and is seen as a value proposition. Then it is time to increase the investments in the product to make it more robust, stable and to deliver it fast to the market.<a name='more'></a></span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;"><b>Ship in incremental chunks</b></span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>The architecture, the team, the process needs to be agile</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This means that we can adapt to any future changes in a much quicker time.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Follow Agile Methodologies</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Agile methodologies put a lot of emphasis on the Customer who is the starting point of the product. Without customers, we would not be developing any product. Hence it is imperative we give that focus by following the Agile methodologies. Apart from being customer centric, it also puts a high emphasis on Quality Working software at regular intervals, Welcoming Change, Collaboration, Team morale, People, Continuous Learning, Evolutionary design and lot of cool stuffs that really help product development at a very good pace.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Follow good engineering practices</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">As the product evolves, it undergoes a lot of changes according to the feedback from the market. According to me, "<span style="color: red;">The ability of the project team to add new features to the existing code, testing and deploying it in a quick manner will eventually determine the long term success of the project</span>". Instead of resisting those changes, the trick is to welcome those changes by having proper engineering practices in place that will aid these changes in lesser amount of time. Some examples of these engineering practices include Automated Unit Tests, Test Driven Development, Continuous Integration & Deployment, Automated Functional Tests, Automated Acceptance tests.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Strike the balance between management expectations and quality of the process</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Management sometimes expect miracles, we can pull it off occasionally but not often. There is a tendency to sacrifice quality for faster release time. When that happens, it would be a short term measure. Although once in a while it may be needed based on the demands of the business. But it will affect the product quality in the long term and the ability to make changes in the product effectively.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Don't force Agile methodologies if the team is not ready</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">For any Agile practitioner, it is easily understandable that Agile is not for everyone, it needs a good amount of maturity from the team itself as they are the cornerstone of the entire project. Give it a try, tailor it, try to make it work, but if it doesn't work out don't force it on the team. Go in incremental steps, try some Agile coaching, but don't ever try to force it, it can turn out counterproductive.</span></li>
</ul>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">What have you learnt from your product development experience that you are willing to share it with the audience? Please feel free to add your views. Comments/Critiques are also welcome. Thanks for reading.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<br />
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<i><b>About the Author</b></i></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-78835403110852643442013-04-10T00:59:00.002-07:002013-04-11T01:30:56.741-07:00Video - Testing in an Agile Environment by James Bach<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Georgia, Times New Roman, serif;">A nice video about Testing in Agile Environment by <a href="http://www.satisfice.com/aboutjames.shtml" target="_blank">James Bach</a>.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Some key notes from the video:</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="color: red; font-family: Georgia, Times New Roman, serif;"><i>Testers are like the headlights of a car. Testers don't steer the product/project, they illuminate the status of the product to the different stakeholders</i></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><b>Some of the important things that a tester needs to do during a sprint planning phase</b></span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: Georgia, Times New Roman, serif;">Learn (Ask a lot of questions)</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Know about Testability</span></li>
<ul>
<li><span style="font-family: Georgia, Times New Roman, serif;">Observability</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Controllability (control states, configurable)</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Simplicity - </span><span style="font-family: Georgia, 'Times New Roman', serif;">Some features can take longer to test than to develop - Alert the Dev and managers about this</span></li>
</ul>
<li><span style="font-family: Georgia, Times New Roman, serif;">Going through spec and highlighting dodgy things</span></li>
</ul>
<br />
<span style="font-family: Georgia, Times New Roman, serif;"><b>Other points:</b></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<br />
<ul style="text-align: left;">
<li><span style="font-family: Georgia, 'Times New Roman', serif;">Testing directly on the developer machine (Shake n Bake) - a session for 90 minutes or lesser</span></li>
<li><span style="font-family: Georgia, 'Times New Roman', serif;">Try to test defects as soon as they are fixed, that's when the developers are still thinking about the defects.</span></li>
</ul>
<br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><b>To be aware of:</b></span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Automation - tendency to be biased towards automation, play with tools rather than testing</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/vqwyMaHcjQE" width="560"></iframe>
</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-61932576690186434392013-04-08T07:08:00.001-07:002013-04-08T10:14:27.162-07:00The art of debugging<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">In software, everyone faces issues almost daily. We need to be highly equipped to solve those issues. Not all problems are straightforward to find out and require a lot of debugging to be done. Hence debugging skills is of prime importance. I would like to reiterate that everything in software development is an art. Similarly debugging is also an art. In this post I will focus on how to debug a software problem.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Understand the architecture</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">The more the number of components in a system, the more complex it gets to solve an issue. It is critical to understand the architecture of the software / the module in order to debug a problem. Suppose your system has a client web browser and at the server side a web server and a database server. What if this setup is required to be able to work through a VPN connection? And you get an error in your web server mentioning that you "Could not connect to the database server", where do you think the problem might be. The problem might be anywhere. Hence it is very important to understand the architecture if you want to solve the problem quickly.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Analyze the entire picture</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Once you get the entire picture, analyze the entire picture and try to see where the symptoms are lying. I refer symptoms here because whatever you see is only a symptom, we need to trace to the problem in order to solve it.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>From the symptom, try to trace the problem</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Many problems tend to have more than one symptom, look out for those and try to get those hints. In our example, "Could not connect to the database" is a symptom. The problem might be due to various reasons.<a name='more'></a></span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Try to list different possibilities</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Try to list out the different possibilities that might result in the actual symptom. In our example, the symptom could be due to the following reasons</span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Database server is down</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Database server is not listening on the expected port</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Database server is not accessible from the webserver</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Database server is not accessible through the VPN</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Database server port is not accessible through VPN</span></li>
</ul>
</ul>
</ul>
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Make an educated guess where the problem might be</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Out of the possibilities, try to make an educated guess where the problem might be and try to dig into the problem.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Eliminate component by component</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">If you can't make an educated guess, you need to identify the problem with the help of an elimination round. Since you have the basic understanding of the architecture, try to eliminate it component by component. That is how complex problems are solved by breaking them into individual pieces.</span></li>
</ul>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Hope this post was useful. Comments are welcome. Thanks for reading.</span></div>
<div style="text-align: justify;">
<br />
<br />
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<i><b>About the Author</b></i></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-41521957831265683712013-03-09T11:51:00.001-08:002013-03-09T11:51:19.981-08:00MongoDB Schema Design - How to think Non-Relational<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">A nice video about MongoDB schema design. To all who are new to <a href="http://www.mongodb.org/" target="_blank">MongoDB</a>, MongoDB is a leading <a href="http://en.wikipedia.org/wiki/NoSQL" target="_blank">NoSQL</a> document oriented database. A table in RDBMS can be contrasted to a Collection in MongoDB, and a row in RDBMS table corresponds to a <a href="http://www.json.org/" target="_blank">JSON document</a> in MongoDB.</span><br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<b><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Key Points:</span></b><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">MongoDB introduction</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Comarison of concepts of MongoDB Vs Traditional RDBMS</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Schema Evolution</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">How to Model 1-Many and Many-Many relationships in Mongo</span></li>
<li><span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">Queries and Indexes</span></li>
</ul>
<br />
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Helvetica Neue, Arial, Helvetica, sans-serif;"><iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/PIWVFUtBV1Q" width="420"></iframe></span>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-54080596398534907432013-03-04T20:03:00.000-08:002013-08-16T21:38:52.733-07:00Introduction to NoSQL - Martin Fowler<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Excellent video about Introduction to <a href="http://en.wikipedia.org/wiki/NoSQL" target="_blank">NoSQL</a> by <a href="http://en.wikipedia.org/wiki/Martin_Fowler" target="_blank">Martin Fowler</a>.</span><br />
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;">Main Theme:</span></div>
<div>
<ul style="text-align: left;">
<li><span style="font-family: Georgia, Times New Roman, serif;">History of NoSQL</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Families of NoSQL</span></li>
<ul>
<li><span style="font-family: Georgia, Times New Roman, serif;">Key Value Database</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Document Oriented Database</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">Graph Database</span></li>
</ul>
<li><span style="font-family: Georgia, Times New Roman, serif;">NoSQL and Consistency</span></li>
<li><span style="font-family: Georgia, Times New Roman, serif;">NoSQL Usage</span></li>
</ul>
</div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">
</span><br />
<div style="background-color: black; height: 30px; position: absolute; width: 420px;">
</div>
<span style="font-family: Georgia, Times New Roman, serif;">
<div>
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/qI_g07C_Q5I?modestbranding=1" width="560"></iframe></div>
</span>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Enjoy this video !! Very informative !!</span><br />
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-558000740268985432013-03-02T10:25:00.001-08:002013-04-03T03:47:20.553-07:0011 areas an Agile Project Manager needs to focus on<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">In my previous posts I focused on the <a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-developer.html" target="_blank">Attitudes of a Great Software Developer</a> and the <a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-tester.html" target="_blank">Attitudes of a Great Software Tester</a>. </span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">An Agile project's success also depends a lot on the Agile Project Manager. The decisions he takes and the emphasis he provides on certain areas will pave the way for a successful Agile Project. In this post, I provide some key points that an Agile Project Manager should focus on, for the betterment of an Agile Project</span></div>
</div>
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
</div>
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Employee hiring</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">First and foremost, an Agile Project Manager needs to hire the right people for the project. Apart from the technical skills and non-technical skills required of Agile teams, it is imperative that the chosen candidates adopt to the Agile practices and are themselves Agile.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Technical and Non-technical grooming</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Once into the project, the candidates needs to be groomed to meet the project needs and also grow further.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Employee motivation</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">I always believed that Employee motivation is one of the Critical Success Factor of an Agile Project, for that matter any project. Motivated employees can do wonders if provided with the right environment. Motivated employees go that extra mile to achieve the common goals. Hence an Agile Project Manager needs to put high emphasis on this point.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Engineering Practices</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">There are a lot of engineering practices that make an Agile project successful. An Agile Project Manager should focus on putting the right Engineering Practices to place. He/She should not forget that there is an overhead in following certain practices, but once fully functional, they start to provide high returns on the investment. For ex. following Automated Unit tests and TDD can be very difficult to start with, but over time, developers get into that practice and the results start to follow. <a name='more'></a></span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Be open for feedback</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">An Agile Project Manager needs to be open for feedback from the team, as they might contain vital clues to what is going wrong or what can be made better.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Team empowerment</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">An Agile Project Manager should empower his team to a great extent so that everyone feels that they own a piece of the entire show.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Retrospection</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">An Agile Project Manager should focus on the retrospection meetings and provide active inputs, listen to others inputs and provide suggestions for improving anything that bothers the velocity of the team.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Team morale</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is very important. A team with high morale can achieve significantly higher output than a team with lower morale. Morale is contagious and an Agile Project Manager should always focus on keeping the Team morale high at all times. </span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Continuous Process Improvement</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is to look at the current process from a neutral perspective and suggest improvements and empower the team to suggest and implement improvements. An Agile Project Manager will continuously monitor the processes followed and improve the processes.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Stakeholder Management</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">An Agile Project Manager should be good in stakeholder management. Stakeholders might include Customers, Upper Management and his/her job is to make the stakeholders understand the realistic expectations of an Agile Project and then shield the team from the external pressures of the management and allow the team to focus on the most important stuff of building the product/application.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;"><b>Continuous Learning & Knowledge Sharing</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">An Agile Project Manager should provide a mechanism for continuous learning and have a good forum wherein continuously knowledge gets shared among the different team members.</span></li>
</ul>
</ul>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Even though Agile is the buzzword in the market for quite a long time, not every manager is good at managing/guiding a good Agile Project. But as I pointed out, if focus is put on the mentioned points, I believe that will pave the way for a good Agile Project.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Do you think there are other things that an Agile Project Manager needs to focus on? Please feel free to comment/debate. Thanks for the read.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i><b>About the Author</b></i></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<br /></div>
<div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>. </i><i style="background-color: white;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-78391748039073835882013-02-27T21:16:00.000-08:002013-04-03T03:47:57.426-07:00MVP - Minimum Viable Product strategy<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Not all good ideas turn out into great products. There are quite a few products that fail in the market due to a variety of reasons. But does it stop us from investing in the Products? How do we find out if a Product is going to be a hit in the market? And more importantly how do we find that out by investing the minimum amount possible. Enter MVP - The Minimum Viable Product.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">The concept of MVP is getting acceptance throughout in the area of Product Development. It is a concept largely used by start ups. And it will immensely help new product design and development in larger organizations.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><b>What is an MVP?</b></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Our objective with a Minimum Viable Product is to provide a mechanism for maximum learning about the target audience or the target market with the minimum effort. Does it mean that we only ship 3 out of the 10 features that is required to hit the market at the earliest. No. The concept is beyond just the product features. A Minimum Viable Product takes into account the Product idea, how it generates interest among the users, what features that the customers or the market really wants, demand for the product, etc. It is a strategy that is used for learning about the customers early into the product life cycle, so that they can make the changes for the good.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><b>Strategies for MVP</b></span></div>
<a name='more'></a><br />
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">A survey for the likely features of the product</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">An email campaign to see the interest generated for the product</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">A website which shares videos, articles about the features and the benefits to the customers</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Continuous Deployment (An Agile Practice, which can add more value to the business incrementally providing more learning)</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">A prototype / demo version of the product featuring the critical features</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">A closed beta for only very few customers</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><b>Why do we need MVP?</b></span></div>
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">We do not have endless budget to build products</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">We want to cut the risk of a worst case scenario. What if the product fails after 2 years of hard work?</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">We want to stay in the business yet not stop experimenting for potential opportunities</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><b>Benefits of MVP</b></span></div>
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Maximum learnings from minimum efforts</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Early feedback about the product</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Ability to realize the true value / demand of a product more quickly</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">More energy into the product development as we see some real demands</span></li>
</ul>
<br />
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><b>Demerits of MVP</b></span></div>
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Difficult to conceptualize the apt minimum. There is no pre-defined rules for coming up with a minimum, it is pretty much judgemental.</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', serif;">Need to alter the product road map according to the feedback / learning which might be possible only with teams that are Agile.</span></li>
</ul>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">The concept of MVP is i</span><span style="font-family: Georgia, 'Times New Roman', serif;">deal for start-ups and new R&D products/ideas, where your feedback cycle needs to be really fast. It is better for a start-up to fail with a product idea in 3 months than 1 year. The time and effort that is saved due to a MVP strategy is a big boon for start-ups and even larger organizations trying for new R&D product/ideas.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;">Thanks for the read. Hope the post was informative. Comments are welcome.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, 'Times New Roman', serif;"><br /></span></div>
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i><b>About the Author</b></i></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: initial;" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: initial;">Agile Blog</a>.</i><i> </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com3tag:blogger.com,1999:blog-906601818334918658.post-20685371148470002432013-02-24T11:18:00.000-08:002013-02-24T11:18:00.866-08:00Software Design in the 21st Century - Martin Fowler<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Georgia, Times New Roman, serif;">Great talk from Martin Fowler, focussing on 3 topics</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">1. Schemaless design</span><br />
<span style="font-family: Georgia, Times New Roman, serif;">2. NoSQL and consistency</span><br />
<span style="font-family: Georgia, Times New Roman, serif;">3. Software Design</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;"><iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/8kotnF6hfd8?list=UUQvdU25Eqk3YS9-QnILhKKQ" width="560"></iframe>
</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">A must watch !!!</span></div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com1tag:blogger.com,1999:blog-906601818334918658.post-13447986491598305182013-02-23T01:42:00.002-08:002013-04-03T03:48:49.594-07:0011 Reasons why products fail in the market<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Not all the product ideas get transformed into actual products. Only a few pass that stage and get to the market as a Product. And there are even fewer products that are actually successful. So what are the reasons why products fail in the market. In this post I am outlining a few reasons in my practical experience which can lead to the failure of a product.</span></div>
<br />
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Not having a directed product vision</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">A product needs to have a vision, a roadmap at least at a high level. Product roadmaps might change depending on the feedback from the customers / prospective customers / market research, but you need to have a product vision as you go along.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Not enough investments for the products</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">It is highly important that all the investments need to be made for the product development, testing, marketing, sales and brand promotion. Without investments, the product will eventually die a slow death.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Too late into the market</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">A product needs to be in the market at the right time. If the product is late into the market, there will be many competitors for the same market, and hence competition will be tough. It is highly desirable for any product to have that First Mover advantage.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Too early in the market</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">In my previous point, I mentioned that a product needs to be in the market at the right time. Even though being early in the market is a highly desirable option, however being too early in the market when there is no maturity in the market will obviously lower the chance of product success.<a name='more'></a></span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>No real unique features</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">If there are no unique features that your product offers, customers will have no real interest in buying your product. If you want your product to be highly successful, make it stand out in the market.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Lack of focus</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">If there is no focus on the product in terms of its development, marketing, brand building, etc then it is bound to have negative effect on the product's outcome.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Management expectations</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">If the management expects too much from the product and starts to create a brand for it, even before its launch or even before its mature, then it is surely going to disappoint the customers.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Not enough R&D investments</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Many products needs a lot of R&D investments to be done in order to stay ahead of the market needs. And to anticipate market needs. But if the investments are not enough, then it is surely going to affect the product's market</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Lack of adequate technical skills / Product Management skills</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">The product team which is building the product should be competent and highly agile as the Product evolves over time. If the evolution time is long, then competitors will cash in.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Not enough value for money</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">As the great investor of all time <a href="http://en.wikipedia.org/wiki/Warren_Buffett" target="_blank">Warren Buffet</a> said "Price is what you pay and value is what you get". So its a relative term. Your product should be priced right and it should provide enough value for the money. If the customer starts to feel that the price is higher than the actual value provided, then it will have a negative impact.</span></li>
</ul>
</ol>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;"></span><br />
<ul><span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
<li><b>Buggy Product</b></li>
</span></ul>
<span style="font-family: Georgia, 'Times New Roman', serif; text-align: justify;">
</span>
<ol style="text-align: left;"><ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Nothing can upset a customer than seeing a flawed product that doesn't work as expected. News spread quickly, bad news spread even more quickly. This can lead to disaster.</span></li>
</ul>
</ol>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">What do you think are the other reasons why products fail? Please feel free to comment. Thanks for reading.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"><a href="http://tdminsights.blogspot.in/" style="color: #888888; text-decoration: none;" target="_blank">Test Data Management Blog</a> & </i><i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"><a href="http://agiledevtest.blogspot.in/" style="color: #888888; text-decoration: none;">Agile Blog</a>.</i><i style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"> </i><i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
<div>
<i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"><br /></i></div>
<br />
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-9843266879144595542013-02-20T11:28:00.000-08:002013-04-03T03:48:25.991-07:00What an Agile Project needs for success<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">In my previous posts I explained about the <a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-developer.html" target="_blank">Attitude of a Great Software Developer</a> and <a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-tester.html" target="_blank">Attitude of a Great Software Tester</a>. I am a huge fan of Agile methodologies. I believe, if an Agile project needs to be successful, there are certain factors that will make it happen.</span></div>
<br />
<ul style="text-align: left;">
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Technical Craft</b></span></li>
<ul>
<li><div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">The technical capabilities of a team should be of top quality, if you want to run a successful Agile Project. An Agile project is actually run by the collective strengths of the individual team members and hence they need to be highly adept at their jobs.</span></div>
</li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Team maturity</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is one of the critical success factors for an Agile Project. Not everyone is comfortable in working in an environment where there are lot of changes. Hence the team members and the team as a whole should be highly mature enough to understand the realities and make quick yet thoughtful decisions</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Collaboration</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">I cannot stress this point enough. The entire team should collaborate within themselves and also with external stakeholders. This is actually one step ahead of an important point Communication. It emphasizes the fact that it is a complete team game. A developer needs to collaborate with Product Owners, Testers and vice versa.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Team Morale</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Agile methodologies put a high emphasis on the people who run the projects. It is a given that, a team with high morale will produce better quality work and with more speed. It is important that the team is <a name='more'></a>maintained with high morale during the entire course of the Agile Project.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Engineering Best Practices</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is one of the most important success factors for an Agile Project. The level of best practices determine the maturity of the Agile Project and will decide the speed of the Feedback Cycle. Some of the engineering best practices include but not limited to</span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Code Refactoring</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Automated Unit Tests</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Test Driven Development (TDD)</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Source Code Repository</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Build Automation</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Static & Dynamic Code Analysis</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Setup Automation</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Automated Smoke Tests</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Automated Functional Tests</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Automated Regression Tests</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Continuous Integration</span></li>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Continuous Deployment</span></li>
</ul>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Support from Management</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Highly Critical. Support from the upper management is required for an Agile Project to be successful. The trick is not to expect miracles overnight from an Agile Project. A good Agile Project will regularly start to add value to the business as the time progresses.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Support from Product Owner</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">Mr. Product Owner is the instrumental person who directs what features are available to the market at what times and how critical are they. He helps in prioritizing and re-prioritizing the features as the iterations progresses. Hence it is absolutely critical that the person playing the role of a Product Owner is clear about what is needed, has the ability to think from the business perspective and decide which features will add more value to the users of the business.</span></li>
</ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;"><b>Continuous Improvement (Not the other CI :-) )</b></span></li>
<ul>
<li style="text-align: justify;"><span style="font-family: Georgia, Times New Roman, serif;">This is also another important factor that will influence the outcome of an Agile Project. An Agile team learns from its mistakes, so its a journey of continuous improvement for both the team as well as the processes that the team uses. An Agile team would be flexible enough to accommodate process improvements continuously thereby getting better and getting the product / application better.</span></li>
</ul>
</ul>
<br />
<div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">A well run Agile Project will have a lot of benefit for the business and the organization. It also lifts the team morale and makes them progress towards a common goal of producing great quality software. Hence it is highly recommended that the above mentioned points are taken care of, for the project to be successful. </span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<span style="font-family: Georgia, Times New Roman, serif;">Thanks for the read. Comments are welcome.</span><br />
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<i style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"><b>About the Author</b></i><br />
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He blogs at </i><i><a href="http://tdminsights.blogspot.in/" target="_blank">Test Data Management Blog</a> & </i><i><a href="http://agiledevtest.blogspot.in/">Agile Blog</a>.</i><i> </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i><br />
<div>
<i><br /></i></div>
</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com0tag:blogger.com,1999:blog-906601818334918658.post-39763220569290922742013-02-18T12:04:00.003-08:002014-09-17T01:18:29.094-07:00Attitudes of a Great Software Tester<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">In my previous post, I explained in my own words the "<a href="http://agiledevtest.blogspot.in/2013/02/attitude-of-great-software-developer.html">Attitude of a Great Software Developer</a>". This post will focus on the testers. Developers and Testers are two great personalities that work literally in the opposite direction but towards a common goal of producing good quality software. One deals with the making aspect of the software and other with the breaking aspect of the software.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">In this post, I will share the attitudes that a Great Software Tester should have, in my own views.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #1 - I want to break that software at any cost</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Make no mistake about it. A tester's job is to find out bugs and in the process, make the software better and better as time progresses. A bug is a tester's best friend. So his/her primary intent is to break the software at any cost, find the loop holes, find that best friend of his one way or the other. Whether it is through a systematic process of executing test cases or adhoc testing or exploratory testing, the objective is clear.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i><span style="font-family: Georgia, Times New Roman, serif;">If you want to be a Great Tester, your attitude has to be to "Break the software at any cost and find out that BUG".</span></i></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #2 - Ms. Great Developer, I challenge you that I can find bugs in your code.</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">I seriously doubt how many testers have this attitude. </span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i><span style="font-family: Georgia, Times New Roman, serif;">But if a person wants to be a Great Tester,</span></i><br />
<a name='more'></a><i><span style="font-family: Georgia, Times New Roman, serif;"> he/she needs to challenge the developer no matter how good the developer is and find out bugs in the code.</span></i></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #3 - No compromise on the test quality</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Just like code quality, the tests and the testing need to be of high quality. Absolutely no compromises on the quality of testing no matter what.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i><span style="font-family: Georgia, Times New Roman, serif;">A Great Tester or a person who wants to be a Great Tester </span></i><i><span style="font-family: Georgia, Times New Roman, serif;">will never compromise on the quality of his testing.</span></i></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #4 - Acknowledge the developer</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">It might happen that the great developer has produced great code that doesn't contain any bugs. Wow. Hard to believe right? It is possible. In those cases, acknowledge the developers.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i><span style="font-family: Georgia, Times New Roman, serif;">A Great Tester has the attitude to acknowledge and respect the developers in case the code is bug free. He/she should always remember that not only bug is his/her friend, the developer is also a friend.</span></i></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #5 - I am in no way inferior to the developers</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Honestly, how many people in the testing space have the feeling of being inferior to the Developer Community? I bet many. My point of view in this is, If as a Tester you feel inferior to a Developer, <i>then you are actually not doing proper testing or testing itself</i>. As already explained, both testers and developers are great personalities that work almost in the opposite direction but with a common goal of producing good quality software. I repeat this because this is very significant according to me.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<i><span style="font-family: Georgia, Times New Roman, serif;">If a person wants to be a Great Tester, he/she would be proud of his work and would not feel inferior.</span></i></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<b><span style="font-family: Georgia, Times New Roman, serif;">Attitude #6 - Get to know more than the developers</span></b></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Again how many in the testing space have more knowledge in terms of technology and their understanding of the architectures, than their dev counterparts. Not many I believe. As a tester, his job is just not to write test cases, execute and report some bugs. It is beyond that. He needs to understand the technology better so that he understands where he can break the software.</span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><i>A Great Tester is one who wants to know more than the developers know to have that breaking edge.</i></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">With this I conclude this post. Hope this post was worth reading. Thanks for reading. Comments are welcome.</span></div>
<div style="text-align: justify;">
<i><br /></i></div>
<br />
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i><b>About the Author</b></i></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;">
<i>Rajaraman Raghuraman has nearly 8 years of experience in the Information Technology industry focusing on Product Development, R&D, Test Data Management and Automation Testing. He has architected a TDM product from scratch and currently leads the TDM Product Development team in Cognizant. He is passionate about Agile Methodologies and is a huge fan of Agile Development and Agile Testing. He is the author of an Ebook "Programmer's Motivation for Beginners" & blogs at <a href="http://blog.programmersmotivation.com/" target="_blank">Programmer's Motivation blog</a></i><i>.</i><i> </i><i>Connect with him on <a href="https://plus.google.com/100297834218867757772?rel=author" target="_blank">Google+</a></i></div>
<br />
<div style="text-align: justify;">
<i><br /></i></div>
</div>
Anonymoushttp://www.blogger.com/profile/15762019168119375421noreply@blogger.com4