Friday, October 2, 2009

Productivity ?

How would you define "Productivity" in a Software Development especially for Agile SCRUM ?

My thoughts, analysis and definitions:
Productivity can be defined as the rate at which the end users enjoy new features. Its like delivering business values continuously at a faster rate which sees higher RoI. Engineering practices should be applied to deliver these business values at higher rate.

A measurable unit of Productivity can be defined by individual Product owner or Scrum master for their respective teams depending upon the needs of the product / project. For example, I would like to define Productivity gain for a sprint as "P" where
P = (V + Q + F) / N

V - velocity gain over previous sprint
Q - no of quality, UI, automation and security related improvements adopted / implemented (eg. TDD, CI, AAT, improved product scores, automation, security, UI benefits etc.) Teams can come up with various scales for their improvements. Lets say having 10 points for improving unit test code coverage every sprint, 10 points for adopting CI and implementing smooth process, 20 points for improved security, 20 points for better UI and so on......
F - no of working features added over previous product or sprints. Again point system can be devised to quantify features added
N - team size excluding Scrum Master, BA and Product Owner

Teams should be challenged often to improve the value of P in every sprint.

I am doing more research on Productivity so will keep on improving this formula and adding more quantifiable units.

Wednesday, September 23, 2009

I Come to Bury Agile, Not to Praise It

Interesting video on "Software Development" and new methodology's. Recommended for all and not just for those who are working on SCRUM Agile :-)
(Length: 1 hr 10 min)

Check it out --> http://www.infoq.com/presentations/cockburn-bury-not-praise-agile

Thursday, September 10, 2009

Ghost - My free virtual computer

Have you ever tried or used Ghost ?

G.ho.st offers every person in the world a free Virtual Computer (VC). G.ho.st is simply pronounced "ghost", an acronym of Global hosted operating system. The G.ho.st Virtual Computer includes almost everything you would have in a physical computer - a desktop, file storage (like a disk drive) and applications.

G.ho.st frees you from being tied to any one physical device - and frees you from the worries of installing software, backing up, and other administration.

"G.ho.st Lite" is a lightweight user interface to access VC using Mobile phones, an embedded widget in another web site like iGoogle and from a very old computer or dial-up connection.

Visit their home page to check out list of key features and services.

I would say good use of cloud computing powered by Amazon Web Services (AWS) and solutions from RightScale Technologies.


Monday, August 31, 2009

20 minutes to 4 seconds - Excel your excel's

SpreadsheetGear 2009 for .NET reduced the time to generate a critical Excel Report "from 20 minutes to 4 seconds" making his team "look like miracle workers" according to Luke Melia at Oxygen Media in New York. Microsoft chose "SpreadsheetGear"

With SpreadsheetGear controls, a 6,000 KB Excel workbook is loaded into the WorkbookView control in less than a second. This is over 100 times faster than other controls being tested so far.

