Tuesday, February 24, 2009

Friday, February 20, 2009

Dot Net Tips & Tricks

http://dotnetdud.blogspot.com/

Monday, February 16, 2009

Microsoft Enterprise Library 4.0

Enterprise Library consists of reusable software components that are designed to assist developers with common enterprise development challenges. It includes a collection of application blocks and a set of core features, such as object generation, configuration, and instrumentation mechanisms. This release of the Enterprise Library includes one new application block, the Unity Application Block, which implements a framework that provides object generation and dependency injection capabilities, plus other new features and enhancements. Please go the link for more information: http://msdn.microsoft.com/en-us/library/cc512464.aspx

Friday, February 13, 2009

The Open Source Development Environment for .NET

SharpDevelop is a free IDE for C#, VB.NET and Boo projects on Microsoft's .NET platform. It is open-source, and you can download both sourcecode and executables from this site. In addition, you can find the latest information and changes on #develop, as well as get in touch with the team in the forum.

Please go to http://www.icsharpcode.net/

Software Development Unit Testing

What Is NUnit?
NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.4, is the fifth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages. For more information please go http://www.nunit.org/

Unit Testing VB.NET
Although VB.NET is a very popular development language most unit testing tools are not custom built for it. The available tools either do not support VB.Net features, or do not make the road to unit testing easier, by taking advantage of the language. For more information please go http://www.typemock.com/

JUnit.org Resources for Test Driven Development is dedicated to software developers and testers using the JUnit testing framework. For more information please go http://www.junit.org/

Thursday, February 5, 2009

Website Speed Test

http://www.websitegoodies.com/tools/speed-test.php

Use this process to estimate a project's effort hours

There are three early estimates that are needed for a project: effort, duration and cost. Of the three, you must estimate effort hours first.

Once you understand the effort that's required, you can assign resources to determine how long the project will take (duration), and then you can estimate labour and non-labour costs.
Use the following process to estimate the total effort required for your project:
  • Determine how accurate your estimate needs to be. Typically, the more accurate the estimate, the more detail is needed, and the more time that is needed. If you are asked for a rough order of magnitude (ROM) estimate (-25% - +75%), you might be able to complete the work quickly, at a high-level, and with a minimum amount of detail. On the other hand, if you must provide an accurate estimate within 10 per cent, you might need to spend quite a bit more time and understand the work at a low level of detail.
  • Create the initial estimate of effort hours for each activity and for the entire project. There are many techniques you can use to estimate effort including task decomposition (Work Breakdown Structure), expert opinion, analogy, Pert, etc.
  • Add specialist resource hours. Make sure you include hours for part-time and speciality resources. For instance, this could include freelance people, training specialists, procurement, legal, administrative, etc.
  • Consider rework (optional). In a perfect world, all project deliverables would be correct the first time. On real projects, that usually is not the case. Workplans that do not consider rework can easily end up underestimating the total effort involved with completing deliverables.
  • Add project management time. This is the effort required to successfully and proactively manage a project. In general, add 15 per cent of the effort hours for project management. For instance, if a project estimate is 12,000 hours (seven - eight people), a full-time project manager (1,800 hours) is needed. If the project estimate is 1,000 hours, the project management time would be 150 hours.
  • Add contingency hours. Contingency is used to reflect the uncertainty or risk associated with the estimate. If you're asked to estimate work that is not well defined, you may add 50 per cent, 75 per cent, or more to reflect the uncertainty. If you have done this project many times before, perhaps your contingency would be very small -- perhaps 5 per cent.
  • Calculate the total effort by adding up all the detailed work components.
  • Review and adjust as necessary. Sometimes when you add up all the components, the estimate seems obviously high or low. If your estimate doesn't look right, go back and make adjustments to your estimating assumptions to better reflect reality. I call this being able to take some initial pushback from your manager and sponsor. If your sponsor thinks the estimate is too high, and you don't feel comfortable to defend it, you have more work to do on the estimate. Make sure it seems reasonable to you and that you are prepared to defend it.
  • Document all assumptions. You will never know all the details of a project for certain. Therefore, it is important to document all the assumptions you are making along with the estimate.
    This type of disciplined approach to estimating will help you to create as accurate an estimate as possible given the time and resources available to you.

Pointers to valuable software development resources

As promised, here is a short list of valuable software development portals.

It is a good idea to start getting acquainting with them, and get into the habit of using them; perhaps not all of them, just those which you find the most helpful. Most come with newsletters, as well as public-domain source code and sample applications.

Kind regards,

Yuthear