﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Ashvil's Blog</title>
    <description>Notes from the Software world</description>
    <link>http://www.wwwcoder.com/Weblogs/tabid/283/BlogId/148/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>ashvil_d@yahoo.com</managingEditor>
    <webMaster>webmaster@wwwcoder.com</webMaster>
    <pubDate>Sat, 17 May 2008 07:37:54 GMT</pubDate>
    <lastBuildDate>Sat, 17 May 2008 07:37:54 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.29758</generator>
    <item>
      <title>Tenets of Transparency for everyone</title>
      <description>&lt;P&gt;Eric Sink has a great article on &lt;A href="http://msdn.microsoft.com/Longhorn/default.aspx?pull=/library/en-us/dnsoftware/html/software02052005.asp"&gt;Tenets of Transparency&lt;/A&gt; for ISVs. &lt;/P&gt;
&lt;P&gt;You can extend this to individuals in any job role. The more transparent you are, the faster you can get your work done. &lt;/P&gt;
&lt;P&gt;Start with a simple exercise, before attending any meeting, send an email documenting your expectations for that meeting. You will be amazed how quickly the discussion moves forward.&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/413.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2005/02/21/413.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/908/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/908/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=908</guid>
      <pubDate>Sun, 20 Feb 2005 22:00:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=908</trackback:ping>
    </item>
    <item>
      <title>Extending C# - Future Language research</title>
      <description>&lt;P&gt;Along with &lt;A href="http://research.microsoft.com/Comega/"&gt;Comega&lt;/A&gt;, the MS research folks have come up with &lt;A href="http://research.microsoft.com/SpecSharp/"&gt;Spec#&lt;/A&gt;, which is oriented towards developing higher quality software by adding features like non-null types, checked exceptions, method contracts, model-based testing, etc.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The great things about these two research projects are that they extend and build on C#, which increases the chances that it will be usable by real world programmers, to provide actual feedback that can be used to enhance the C# language. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Hopefully, feedback from these projects will give C# 3.0 and 4.0 features that reduce programming time, reduce object-database-xml impedance, enable safer concurrent programming and help writing more secure and higher quality programs. &lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/395.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/11/16/395.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/907/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/907/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=907</guid>
      <pubDate>Tue, 16 Nov 2004 19:14:00 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=907</trackback:ping>
    </item>
    <item>
      <title>Estimation and Scheduling of Work</title>
      <description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;One of the reasons projects spin out of control is poor estimation and scheduling of work. There have been tons of material on estimation but scheduling has not got the same coverage. &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;One of the common pitfalls of scheduling is mapping a project plan estimated numbers to a team member at 40 hours a week. Let’s run though this with an example, John is working on a 6 month project that is assuming that he would be working for 40 hours a week for the next six months. Besides working on this project, John has to attend a regular staff meeting, take care of some production support issues, take part in a virtual team for planning, attend some training and mentor a new employee. Also, John is planning to take three days off around Thanksgiving to spend the week with his family. &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;End result is that John this month can spend only 25 hours week on an average on this project but the project manager has gone ahead and budgeted at John to spend 40 hours a week. Poor scheduling like this that does not take care of the actual number of hours that a team member can commit and ignores vacation and holiday times are doom their projects to failures. If your project plan is based on inaccurate data, how on earth do you expect to ship on time.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;There is a simple solution to this – Always plan with the correct numbers of hours a team member can spend and include vacation/holidays/buffer time. &lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/390.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/11/07/390.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/906/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/906/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=906</guid>
      <pubDate>Sun, 07 Nov 2004 15:56:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=906</trackback:ping>
    </item>
    <item>
      <title>Software Reuse vs. Innovation </title>
      <description>&lt;P&gt;One of the points raised by the NIH (Not Invented Here) folks is Reusing software artifacts does not encourage innovation. &lt;/P&gt;
