Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


Just like Clockwork

CalendarAt OpenForce ‘09 we made a lot of announcements about changes to the DotNetNuke project.  One change that we announced was a commitment to provide more regular releases.  Over the past several years we have always focused on making releases when the software was “ready”.  This policy worked well when the project was staffed by volunteers as planning for fixed release dates is extremely difficult when you don’t know from week to week who would be able to work on the project, or how much time they would have available.

In software development, there are 3 major levers that you have available to manage a release given a fixed set of resources:  Time, Scope and Quality.  In general, we don’t feel that quality is a factor where you can cut corners.  This only leaves time and scope as levers you can use when preparing a release.  In the past we have worked on a somewhat fixed scope and fixed quality philosophy.  We tried to determine the features and bug fixes that would go into a release and keep testing until we felt that the software met the desired quality.  In 2010, we have shifted this approach and are now working to fixed release dates with a desired quality level and will adjust the scope as needed to ensure that we can meet our time and quality commitments.

2010 has seen a major improvement in how we manage quality and release dates.  DotNetNuke Corp. now has a dedicated QA/Testing team in place which we augment with support from the Core Quality team.  Working together, we are able to define a much larger number of tests scripts and have begun developing a suite of automated tests using WatiN and Gallio/mbUnit.  With each release, our test suite grows, which helps to ensure that we are not re-introducing old bugs back into the product and that we are catching more bugs earlier in the release cycle.  I am really excited that we have people like Jeroen van Menen (the creator and lead developer of WatiN) as part of our Quality team to help us in development of our test suite.  These changes to our testing approach allow us to improve our product quality with less effort than before and ensures greater consistency from release to release.

If you have followed the roadmap  for the past couple of release, you have seen us define the scope for each release at the beginning of the release cycle, work to correct the bugs and implement the features that are in scope, and then work to validate the bugs, features and enhancements are properly implemented.  As we work on the release, we constantly evaluate our code velocity and the remaining items in our scope and make adjustments as necessary to ensure that we can hit our target release date.  With each release we are getting better at understanding the code velocity that can be achieved by each of our developers and will adjust our future scoping efforts to ensure that we don’t need to make as many adjustments to our scope.

Starting with our 5.2 release in November 2009, we began working on ensuring that we were providing predictable monthly releases.  We have tweaked our anticipated release dates to fall around mid-month, every month.  In keeping with our security policy, we are avoiding releases going into a weekend or just prior to a major holiday.  Going forward we have planned for releases to occur in the first half of the week during our scheduled release week.  We believe that these changes will help our customers to better plan for upgrades and will ensure that we can continue to deliver a quality product.  On occassion we may choose to alter a release date so that we may coordinate the release with some other marketing event.  We will minimize these occurrences as much as possible and will announce them as soon as we have a reasonably fixed release date.

So far in 2010 we have had one release that occurred on schedule with another getting ready to go out the door this week.  We feel very comfortable that the changes we have put in place are working and as evidenced by the comments we received on the 5.2.2 release, we can see that people are noticing.  We believe that these changes, along with many others that you may have noticed will continue to allow us to serve our customers with a superior product that we can all be proud of.  I look forward to continuing to work with the development teams to further refine our release processes so that we may avoid some of the mistakes that we have made in the past where release dates slipped or where releases went out without the proper level of testing.

Technorati Tags:

Comments

There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out