This Issue Sponsored By
This email newsletter comes to you free and is supported by the following advertisers, who offer products and services that might interest you. Please take a moment to visit these advertisers' Web sites and show your support for Scripting Central.
Liquid Machines
http://www.windowsitpro.com/go/whitepapers/liquidmachines/rightsmgmt/?code=DEVTop0602
Macrovision
http://www.windowsitpro.com/go/whitepapers/xosoft/apppackaging?code=DEVMid0602
XOsoft
http://www.windowsitpro.com/go/seminars/xosoft/sqlserver/?partnerref=DEVWatch0602
Shavlik
http://www.windowsitpro.com/go/whitepapers/shavlik/adwareconsole/?code=DEVHot0602
1. Developer .NET Perspectives
2. Events and Resources
3. Featured White Paper
4. Announcements
Sponsor: Liquid Machines
Extend Microsoft Windows Rights Management Services (RMS) to support
enterprise requirements for information protection, including proprietary
business data.
http://www.windowsitpro.com/go/whitepapers/liquidmachines/rightsmgmt/?code=DEVTop0602
1. Developer .NET Perspectives
by Bill Sheldon, [email protected]
Scrum Isn't Just for Agile Processes
Including daily builds and an updated source control system in your
software development process is something of a no-brainer. As I discussed in
"Daily Builds and Scrum" (http://www.sqlmag.com/Article/ArticleID/50359/sql_server_50359.html),
you can use Microsoft Team Foundation System (TFS) and its Team Foundation
Build (aka Team Build) add-on to automate daily builds and updates. You can do
even more to improve your software development process by leveraging other TFS
features in that process.
For example, you can leverage the built-in process-documentation features when you create a new TFS project. TFS ships with two processes: CMMI (Capability Maturity Model Integration) and Agile, both of which are Microsoft Solution Framework (MSF) methodologies. When you create a new project, TFS lets you select one of these processes, then populates your project's Windows SharePoint Services site with documentation and in some cases tools related to the selected process. Based on my experience, the CMMI process is typically for large, long-term projects that often need to be repeatable. The Agile process is usually for shorter projects or for the initial prototype in a larger project. When you implement TFS for the first time, you'll probably want to start with a relatively short project so that you can experiment with TFS's features.
As I explained in "Daily Builds and Scrum," Scrum is a type of Agile process that centers on breaking a project into smaller steps. For example, I was recently involved in a month-long Scrum project. As with most projects, the customer wanted an update part way through the project, so I broke the project into two sections or "sprints" in Scrum speak. Each sprint represents a set of features that will be delivered in anywhere from about 2 to 4 weeks. This time range is along enough to allow real progress but keeps a longer project from quietly wandering out of control.
As part of the Scrum process, there are two areas you need to address. The first is the feature list. The feature list gets broken into two parts. The first part is a set of features that the development team thinks it can accomplish during the course of the sprint. The second part is a feature backlog, which represents all the other features that need to be completed for the final project. Although a project might have two initial sprints, it's possible that the backlog might contain enough features for three, four, or even a dozen sprints, each of which might be a month in length. Thus, the first area of Scrum addresses the size of your project.
You can align your feature list with your project's task list in SharePoint. This TFS-managed task list gives you a tool to manage the project features. In addition, because the task list is integrated with the source control system, you'll have a way to associate code changes that are checked into the source control system with the features that each code change implements. Note that in the Agile process, the Microsoft Excel-based task list is automatically generated and populated with some sample tasks.
The second area that you need to address when applying Scrum relates to project meetings. The Scrum process does an excellent job of describing the number and length of project meetings. In short, each development cycle starts with a meeting between the development team and the customer to discuss the features to be completed in that sprint. However, during the sprint, the customer is asked to essentially leave the development team alone.
The development team meets daily throughout the sprint. The first reaction to daily meetings is typically negative, but the reality is that Scrum limits that daily meeting to about 15 minutes.
The daily Scrum meeting is less like a traditional corporate meeting and more like the morning quarters I became familiar with while in the US Navy. The point of morning quarters was to bring together a team of individuals who worked in a common area (e.g., sonar) in order to quickly dole out tasks. It wasn't a status meeting, and it wasn't a time to discuss problems that a team member might be having with an assignment. It was a quick morning meeting in which everyone checked in to get that day's assignments.
The Scrum team is much more egalitarian than the typical military team, but to a large extent, that's how the daily Scrum meetings work. The idea is to have team members commit to what they're going to accomplish each day. That way, the team can monitor its progress toward the sprint goal. Although some tasks might take longer than expected, when a task starts to run late, it's immediately evident.
When the sprint reaches its conclusion in 2 to 4 weeks, the customer and the team meet. Together, they review where the product is and start planning for the next sprint or for the deployment of the current code base.
My quick rundown of how Scrum works is a bit of an oversimplification. I want to make it clear that using Scrum doesn't mean you're suddenly going to be on schedule with every project. What Scrum does is show delays earlier in the process. Scrum helps developers focus on short-term goals and lets them work in an environment that facilitates success.
What about CMMI? As I noted previously, CMMI tends to focus on large, long-term projects. In a CMMI project, the focus is on phases. Each phase might last several months, and there isn't much in the way of short-term monitoring.
Here's an interesting comparison between CMMI and Scrum projects concerning schedule slips (e.g., you were supposed to ship a product in Q4-06 but will now ship it in Q1-07). Let's say that during the first 30-day sprint of a Scrum project, a team finds it needs a short slip, say 10 percent (i.e., 3 days). Given that the slip is only 3 days, the team might be willing to move the project's delivery date to accommodate this slip. The team can then consider this slip when it plans future sprints and reviews the overall schedule. In a yearlong CMMI project, the same 10 percent slip would be 30 days. Even worse, the fact that this yearlong project isn't on schedule won't show up (at least not to the extent that someone will admit it) for at least 6 to 8 months. And the delay will probably be admitted to only a week at a time. For example, team members might initially tell the customer that the project is running about a week late, then a few weeks or even a few months later, they'll ask for another extension, then another, then another. Such extensions will erode customer confidence. By the way, internal customers are still customers and can still lose faith in their internal software organization.
I've been on many large projects that have suffered this fate. A methodology that forces you to deliver every month helps avoid this fate because you can see a trend develop and see its impact on the overall schedule. If every sprint was planned at the start of a project (which is common) and suddenly 50 percent of the originally assigned work isn't being done every sprint, the impact to the overall schedule becomes obvious, even 2 or 3 months into the project. At that point, the project's priorities can be reviewed.
Even though product managers are sometimes resistant to implementing an iterative methodology, they can still apply Scrum's basic rules to CMMI projects in order to better monitor progress and track short-term deliverables. The Agile-process tools that TFS provides for matching task lists to code check-ins are available to the CMMI process.
For more information about the MSF methodologies I've discussed here, I
check out these two links:
Sponsor: Macrovision
Learn how application packaging can cut your OS migration time while
maintaining error-free deployment.
http://www.windowsitpro.com/go/whitepapers/xosoft/apppackaging?code=DEVMid0602
2. Events and Resources
(brought to you by SQL Server Magazine)
Does Your Antivirus Software REALLY Protect You Against Spyware?
Are you depending on antivirus software to protect you against spyware?
Learn the key differences between antivirus and antispyware products and
protect yourself against a false sense of security. Live Event: Thursday,
June 8
http://www.windowsitpro.com/go/seminars/sunbelt/antivirus/?partnerref=0531winevents
Disaster Recovery for Your Windows-Based Applications
Learn to differentiate between alternative solutions to disaster recovery
for your Windows-based applications and how to ensure seamless recovery of
your key systems whether a disaster strikes just one server or the whole
site. On-demand Web seminar
http://www.windowsitpro.com/go/seminars/neverfail/disasterrecovery/?code=0531emailannc
Five Keys to Choosing the Right Antispyware Solution
In this free podcast, Randy Franklin Smith outlines five evaluation points
to consider when choosing your antispyware solution. Download it today, and
you could win an iPod!
http://www.windowsitpro.com/go/podcasts/pctools/antispyware/?code=0531emailannc
Disaster Recovery Lessons Learned from Katrina and Rita
Make sure that your DR systems are up to the challenge of a real natural
disaster by learning from messaging survivors of Hurricanes Katrina and Rita.
On-demand Web seminar
http://www.windowsitpro.com/go/seminars/mimosa/drlessons/?partnerref=0531emailannc
Implement Real-Time Processes
Implement real-time processes in your email and data systems--you could
also win an iPod Nano!
http://www.windowsitpro.com/go/toolkits/xosoft/disasterrecovery/?code=0531emailannc
3. Featured White Paper
Managing Mobility in the Enterprise
Identify the appropriate tools to help you manage your mobile workforce
effectively, avoid increases in TCO, and more.
http://www.windowsitpro.com/go/whitepapers/ianywhere/enterprisemgmt?code=0531featwp
2006 Watch
Learn how to design high availability options for your SQL Server 2005
environment from industry expert Mike Otey. He will also cover Windows
clustering, database mirroring, and on-line operations. Live Event:
Wednesday, May 31, 2006, 12:00 EDT
http://www.windowsitpro.com/go/seminars/xosoft/sqlserver/?partnerref=DEVWatch0602
4. Announcements
(brought to you by SQL Server Magazine)
Summer Special--Save 58% off SQL Server Magazine
Subscribe to SQL Server Magazine today and SAVE 58%! Along with your
12 issues, you'll get FREE access to the entire SQL Server Magazine online
article archive, which houses more than 2,300 helpful articles. This is a
limited-time offer, so order now:
https://store.pentontech.com/index.cfm?s=1&promocode=eu2166us
SQL Server Magazine Master CD--SAVE 50%!
Subscribe today and get portable, high-speed access to the entire
SQL Server article database on CD: a searchable library that includes every
SQL Server Magazine issue ever published. The newest issue also includes BONUS SQL Server 2005 Tips. Order now and save:
https://store.pentontech.com/index.cfm?s=9&promocode=eu2865uc
Hot Spot
Manage threats and vulnerabilities from adware and spyware in one console as
a comprehensive approach to maximizing network security.
http://www.windowsitpro.com/go/whitepapers/shavlik/adwareconsole/?code=DEVHot0602
Contact Us
Developer .NET UPDATE is brought to you by SQL Server Magazine, the only magazine devoted to helping developers and DBAs master new and emerging SQL Server technologies and issues. Subscribe today.
https://store.pentontech.com/index.cfm?s=9&promocode=eu215xdb
You can manage your SQL Server Magazine email newsletter subscriptions by going to http://www.sqlmag.com/email.
You can view the SQL Server Magazine Privacy Policy at http://www.sqlmag.com/aboutus/index.cfm?action=privacy.
SQL Server Magazine is a division of Penton Media, Inc. 221 East 29th Street, Loveland, CO 80538, Attention: Customer Service Department
Copyright 2006, Penton Media, Inc. All Rights Reserved.