&lt;P&gt;The fallacy with the argument is that if there is already a reusable artifact, then by definition your artifact cannot be innovative. You are just reinventing the wheel and trying to claim that your wheel is better than all the others and thus innovative. &lt;/P&gt;
&lt;P&gt;IMHO, Software Reuse allows you to focus on innovative ways to solve business problems by taking care of mundane building blocks. &lt;/P&gt;
&lt;P&gt;Let’s take an example of Joe, an IT developer/analyst who is assigned to build reports. Joe decides to use ASP.NET and C# to write reports after understanding the requirements. Most of Joe’s time will be spent in writing queries, formatting reports and other low level activities. At some point of time, Management will start wondering why does it take so long to get a simple report and how come the report does not work in Excel. They will wonder where all the money they are spending is going. &lt;/P&gt;
&lt;P&gt;Mary builds a reporting solution block that allows her to quickly build reports without focusing on the C# and HTML code. This allows her to work with the business teams and also suggest what reports add value and how to deliver to them on a regular basis via email. Mary can build a reporting solution block by reusing reporting solutions like SQL Server reporting services or reusing .NET components like Active Reports, etc. &lt;/P&gt;
&lt;P&gt;By spending her time solving business problems in an innovative fashion with technology, Mary adds value to both herself and her organization. Mary shows true innovation by doing more than her expected role by working with her business teams to figure out how they can make quicker and better decisions based on the information she provides. &lt;/P&gt;
&lt;P&gt;If Management had to cut or outsource a job, guess who would they choose.&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/384.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/10/26/384.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/905/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/905/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=905</guid>
      <pubDate>Mon, 25 Oct 2004 21:29:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=905</trackback:ping>
    </item>
    <item>
      <title>A short marketing survey on Ashvil.net</title>
      <description>&lt;P&gt;If you have been reading Ashvil.Net or have subscribed to my RSS feed. Please take some time to help me understand why you read my blog by taking this &lt;A href="http://gyanquest.org/Default.aspx?tabid=73"&gt;survey&lt;/A&gt;, powered by &lt;A href="http://nsurvey.org"&gt;nsurvey.org&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;I plan to use this information to help me understand my audience better and fine-tune my articles, blog and presentations to my readers.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR&gt;Ashvil&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/380.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/09/09/380.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/904/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/904/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=904</guid>
      <pubDate>Thu, 09 Sep 2004 04:09:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=904</trackback:ping>
    </item>
    <item>
      <title>.NET 3.0 on Windows XP</title>
      <description>&lt;P&gt;Looks like &lt;A href="http://http://weblogs.asp.net/somasegar/archive/2004/08/27/221812.aspx"&gt;Som&lt;/A&gt; and his team finally heard Developers and .NET 3.0 will ship on XP with Avalon and Indigo support. Linux Desktops must be doing really well for MS seems to feel the pressure to ship &lt;A href="http://http://www.microsoft.com/presspass/press/2004/Aug04/08-27Target2006PR.asp"&gt;Longhorn&lt;/A&gt; without WinFS. &lt;/P&gt;
&lt;P&gt;This is a good decision for .NET developers as it gives them a wider market for Avalon and Indigo. Now that this decision is made, they can work on the &lt;A href="http://http://ashvil.net/blog/archive/2004/06/18/329.aspx"&gt;next&lt;/A&gt; one.&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/378.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/08/27/378.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/903/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/903/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=903</guid>
      <pubDate>Fri, 27 Aug 2004 16:13:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=903</trackback:ping>
    </item>
    <item>
      <title>Software Pricing with Eric</title>
      <description>&lt;P&gt;Eric Sink has a good &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoftware/html/software08052004.asp"&gt;article&lt;/A&gt; on product pricing strategies on MSDN. It is a must read for anyone in the software business. If you are developer and don’t understand software pricing you will have no idea how commercially viable that widget you are developing is. Pricing is a complex issues and this article covers that all the main points that drive it.&lt;/P&gt;
&lt;P&gt;One of the issues I have with the article is his example of setting a price point for a commercial version of Firebird. His argument of pricing it higher is not in line with his company’s pricing of Vault compared to VSS, Perforce, etc. Actually Perforce adopts his model but it’s pricing is out of reach for many developers.&lt;/P&gt;
&lt;P&gt;One of the stupidest things to do is to price higher than lower. If you price lower you will lose money but gain customers and market share. You will find that customers want to spend money with you after they trust you. Take a leaf out of the Component software vendors – Sell cheap then you can charge for Enterprise support, Source Code, Subscriptions, Training, etc. Enterprise customers love to spend money with companies they trust.&lt;/P&gt;
&lt;P&gt;The other thing I disagree with is to raise prices till the whining is just right. Whining customers don’t evangelize; they don’t act like sales people for your product. There are better ways to charge people who want to pay more and still include people who want to pay less.&lt;/P&gt;
&lt;P&gt;Eric’s article is a good start but the best place for you to get your pricing strategy is talking to your customers.&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/373.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/08/24/373.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/902/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/902/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=902</guid>
      <pubDate>Mon, 23 Aug 2004 23:45:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=902</trackback:ping>
    </item>
    <item>
      <title>IKVM - Java-to-.NET interoperability</title>
      <description>&lt;P&gt;Avik Sengupta&lt;/A&gt; has a good introductory &lt;A href="http://www.onjava.com/pub/a/onjava/2004/08/18/ikvm.html"&gt;article&lt;/A&gt; to &lt;A href="http://www.ikvm.net/"&gt;IKVM&lt;/A&gt;, which can be best described as a Java Virtual Machine for the .NET CLR. So if you are creating a .NET application, but want to use that cool new Java library that doesn't yet have a .NET counterpart, here's a solution for you. Conversely, if you are a Java developer who wants to call a .NET library from Java, IKVM is what you need. &lt;/P&gt;
