Agile

There are 16 entries for the tag Agile
With my new job, I’ve not been able to take advantage of a lot of Agile/XP practices. In a company of four, where each is effectively working on a different project, collaboration is minimal. Also, for the projects that I am working on, the customer is very adamant about getting a detailed proposal up front, including a list of all of the screens and how they will operate. I’ve managed to get by without too much detail, but it is still more than I am generally comfortable with. TDD and Continuous ......
Recently, the CEO of Sprint could be seen in TV commercials stating "Technology is only great when you know how to use it." Here is an article that digs a little deeper into this ad campaign. The purpose of the campaign is to highlight Sprint's customer service, which of course is vitally important to any company providing products or services. I am not here to criticize Sprint. In fact, if you read the article, you will see that they are addressing technology simplicity as well as customer service. ......
Recently I posted a comment to an article talking about only billing hourly and not entering into fixed bid contracts. I agree with the post (for the most part), but felt compelled to respond to one of the comments. I thought I would include this in my blog because I think it is an interesting topic. The focus here is not how we estimate from an Agile approach (read Agile Estimating and Planning if you are looking for that). Here, I am addressing a specific argument that Agilists "can’t estimate ......
Whoa! Why does it need fixing if it is not broken? I'd like to explore the definition of "broken". Here is a modest list of signs of broken code. A test is failing (I know, painfully obvious) The code doesn't do what the user expects. (Likely, you actually have a broken test or it's missing altogether.) The code is hard to read, hard to enhance and brittle. I think the first two bullets are obvious and the customer will see the value in fixing the code. The final bullet leads us to refactoring. How ......
Clearly MS hasn’t caught up with the third party tools that are out there? Which do you guys use? ReSharper Refactor! Pro C# Refactory Visual Assist X I've used Refactor!Pro on a previous project and liked it quite a bit. I assume a lot of these include the same basic features. Perhaps the difference is in the number of refactorings and additional features outside of refactoring. ReSharper seems to be the most widely used. But, does it give the most bang for your buck? Does it meet the needs of a ......
In the application I've been working on, we have the requirement to handle unique constraint errors gracefully. It wasn't really hard, I just had to check for OracleException.Code == 1. The trick was the testing. Testing a unique constraint error was not a problem. The issue is verifying that other exceptions are bubbled up properly. The basic exception handling code is like this: 1 protected bool HasUniqueConstraintError( Action databaseAction ) 2 { 3 try 4 { 5 databaseAction(); 6 return false; ......
I received quite a bit of feedback regarding my Join extension to IEnumerable that generates a comma separated list. The purpose was to emulate string.Join(), but to add more flexibility as to what is "joined". I took some time aside to investigate some of the suggestions and alternatives to my implementation. I should note, that I would not normally do this. I try to avoid premature optimization. However, there are certain practices that can be learned that improve performance in general (like using ......
Introduction In all honesty, this review may be a bit premature. However, I wanted to record my thoughts and see if anyone listening shares them or has a difference of opinion. I've been evaluating the SlickEdit Tools and have come up with a few top picks. Also, I have identified some that make little difference to me. First of all, the Tools are segregated into two products: Editing Toolbox and Versioning Toolbox. I'll review them separately. Editing Toolbox Top Picks: Acronyms - This one is quite ......
This week, we had our first deployment of the product I have been working on for the last several weeks. The deployment is to the customer's test environment and it is not a fully functional product. However, the features delivered are complete. The user are very excited. In fact, they immediately started testing the data in parallel against their prior system (Access and Excel). We received an email yesterday, stating that the data looks great and the tone of the email was very positive. Personally, ......
There are some key practices that all Agile developers should be familiar with. In fact, "familiar" probably isn't strong enough. One of these practices is test-driven development (TDD). As one of the most important activities it ironically requires a lot of discipline. What does Red-Green-Refactor mean? Here is a brief description. There are plenty of places to learn about TDD and Refactoring in more depth. Red: write a test (it fails of course) Green: write the least amount of code (the simplest ......
I received the "okay" today to develop our new application in .Net 3.5. This is really great news. I am looking forward to taking advantage of some of the new technologies available. In particular, I will be checking out the MVC Toolkit that Microsoft offers as an add-on. I have implemented MVC/MVP in previous versions of ASP.Net. The experience was cumbersome at best. The real issue I had is that it was really difficult to move the appropriate pieces out of the view and that the view knew too much ......
I've been working on the Statement of Work (SOW) for the new project I am involved with. The client is looking for a lot of detail. Initially, I shared my concern about putting too much detail in this document so early in the project. We discussed the fact that we will learn a lot as the project progresses and the SOW could become severely out of date. It felt like I would be wasting a lot of time on the details. I've decided, however, that there are some advantages to this work. First, there have ......
Last week I started working on the build scripts for my new project. I've worked on build environments in the past, but I didn't really commit everything to memory. Thus, I have had to reinvent the wheel in some ways. So far I have established commit and nightly builds. Each build cleans up after the previous build, retrieves the latest source, compiles the application, and runs the tests under coverage. The tools of choice: CruiseControl.Net, Subversion, NUnit, NCover, and MSBuild. Originally, I ......
This week I learned a hard lesson. I was at a customer site and assumed that because my boss agreed with the Agile principles and practices that I was touting, then the customer would agree without question. I didn't even make a proper presentation as to the benefits that the customer could expect. Michael Cline said in response to my last post, On Agile Island, "the customer cares about one thing. Does it make my life easier?" I shared various features of Agile, but I did not really address the ......
I am working on two new projects. On one of these projects I am the only resource. I am responsible for obtaining user stories from the customer, testing, development and deployment. The only thing that is managed by someone else is the priority of the stories. There are a couple of things I noticed that is different than Agile team experiences that I have had. First, while it may seem that this situation greatly simplifies communication, it is still of utmost importance. What I mean by this is that ......
Well, I have been thinking about hopping on the blogwagon for quite a while. Now, I have finally done it. For a brief introduction to me, I am a software developer of 13 years and an Agilist. I am currently at a new start-up company, Xcis-Software. As you can imagine, my responsibilities are extensive. I see this as a unique opportunity to put Agile into practice from many different perspectives. My intent for this blog is not to provide brilliant insight to the masses. Certainly, my insight is very ......