in
Forums
Blogs
DevExpress.com
Client Center
Support Center
DevExpress Channel

Gary's Blog

DevExpress and the Agile Manifesto

Recently I attended the Agile Edge conference in London, where I presented a talk entitled “Compare and Contrast the Implementation of Agile methods in the Enterprise and ISVs”, sound thrilling or what? Actually, it is an interesting talk (well my audience thought so anyway) but it begs the question “What does DevExpress have to do with agile development”?

Well, as it happens, there are two principles of the Agile Manifesto, where DevExpress can support the agile team. The first of those is

“Continuous attention to technical excellence and good design enhances agility.”

image DevExpress helps the agile team achieve this principle with our CodeRush product. The new code analysis feature in the 9.X version help developers maintain “technical excellence and good design”. With this feature of CodeRush enabled the tool will mark (in the right hand gutter) the line in the source code where it thinks the developer has deviated from best practice. When the developer then highlights the mark, CodeRush will provide a call out detailing errors in the developer’s code (as shown in the image to the left). This will allow the developer to systematically work his way down the list of results from the analysis until all the results have been fixed, or the developer is satisfied that they can safely be ignored.

Of course, this feature requires the use of background compilation and as such may slow down your environment (although I have to say it doesn’t on my Thinkpad Z61p with 3Gb of RAM). If you find that this is the case, then the feature can be turned on and off, as required, by clicking the appropriate button in the toolbar.

The other principle where DevExpress can help the agile team is

“Simplicity--the art of maximizing the amount of work not done--is essential.”

It’s much easier to see how DevExpress can help the agile team with this principle. Our large array of components for Windows, web, WPF and Silverlight cuts down, drastically, the amount of work that a team of developers has to do. If your team is handed the task of developing a new accountancy suite for your enterprise, you do not want to be spending three months developing your own charting solution, for example. No, you want to buy in a really solid third party solution - in other words, you want to “maximize the amount of work not done”.

So, as you can see, although it may not appear at first glance that a company like DevExpress has a lot to offer the agile team, if you scratch beneath the surface you will see that we have tools and components that will help you achieve the principles of the Agile Manifesto.

Digg This
Published May 28 2009, 03:50 PM by Gary Short (Developer Express)
Filed under: , ,
Technorati tags: RefactorPro!, CodeRush, Agile

Comments

 

Rory Becker [DX-Squad] said:

Buying in a solution (or set of components) indeed means that you didn't have to write them yourself...

...but it also has an additional added bonus...

... If I didn't write it .... I don't have to maintain it. FTW!

May 28, 2009 11:35 AM
 

Gary Short (Developer Express) said:

Yes pushing the maintainence back onto the vendor is another agile win!

May 28, 2009 12:51 PM
 

Martin Brekhof said:

The reason I/we bought the DevExpress was especially we wanted to “maximize the amount of work not done”. Now I'm a component-programmer instead of a Real Programmer so maybe some off the experience I'm about to share does not reflect anyone but it does show where the real problem is whentrying to get the most out of these components.

I had to create a simple program that has 4 different SQL queries. Each of them has some parameters which are used to filter the data. After the user is satisfied with the data he must be able to export this to a CSV file.

Xtragrid to the rescue! Creating the queries and connecting them to different grid components was easy. Drop a printingsystem component on the form and your done. This is where the fun started:

1) Trying to rearrange some columns (70+) in the grid I started up the grid designer and chose columns. Removed some and closed the designer. The columns somehow where still in the old order. To cut a long story short: it took me quite some time to find out that reordering in the columns part of the designer has some other purpose (I still can not figure out which) and one has to choose 'Layout'. I found this out because there was a support call from someone else having the same problem.

2) As I'm dutch as are my users I changed the culture of the program so the dates where in dd-MM-yyyy format. The Xtragrid behaved like expected. However the datetime pickers did not? Surprise, surprise the date time pickers have to be hand-coded each and every one. It took finding another bug report to find out that this was 'by design'. I can live with that for now but I hate to think what this means in a large, multi-culture project.

3) ShowPrintPreview might not all that interesting for someone trying to export a CSV file. So why not ExportToCSV? Now XtraGrid has 9 different ExportTo.. methods but not an ExportToCSV. Ok, it is probably new, save the project, close this VMWare instance, fireup the VM machine with 9.1.4, convert the project and ...stil no ExportToCSV. Long story short: it took me another search of the support database the find someone asking the same and getting a few lines of code.

4) While I was at it I tried the new date filtering for columns in the XtraGrid. Takes some getting used to but the animation is brilliant. However the datetime pickers behaved as always. Two different ways to select from a calendar? That would mean extra support calls. Then I noticed the red button with a white cross to close the filter and some centimeters below the same icon to remove the selection. So 'Close' and 'Remove' have the same icon? I copied the new code saved it in a file, went back to the other VMWare instance, pasted and compiled.

I still think components like Xtragrid are brilliant and save me a lot of work but it is all these little things which somehow seem to go unnoticed that take back a significant portion of the time saved.

May 29, 2009 3:50 AM
 

Gary Short (Developer Express) said:

Hello Martin,

Yes you are right, whilst our products do go a long way to helping you "maximize the amount of work not done" we know they are not perfect, that is why chatting to customers, like you, is so important. I've passed your comments onto our CTO.

May 29, 2009 6:47 AM
 

William Rogers said:

Martin brings up some good points. But I would say that what he is observing is going to be true of any large codebase that you are trying to use. Some of your requirements may not be implemented, and some of the functionality may be a little odd or not well-implemented. In my couple of years using the DevExpress .NET controls, I've found them on balance to be pretty good in terms of working well, doing what I wanted, and having responsive support behind them.

Another related point I wanted to bring up is the learning curve. One thing I think feel tricks many software developers and managers is the length of the learning curve when working with rich components. Sure, you can do simple things quickly, but to really flesh out your app really requires a lot of time. I feel like the marketing message sometimes contradicts the reality, which is that it takes quite a bit of time to gain experience using a lot of the features of these components. So doing a nice GUI (or web page) is going to take some time beyond the quick drag-and-drop fare of the typical PowerPoint sales presentation.

May 30, 2009 3:58 PM
 

Joe Hendricks said:

"Yes pushing the maintainence back onto the vendor is another agile win!"

Yes! Especially when your own resources are limited and the vendor(DevEx) has a great track record of maintenance!

June 25, 2009 12:35 PM

Leave a Comment

(required)  
(optional)
(required)  
Verification code: Required
   
Add
Copyright © 1998-2010 Developer Express Inc.
ALL RIGHTS RESERVED