Steve Holstad's "the bright lights"

"Just because your voice reaches halfway around the world doesn't mean you are wiser than when it reached only to the end of the bar." - Edward R. Murrow
in

August 2005 - Posts

Microsoft Discussion Groups

As Clarity continues to grow, we've refocused on becoming more openly involved in the tech community.  I happened to start leafing through Microsoft's Discussion Forums, looking for an answer, and two hours later I was still there, addicted, answering questions for new .NET developers.  I know this group is not breaking news, but I think its important for us to get involved in communities like this...there are a TON of folks out there struggling to learn how to use the .NET framework and its languages.  What better way for us to learn new things and develop some partnerships than by helping out less experienced programmers in a public forum?  (and yes, some kids looking for an easy solution for their mid-term project).

In the short time I was there, I had already started to notice who the lead posters were, why not have some of those leaders be us?

On rereading this, it sounds a little Jerry McGuire-ish, so tomorrow I'll be the guy in the office, grabbing our .NET vodka bottle, and yelling "who's coming with me?"  Judging by the happy hour photos, apparently a lot of you.

Posted: Aug 24 2005, 12:13 AM by sholstad | with 1 comment(s)
Filed under:
IE7: RSS vs. Web Feeds vs. Firefox...oh my

There's an interesting debate occurring right now about the future of RSS and its accompanying terminology.  This has been set off by the announcement that IE 7 Beta 1 supports RSS feeds (.9x, RSS 1.0, and RSS 2.0), with ATOM support to come.  I for one think this is a nice new feature to add to a web browser, something that was long overdue for a technology that has been around for years.  Microsoft is taking heat on this topic, mainly for three reasons:

- Firefox already supports feeds as 'Live Bookmarks', and some see MS as 'borrowing' the technology.

- Naming standards have the bloggers up in arms.  IE 7 is loosely set to use the term 'Web feeds'.  Dave Winer, father of RSS, and others feel this is an insult to the technology they pioneered, and feel that the machine is simply creating a new term to send to market.  Supporters argue that since ATOM will be supported as well, "RSS Feeds" is not an approprate term, as the technologies differ.  A lively comment log is building here about the naming standard.

- Posts are accumlating about how we shouldn't be impressed, as this is XSLT transformation being spun into a slick new item.  I disagree, but sometimes people like to point out that they weren't fooled.  So what?  If it makes something easier for one person, isn't that an improvement?  Microsoft is not claiming they invented this technology, and I'm sure its effect will be predictable, if not desired:  Techies will revolt against, or more likely, ignore the new feature, but it will bring casual internet users face to face with a nice method of keeping up on blogs and news articles.  As a programmer, I sometimes have to place myself in the shoes of my mother, (I got them on sale <g>), and think like she would when trying some new gadget or software.  She would NEVER give an aggregator the time of day, and has no interest in keeping up with the latest articles on her top 10 websites, like we would.  She would, however, like to be able to click a button and see the latest information neatly displayed within her browser.

I'm looking forward to seeing just how well IE 7 is received, it should be interesting.  For now, the debate rages on....

Related Articles:

The Joy of Tradeoffs

An important element in managing a project is the ability to handle tradeoffs.  A project contains three adjustable variables: Resources, Schedule, and Features.  (Quality is not included, as any adjustment to quality as a variable will guarantee a short career lifespan, and flipping burgers just sucks.)  Its important to remember as you are planning a project that if one of these three variables need to be adjusted, then another will have to be adjusted as well to guarantee a project remains on time, on budget, and results in an excellent product. 

This can require some excellent managerial skills, as clients are often reluctant to reduce the feature set of an application, while the development team may have a limited number of resources to throw at a project.  Failure to manage these changes results in the dreaded scope creep, a leading factor in the failure of so many development projects.  Once a change is agreed upon, it is critical for all stakeholders in the project to sign off to ensure the new project plan is fully supported.

One way Microsoft attempts to transform this into practical wording is by using, of course, Mad Libs:

"Given fixed ________, we will choose a ________ and adjust ________ if necessary."

Example: "Given fixed features, we will choose a schedule and adjust resouces if necessary."   See, who said project management couldn't be fun?

Introduction to the Microsoft Solutions Framework

Hello gang,

I'm going to start this off by examining the Microsoft.NET Solutions Framework.  This is a topic that most developers don't seem to take the time to fully understand before diving in to .NET.  Once you are more comfortable with the language, this is a good step to take to further your knowledge that can be applied to the largest custom solution, or a small personal app.  I personally think being skilled in solution design is what separates good programmers from excellent ones.  I'll post more about Solution Architecture as I go, so check back often.

This topic can be used in preparation for Microsoft Exam #300 Analyzing Requirements and Defining Microsoft.NET Solution Architectures.

The Microsoft Solutions Framework

The Microsoft Solutions Framework (MSF) is based on a group of models, principles and guidelines that aid in developing .NET applications by continuously managing team members, technologies and design processes.  One reason I endorse the MSF as a design process is the success of those who use it:  The MSF has evolved from the experiences of both Microsoft developers and external customers, vendors and developers throughout the IT community.  This is important, as a pattern created in a classroom or textbook that has no real-world application is a waste of everyone's time and resources.

Process Models - The MSF Process Model attempts to combine the best of both worlds by taking the best parts of the Waterfall and Spiral  models and merging them into a workable design process.  Waterfall models excel in scheduling and task assignement, while spiral models tend to generate a cohesive team between developer and client by involving the customer in all stages of the product lifecycle.

Instead of  a straight-line model, imagine a spiral line with milestones at specific intervals along the path.  This is Microsoft's image of the MSF process model.  This allows the project to iterate over n cycles until the product is deliverable, while maintaining aggressive but achievable milestones along the way.  In my experience it is necessary for developers to have short-term goals, else the direction and destination of the project become murky in a never-ending queue of tasks.  Talk with a developer that hates their job, and I'll bet they aren't being challenged by their project load.  Or they're coming off a nasty 12-hour Mountain Dew high.

The process model is separated into five phases: Envisioning, Planning, Developing, Stabilizing and Deploying.  Think back on the last few projects you have worked on.  You've probably been working through these stages, even if you didn't know it.  If you didn't spend enough time on one of these stages, you've probably spent quite a chunk of time in the Stabilizing phase.  We've all been there, putting another Band-Aid on an app that you KNOW wasn't the way to handle the issue, but project constraints have forced your hand.  The MSF attempts to limit desperation code by allowing a flexible project lifecycle.

Posted: Aug 09 2005, 02:36 AM by sholstad | with no comments
Filed under: