|
|
|
|
 |
| Notes from Software World |
By ashvil on
11/16/2004 3:14 PM
Along with Comega, the MS research folks have come up with Spec#, which is oriented towards developing higher quality software by adding features like non-null types, checked exceptions, method contracts, model-based testing, etc.
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.
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.
|
By ashvil on
11/7/2004 11:56 AM
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.
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.
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.
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.
|
By ashvil on
11/7/2004 11:56 AM
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.
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.
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.
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.
|
By ashvil on
10/25/2004 6:29 PM
One of the points raised by the NIH (Not Invented Here) folks is Reusing software artifacts does not encourage innovation.
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.
IMHO, Software Reuse allows you to focus on innovative ways to solve business problems by taking care of mundane building blocks.
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.
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.
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.
If Management had to cut or outsource a job, guess who would they choose.
|
By ashvil on
10/25/2004 6:29 PM
One of the points raised by the NIH (Not Invented Here) folks is Reusing software artifacts does not encourage innovation.
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.
IMHO, Software Reuse allows you to focus on innovative ways to solve business problems by taking care of mundane building blocks.
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.
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.
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.
If Management had to cut or outsource a job, guess who would they choose.
|
By ashvil on
9/9/2004 1:09 AM
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 survey, powered by nsurvey.org.
I plan to use this information to help me understand my audience better and fine-tune my articles, blog and presentations to my readers.
Thanks, Ashvil
|
By ashvil on
9/9/2004 1:09 AM
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 survey, powered by nsurvey.org.
I plan to use this information to help me understand my audience better and fine-tune my articles, blog and presentations to my readers.
Thanks, Ashvil
|
By ashvil on
9/1/2004 5:54 PM
QuikChannel was my second product concept. It was conceived in 1997 during the IE 4.0 beta, which came up with the concept of channels using a format called CDF.
The problem I had with the Microsoft channel concept was that publishers control what you see and I wanted to transfer that control to the end user. The idea was to create aggregate channels from all the different news sources. Channels customized around my niche needs.
For example, If I was interested in Microsoft, then all the news items from different CDF sources (Cnet, MSNBC, etc. ) was presented on one page in a Microsoft channel.
The second part of the idea was to use collaborative filtering techniques to decide what news items the user would like to see. So if I am interested in unit testing, I create a Unit Testing channel that aggregates all the Unit Testing Information news items on one page like a Newspaper.
QuikChannel made it to version 1.0 but other priorities took over. CDF never took off and it was years before RSS became popular.
Fast forward to now. Nik from Speerio created a module for DNN that made me reminisce about QuikChannel.
Google News aggregates the News but not at a personal level or drill downs to create Niche topics. I cannot have a personal News page created from the News Sources I choose.
The online aggregators like Feedster, Bloglines are still are oriented around the publisher’s view, expect me to search for content or publish my own content.
Weird. I thought someone would have solved this problem by now. Give me a simple way to view Channels the way I want them, not the way the channel publisher wants them.
|
By ashvil on
9/1/2004 5:54 PM
QuikChannel was my second product concept. It was conceived in 1997 during the IE 4.0 beta, which came up with the concept of channels using a format called CDF.
The problem I had with the Microsoft channel concept was that publishers control what you see and I wanted to transfer that control to the end user. The idea was to create aggregate channels from all the different news sources. Channels customized around my niche needs.
For example, If I was interested in Microsoft, then all the news items from different CDF sources (Cnet, MSNBC, etc. ) was presented on one page in a Microsoft channel.
The second part of the idea was to use collaborative filtering techniques to decide what news items the user would like to see. So if I am interested in unit testing, I create a Unit Testing channel that aggregates all the Unit Testing Information news items on one page like a Newspaper.
QuikChannel made it to version 1.0 but other priorities took over. CDF never took off and it was years before RSS became popular.
Fast forward to now. Nik from Speerio created a module for DNN that made me reminisce about QuikChannel.
Google News aggregates the News but not at a personal level or drill downs to create Niche topics. I cannot have a personal News page created from the News Sources I choose.
The online aggregators like Feedster, Bloglines are still are oriented around the publisher’s view, expect me to search for content or publish my own content.
Weird. I thought someone would have solved this problem by now. Give me a simple way to view Channels the way I want them, not the way the channel publisher wants them.
|
By ashvil on
8/27/2004 1:13 PM
Looks like Som 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 Longhorn without WinFS.
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 next one.
|
|
|
|
|
|
|