Robbe Morris (Microsoft MVP - C# Co-founder of EggHeadCafe.com and former Gartner Sr. Software Engineer) says "ASP.NET and Microsoft Excel is a dangerous combination. ASP.NET and SpreadsheetGear is a match made in heaven. When you need your web or Windows app to interact with Excel files with lightening speed and no COM crashes, SpreadsheetGear for .NET is what you use. This product truly separates the men from the boys in the spreadsheet control marketplace."

With one safe managed assembly, SpreadsheetGear 2009 enables developers to easily add scalable ASP.NET Excel Reporting, dynamic Dashboards from Excel Charts and Ranges, powerfulWindows Forms Spreadsheet Controls, comprehensive Excel Compatible Charting, the fastest and most complete Excel Compatible Calculations and much more.

Simon Black (Software Architect, Nokia) says "SpreadsheetGear for .NET is a fantastically powerful spreadsheet component which is very easy to use and expand. We delivered our mandatory customer requirements well before time so we had plenty of time to implement the nice-to-have requirements nobody ever manages to deliver."

I will be evaluating SpreadsheetGear control this weekend so will post more details soon but initial feedback from top architects sounds very impressive.

Thursday, August 13, 2009

Sunday, August 9, 2009

My List of indespensable developer tools

Everyone collects dev tools, utilities and most folks have a list of a few that they feel are indispensable. Here's mine (of course all these on my home PC).

Saturday, July 18, 2009

Amazing Paper Craft Castle on the Ocean

See this wonderful paper craft art installation by a genius of the name of Wataru Itou, a young student of a major art university in Tokyo. The installation is hand made over four years of hard work (yeah "four years of hard work") complete with electrical lights and a moving train, all made of paper! Clearly, this man must have created one of the most stunning examples of Paper Craft in the world.

It is exhibited at Uminohotaru, a place which in itself is a major attraction: a service area in the middle of the ocean, right between Tokyo City and Chiba Prefecture. If you haven’t checked it out yet, use Google Earth for a close up of what is probably the weirdest parking lot in the world. (it’s more than a parking lot actually) Enjoy this wonderful work of art!


Monday, July 13, 2009

Do you treat usability as an important aspect ?

While working on usability aspects of menu (and other controls) for my news reader application "whiz", I read important aspects of usability posted by Jacob Nielsen who is considered "Guru of Usability".

Usability is defined by five quality components:
  • Learnability: How easy is it for users to accomplish basic tasks the first time they encounter the design?
  • Efficiency: Once users have learned the design, how quickly can they perform tasks?
  • Memorability: When users return to the design after a period of not using it, how easily can they reestablish proficiency?
  • Errors: How many errors do users make, how severe are these errors, and how easily can they recover from the errors?
  • Satisfaction: How pleasant is it to use the design?
Follow this link to read on basic usability principles and more.....

I think usability should be one of the most important aspect for any developer, designer, manager, BA etc and one should give usability the topmost priority. Designing systems that make sense to code warriors will often lead to a site that is not usable by the average person.

Jacob Nielsen correctly points out "For intranets, usability is a matter of employee productivity. Time users waste being lost on your intranet or pondering difficult instructions is money you waste by paying them to be at work without getting work done."

According to Jacob Nielsen, sites that spent 10% of their budget on usability reaped a 100% increase in sales/conversion rates.

Wednesday, July 8, 2009

Fight continues: Round 2 - Google vs. Microsoft

Recently there has been a lot of buzz on Google launching new OS. This news is making rounds on almost all news sites and blogs. I am wondering whether this move by Google is a strong response to Microsoft for launching Bing which is trying to give tough competition to Google's core business. I was waiting for Google's response but didnt thought it would be in the form of new OS :)
Well its too early to comment on this but seems the fight continues and Round 2 was distinctly impressive.

Friday, June 26, 2009

Happy to announce version 1.2 of my news reader application

After much of a delay and managing time to code during weekends, I am glad to announce version 1.2 of my news aggregator application. Check out http://whiz.kiprosh.com

Current Features
  • drag and drop widgets
  • simple accordion driven ui for conveniently reading news
  • cross browser compatibility - tested on widely used 9 different browsers
  • ajax driven functionality
  • tried to made it one of the fastest rss reader
To keep it simple at this point of time, I just have very limited set of rss feed sources in the app.

Oh btw thanks to Nilesh, Alex, Matt, Biju and Sachin for feedback and appreciating the application :)


Upcoming Features (for v1.3 and higher)
  • navigation menu to have list of various feeds categorized appropriately
  • feeds source with aditional info like ranks, no of hits etc.
  • user personalized start pages and improved UI
  • ability to search particular news / information from the list of rss feeds or user selected feeds

Tuesday, June 16, 2009

Bing Search Tricks (even Google and Yahoo doesn't have these features)

Use these cool and interesting tricks with Microsoft's new search engine Bing.com

1) Get Bing search results as RSS feeds
Neither Google nor Yahoo provide RSS feeds of their search results. We can subscribe to search pages from Bing as RSS feeds.
- Open Bing Search
- type your query, say for example "Ajax" and
- then on the results page, append “&format=rss” to the URL
in my case where i tried search query as "Ajax", the rss URL got created is http://www.bing.com/search?q=ajax&form=QBLH&format=rss
(This is one of my favorite feature as I am trying few feeds in my aggregator app :) )