&lt;P&gt;This should be very useful for interoperability between the two platforms but I doubt that anyone will use the Java language to write .NET programs or if it will bring the two communities together.&lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/370.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/08/20/370.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/901/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/901/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=901</guid>
      <pubDate>Fri, 20 Aug 2004 15:45:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=901</trackback:ping>
    </item>
    <item>
      <title>Web Services for Remote Portals (WSRP) and Portlets for .NET?</title>
      <description>&lt;P&gt;The Java world has portal standards called WSRP and portlets. Major Java portals seem to support it. It allows you to write a portlet using web services and defines standards for local portal component behavior. It's high time the .NET world adopts some standards in the portal market segment.&lt;/P&gt;
&lt;P&gt;For example, if I want to write a component to a .NET portal, I need to choose if I am going to support Sharepoint, Dotnetnuke, Rainbow, etc. I cannot write a portlet that works in multiple .NET portals. This hurts the small ISVs that make money writing portal components as they have to choose which portal to support. It also hurts portal administrators as it limits their choices. &lt;/P&gt;
&lt;P&gt;ASP.NET 2.0 supports web parts which could be used as a basis for .NET portlets but the portal vendors work together to build a standard that works. If you are a portal administrator or portal component vendor then you should start pushing your vendors to work together to build a common portlet standard for ASP.NET. &lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/367.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/08/18/367.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/900/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/900/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=900</guid>
      <pubDate>Tue, 17 Aug 2004 19:44:00 GMT</pubDate>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=900</trackback:ping>
    </item>
    <item>
      <title>The Problem and A Solution</title>
      <description>&lt;P&gt;The biggest mistake a product manager can make is not understand the difference between the problem and a solution.&lt;/P&gt;
&lt;P&gt;For example, Jill knows that Mark’s birthday is in a few days and she would like to send Birthday wishes. She can send a greeting card, email or call Mark. All these are different solutions to the same problem – Jill needs to convey her wishes to Mark. Understanding this difference is the key to building great solutions. In this example, AT&amp;T competes with Hallmark to win Jill's business. &lt;/P&gt;
&lt;P&gt;Before Intuit launched Quicken, the number one way home users did accounting was with a paper and pencil. Intuit realized that they need to compete with the paper and pencil method and not other home finance software vendors. If the home user thought the paper and pencil method was better, they would never adopt Quicken. Using this knowledge, Intuit designed the product with wizards and other UI techniques that made it more effective than the paper and pencil method.&lt;/P&gt;
&lt;P&gt;Unfortunately most product managers define competitors in a narrow solution space who have similar technology and business models. Quick, What is a competitor to Microsoft’s Frontpage? Macromedia Dreamweaver? How about portal software that allows editing via web browser. How about software that creates email newsletters. Unless you know the problem that the end user is trying to solve it pretty difficult to tell, who your competitors are. &lt;/P&gt;
&lt;P&gt;Companies that are competitor focused and blindly replicate features because a competitive product has it on it feature matrix are run by product managers who are carrying a signboard that says – Run over me. The &lt;A href="http://ashvil.net/customerdev.ppt"&gt;right way&lt;/A&gt; to build a product is really know the pain of the customer problem and find an innovative way to solve it.&lt;/P&gt;
&lt;P&gt;Products that are narrowly focused die out when there is a better solution to the same problem the end user is trying to solve. Remember the dial-up BBS business, the Internet has consumed it. Technologies like DSL make dial-up modems useless. It’s no use being the number vendor in a dying category. &lt;/P&gt;
&lt;P&gt;If you are with a company whose marketing folks can do fancy spreadsheets and graphs but cannot tell you what problem they are solving, it is time to bail out. &lt;/P&gt;&lt;img src ="http://ashvil.net/blog/aggbug/364.aspx" width = "1" height = "1" /&gt;&lt;p&gt;Syndicated from &lt;a href='http://ashvil.net/blog/archive/2004/08/11/364.aspx'&gt;Ashvil's Blog&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/899/Default.aspx</link>
      <author>ashvil_d@yahoo.com</author>
      <comments>http://www.wwwcoder.com/Weblogs/tabid/283/EntryID/899/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.wwwcoder.com/Default.aspx?tabid=283&amp;EntryID=899</guid>
      <pubDate>Tue, 10 Aug 2004 19:52:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.wwwcoder.com/DesktopModules/Blog/Trackback.aspx?id=899</trackback:ping>
    </item>
  </channel>
</rss>