Web Application Development with Microsoft Technologies

.NET Technologies Gadgets, Entrepeneour, Experiences and more

Web Application Development with Microsoft Technologies header image 1

Thoughts about Software Estimation with Microsoft Technologies

July 1st, 2009 · No Comments

Sometime ago I went through a very useful book titled Software Estimation: Desmistifying the black art, and adapted some of the techniques listed in the book to create a standarized estimation procedure.

However, we deal with the fact that almost every month there is a new tool from Microsoft aimed to boost team productivity and reduce the effort required to build each piece of software, so it’s always a new challenge to give accurate estimations to our customers.

A critical thing is to record all the effort spent in every project and task, which can be used to calibrate the estimations and produce better results.

We try to follow the rule: “Count if at all possible. Compute when you can’t count. Use judgment alone only as a last resort.” as much as possible. 

Once we have a good requirements specification we produce a WBS (detailed task list) and we count web pages, sql tables or anything that can help to compute the effort required to complete the task, we compute and then we calibrate with similar tasks done in the past. We identify risks, review tasks checklist and then use a 3 point estimate to be as much accurate as possible. These can be just the first steps of any estimation procedure.

Once we decide which technologies to use (i.e. Dynamic Data, Entity Framework, ASP.NET MVC or any other tool which could help to improve productivity), we calibrate the estimated effort with the results obtained in similar projects using the same technologies, or the results obtained from some pilot using any other emerging technology.

Finally we allocate some contingency (in software development it’s quite needed!). In the past few projects we convinced our customers about having an agile methodology in place (such as SCRUM). One of the various advantages of SCRUM is that the customer will get periodic releases of the software, while paying for the time spent building the features on each iteration. Contingency makes then no sense, and it can help to reduce total cost which is a great way to convince customers.

When following an agile methodology the rule (count, compute and calibrate) is still valid, as the team needs to estimate each story at the begining of each iteration, and the same procedure can be followed on each iteration, also considering team velocity (productivity) and the actual results obtained from the use of the selected development tools.

So far we are very happy with the results obtained from this combination of agile methodologies and a structured estimation procedure, reducing risks and increasing our list of happy customers.

→ No CommentsTags: Management · Tutorials / Tips

SEO in Uruguay (Spanish Resource)

April 9th, 2009 · No Comments

After one year working in some other major project, SEO Uruguay is back.

Stay tuned to know more about Search Engine Optimization in South America!

→ No CommentsTags: entrepreneur

Free ASP.NET MVC Tutorial available for download

March 14th, 2009 · No Comments

Guthrie and Hanselman, two of the best references in the Microsoft development world, wrote a step by step tutorial for building an ASP.NET MVC application from scratch. This will be added to a new ASP.NET MVC book to be released soon.

The tutorial is extremely detailed with screenshots, but it doesn’t go much deeper into the tool fundamentals (you should wait for the book or go through Hanselman or Scott tutorials in their blogs).

However it is nice to see how an application can be build on top of this cool new technology (to be released soon).

Our guys at UruIT have been using the Preview versions of this technologies with excellent results. It demonstrated to have a better organized and cleaner code, improving testing approach (TDD) among others.

So it worth sharing this cool resource. You can get all the details in the post by Scott Gu

→ No CommentsTags: Tutorials / Tips · ASP.NET

Time Management using Microsoft Project Server 2007

December 20th, 2008 · No Comments

We started using Project Server 2007 in our software development company sometime ago, in order to unify the project management activities. When configured properly, this is a powerful tool, as it integrates into SharePoint to create pre loaded project workspaces whenever a new project is added to the project center.

It also integrates Microsoft Project  which means you would be able to use all its features for schedule, performance, costs and resources management (among many others). Microsoft Project can connect to the Project Server to retrieve the available enterprise resources and schedule for each of them, which is very useful when multiple PMs are working in project management across the enterprise.

A crucial aspect in every company is tracking the effort spent by the employees in project activities. We have been using different web tools in the past, but still not happy enough with the results.

Some months ago we decided to use Project Server features for time management. Project Server exposes a web access interface so resources can create their timesheets to report time spent in the assigned or not assigned tasks.

Managers have the ability to approve timesheets and generate dynamic reports by project, by resource, by task, by period and export it to Excel if needed.

So far the experience with Project Server features for time management has been really good. But configuring it for supporting all these, is not so trivial.

It requires to set up cubes and data views for reporting, build the enterprise resources library, internet explorer configuration, and many other steps. For those who are interested in configuring this powerful tool, visit my post about configuring project server timesheets in the asp.net weblogs.

→ No CommentsTags: Management · PMP · Tutorials / Tips