2) Find Web Pages That Link to Documents, MP3s, Videos, ZIPs or other file types
The "contains:" operator in Bing search helps us find web pages that link to other online documents and multimedia files like music and video. This is different from Google’s filetype: search operator that looks for content inside PDF and Office documents.
For example, if we wish to find all pages on Wikipedia that link to MP3 files, type “site:wikipedia.org contains:mp3″

3) Limit Your Search to Websites that offer RSS Feeds
Another search operator in Bing Search is “hasfeed” - it lets you find only those web pages that link to RSS feeds. For example, you could write “ASP.NET MVC hasfeed:” to find web pages that are about “ASP.NET MVC” and also syndicate content as RSS feeds.

We can also group hasfeed: with other search operatorsLets say if we want to know about all pages related to ASP.NET MVC on MSDN.COM that have feeds, then we should just type “asp.net mvc site:msdn.com hasfeed:

4) Track Companies from the IE Favorites Bar
If we search for a company stock (e.g. GOOG or MSFT), Bing will automatically create a web slice for that company which we may then add to IE 8 and track the performance directly from the favorites bar. We need Internet Explorer 8 to try this feature.

Saturday, June 6, 2009

Chrome - My favourite browser these days

I am using Google Chrome a lot these days (apart from using Firefox & IE) for my browsing and testing needs. Chrome is amazingly fast and quick. Features that make Chrome distinguish itself from other browsers like Opera, Safari, IE, Firefox etc. are simple but truly amazing.

First, every tab is an independed process. Each tab is on its own - if one tab crashes there will be no impact on other tabs. This is very useful feature. Chrome has revolutionary JavaScript engine, which is made to work even faster than in the fastest browsers. Here are the speed test results http://news.cnet.com/8301-1001_3-10030888-92.html

Another feature I like about Chrome is its built-in task manager where you can see what tab eats more memory or CPU time than others, and effectively manage your tabs to reduce unneeded memory or CPU usage.

Here are few links casting comparison between Chrome and other browsers


Oh did i forgot to mention a very cool feature - visual sampling of most visited sites, search engines, recently bookmarked pages and closed tabs on its home page.

Friday, June 5, 2009

Wanna test your website (and webpages) on 60 different browser in one shot ?

Today I just thought to test my website (Aggregator app) across different browsers to have preliminary results. I came across this cool website http://browsershots.org/ which tests webpages on roughly 60 browser (including browsers running on Linux, Mac, Windows, BSD etc) in one shot. It took around 27 mins to test my simple site on all 60 browsers and the results were astounding and really helpful. It provides first hand impression of UI issues (i.e. various formatting, colors, tables, tabs, button spacing etc etc.) for your web pages. I found it really useful. I was testing my app only on fewer versions of Firefox, IE, Chrome etc. but thanks to Nilesh for pointing me out to try and test my app on other version of various browsers as well. We together sat down to explore few open source tools and while exploring we came across this useful site.

Here is a link to 10 useful resources for Cross Browser Testing http://designm.ag/resources/cross-browser-testing/

I do recommend to use other open souce tools and websites to perform Cross Browser Testing, but these kind of resources are really handy.


Monday, June 1, 2009

Will you Bing it, or Google it ?

Recently I read an article on new search engine "Bing" by Microsoft and was quite impressed by its search capabilities (thanks to Nilesh for sharing this info on bing with me). Unlike Google who invented advertising-based search model which produces most popular items for each query, Microsoft is aiming to change the game by calling Bing - a decision engine which will offer more insights to users for helping them take decisions, and not necessarily throw the most popular and relevant items. Bing in Chinese language means a certain answer, or response to a query.

I tried few searches on www.bing.com and liked "Related Searches" section as well as opinion index (which rates the search results based on an algorithm developed by Microsoft.) Its quick and clean. Yeah its pretty early to say anything about its success, that the time will tell. But I think I would definitely be using bing along with google for my search and not just google alone :)

Friday, April 17, 2009

Back to blogging. My journey on jQuery and "Fire Eagle"

I m back to blogging, huh ! and after a gap of 2 months :( Feeling bad about it as I couldn't write since past couple of months. I was going crazy buzy in projects and operational activities within organisation. I need to learn a lot on "Time Management" :)

Nevertheless, was atleast able to resume my quest on learning jQuery and writting advance aggregator which I left in middle (for version 1.2) during Feb'09. Made lot of mistakes today while working on my code but learnt quite a few aspects on widgets, events customization, minified code, costomizing plugins etc. I hope to release v.1.2 beta by mid May'09 as I am still struggling towards time management :)

BTW did you use "Fire Eagle" ? Today I logged on my Fire Eagle account and explored few apps. Fire Eagle is a Yahoo! owned service that acts as a store for user location information. The genius of Fire Eagle is its sheer simplicity. It does absolutely nothing beyond storing your current location, and disseminating it to your choice of sites and applications.
Read more -> http://www.pointbeing.net/weblog/2008/04/fire-eagle.html
Fire Eagle have already implemented many of the items discussed in the link above. Fire Eagle now have tons of applications including DBpedia Mobile, Bloggy, Tweets, Feeds, findme, Geoupdater and many more.

Friday, February 13, 2009

jQuery - Truely "write less, do more"

Few days back I started learning jQuery to create few drag n drop elements (widgets) for my news aggregator. First and quick impression about jQuery - truely a write less, do more javascript library. Doesnt take more than couple of hours to learn and start writting / integrating with new /existing apps for creating intuitive and quick UI along with necessary functionalities.
I hope I can publish my advanced aggregator soon which is in progress using AJAX, jQuery in ASP.Net.

Friday, January 23, 2009

Whitehouse.gov runs on ASP.Net

I found some information about http://www.whitehouse.gov/ web site and it turns out that this site runs on ASP.NET. Some interesting characteristics:

- web server is IIS 6.0
- ASP.NET version is 2.0.50727
- they use jQuery 1.2.6 but jQuery scripts are not hosted in Google global script hosting service,
- pages are GZIP compressed and they seem to use pretty high compression level
- JPG files are highly compressed to make page load faster.

Further details on website code --> http://dotnetperls.com/Content/whitehouse-gov-Site.aspx

Tuesday, January 20, 2009

You can use .NET 3.5 with Visual Studio 2005

Myth and Misconceptions
It seems that the recent release of Visual Studio 2008 and .NET framework 3.5 is causing lots of confusion. The .NET framework does not have any built-in dependency on Visual Studio. NET 3.5 continues to exploit version 2.0 of the CLR. Visual Studio 2005 is perfectly happy to compile your code against .NET 3.5 assemblies. They are just assemblies. Most of the assemblies in .NET 3.5 are identical to those in .NET 3.0. There are some new assemblies with new features.

The wonderful new LinQ technologies introduced in .Net 3.5 rely on explicit compiler-level support, and therefore require LinQ aware compilers in Visual Studio. The new version of Visual Studio i.e. VS 2008 provides these compilers, allowing developers to take advantage of the new monadic syntax. In addition, Visual Studio 2008 has several new features designed to make it easier to exploit NET 3.5 features such as Ajax and the foundation libraries (WCF, WF and WPF).

Thus .NET 3.5 is perfectly suitable to run on VS 2005 as well. Microsoft has long since split the versioning of the framework from the versioning of the run-time environment.

Why is this explanaition on versioning important?
Well, not everyone is ready to upgrade to Visual Studio 2008. Ofcourse the expense involved in upgrading is a point of decision. Apart from that people dont fall into misconception of various versioning dependencies with the IDE's which is not the case here.

What are the issues if we use .NET 3.5 with VS 2005 ?
Visual Studio 2005 does not have access to various new project and file templates and tools that support the new version of the framework. Developers may need to do more coding in Visual Studio 2005 than would be necessary in Visual Studio 2008.

How to access improvements in .NET 3.5 using VS 2005
As an example, consider the new integration between WF and WCF, provided in the new System.WorkflowServices assembly. The integration is provided via the new WorkflowServiceHost class and a couple of new activities. Visual Studio 2008 has new template support for building workflow services, and comes with a very useful new WCF test harness. However, exploiting this new functionality in Visual Studio 2005 is trivial. Create a WF workflow library, add a reference to System.WorkflowServices and add the new activities to your tool box. Finally, use the WCF Service template to add a service class to your project and you are just about in the same position as you would be in Visual Studio 2008 if you used the new Workflow Service project template. You'll need to write a couple of lines of code to use WorkflowServiceHost to host your service, of course.