Quite recently I attended my company's internal presentation regarding agile software development (ASD). During Q&A (questions and answers) part someone who was not convinced to use ASD complained that refactoring means rewriting the code from scratch. It's bullshit, of course, but as you can see people who don't know ASD can proliferate misconceptions about many ASD ideas.
In this post I would like to show you an example of refactoring in an unconventional way. I hope you will like it.
My very first apartment
Two years ago I bought my very fist apartment in the center of Gdynia. This picture of the kitchen was taken a day after housewarming party (before the rennovation):

Refactoring phase
We (me and my wife) didn't want to change too many things in this flat. We wanted to have a new kitchen and bathroom but the rest should be more or less untouched. In other words we wanted to do only slight refactoring of our apartment.
We were Product Owners and we changed our mind after some pieces of advice made by our parents and friends and we decided to change electrical, heating and water infrastructures as well. The refactoring was getting more serious.
When the heating and electrical teams finished they work (they completely destroyed our bathroom - this was part of the plan, unfortunately) we employed another team in charge of making our bathroom and walls flat ;) shiny, colorful and beautiful. At that stage we really wanted to keep the parquet on the floor but as our refactoring proceeded we discovered many unpleasant surprises ;) We had to remove the parquet and fill some holes in our floor with new layer of concrete! Oooops!
Our "product" looked like this (the middle of the "release"):

Refactoring often hurts
I as a Product Owner was in despair - I didn't want to watch this mess. Our apartment looked like big shit and it was getting worse and worse. Our refactoring phase was at the peek!
I was a good project manager of this project and coordinated work of 5 different teams - when one team finished the job the next one entered the flat few days later. Of course we had many many problems with the guys and it was often big hurt but my stubbornness and will made it to the happy end.
The refactoring was painful (especially that it was our beloved and very first apartment we wanted to inhabit very quickly) but the effect was stunning:

Retrospection
Our release took 2 months and the phases we went through were:
and maybe something more traumatic but I don't want to remember this.
We didn't destroy the structure of the walls and any other fixed elements of the building but within the flat we refactored almost everything. We made this flat amazingly beautiful, safe and modern (all "middleware" infrastructures are new). And it was worth it - even taking into account "renovation trauma" we still have :)
Software analogy
Please note that the analogy to the software refactoring is not very strong here as you will be probably tempted to perform rather shorter refactoring cycles. However, such big software refactoring happens (I used to do some) and can last even for half of the 30-day iteration but you have to perform them very carefully (hopefully you have good test coverage and you can sleep well after such operation). Going with this analogy further - it's much easier to make another short software refactoring task after few iterations and add some more features than destroying another room in the apartment while already living there - these worlds are not 100% compatible here :)
Refactor or not?
I think this example is quite extreme but hopefully shows how code refactoring could look like. In the middle of the refactoring phase, which can be project-wide and affect 80% of your classes and packages, you can have complete mess (or brothel if it translates to English). But at the end refactoring pays off and you can easily get new infrastructure and internal design. Your code will be more extensible and ready to implement new features. And it's not rewriting your code from scratch (look, we didn't destroy the whole floor of flats - we reordered the internals).
If you need to refactor your code significantly and you know the value will be greater than the cost you should definitely go for it. It could be painful, your manager and colleagues could hate you during this period of time but when they see the effect they will love you (of course if you succeed :). And you could go on holiday - someone else will add new feature basing on new refactored code.
Comments
this is a poor refactoring analogy
July 24, 2008 by Coleman (not verified), 2 years 5 weeks ago
Comment id: 1707
This is NOT refactoring, this is rewriting. Refactoring would have been replacing the cabinets, then replacing the flooring, then rewiring, then painting, etc. Refactoring is defined as improving the design of existing code while keeping or adding to the same API. Refactoring is not supposed to be painful; it's supposed to happen in short chunks with great confidence since you have more than adequate test coverage.
I have just completed a refactoring of several classes which were simply not designed well. The API was solid, however, and I did not have to change ANY of the API. Some class names changed but that was a simple matter of compiling and fixing the few constructors that were now incorrect. This took a day and a half and I made quite certain that other developers were not affected; where they would have been affected I cleaned up my own mess. I have a feeling your wife would not consider your "refactoring" to have been quite as successful. ;)
A few more observations: you MUST remember the traumatic parts of the sprint during the retrospective or your retrospective is not worth the time you put into it. If you are budget sensitive, you cannot afford to take half a 30-day iteration to refactor. You have to work within the budget; if changes to the app require refactoring, however, this should be added to the budget. You just can't refactor because you think it's a good idea, there MUST be a business case for it.
Actually it is, and all too typical of legacy code
July 24, 2008 by peterstev, 2 years 5 weeks ago
Comment id: 1712
As I understand refactoring, it means modifying the architecture to meet new requirements. The customer wanted a nicer place to live. Replacing the building was not a viable option (constrained by costs and other residents or stakeholders), so the building had to modified to meet the new requirements.
Sounds like a refactoring to me.
The "code" was pretty old, nobody really understood it. Initially they had hoped that repainting would be enough, but as they learned more, they had work on more deeply buried problems.
The building is still there. Floors and ceilings and window are still the same place. He didn't replace any structural supports or change the number floors, so we still have the original building. But the apartment is much nicer now, and safer too, with new electrical wiring and other improvements.
So in my book this was a refactoring. Quite a painful one, I admit. If he owned the whole building, he probably would have thought seriously about tearing it down and starting from scratch. But that wasn't an option. (And if I owned the building, I might consider investing more in maintenance). But it represents fairly the problem you have with legacy code.
The hard part in refactoring is ensuring that nothing breaks, i.e. that all dependencies still work properly. That is where automated testing and continuous integration play a critical role. I wonder how to apply the remodeling analogy to that part of the problem.
Cheers,
Peter
I wrote what you mentioned
July 24, 2008 by pbielicki, 2 years 5 weeks ago
Comment id: 1713
I wrote what you mentioned in the "Software analogy" part.
It seems that you've never renovated any flat or apartment. Basically it looks like you wrote replacing the cabinets, then replacing the flooring, then rewiring, then painting, etc. one after another but you cannot call it done until the last operation. And it's time consuming.
I love agile methods because they force people to THINK and not to stick to some stupid rules. Of course most of the time refactoring would mean short cycle and blah blah blah what you wrote. But sometimes you work with so shitty code or you postponed previous refactorings until the shit hit the fan that you have to do BIG thing at once. So what? Should I tell my Scrum Master that I cannot do this because it will take more time than "short"? You have to think and if the only solution is to do the painful refactoring - DO IT.
I've performed hundreds of refactorings and most of them were short. Some of them were big and painful and they still were refactoring - I didn't add any single line of code (maybe except creating new empty classes and moving existing methods from other classes there). And everyone knew it's going to be painful but we all still agreed to do this. We delivered everything we wanted during the Sprint - did we do something wrong? No.
And about the apartment, well, I wish you as many successes with your apartment as I had :)
PS. BTW. I agree with you that refactoring should be short and not painful but well, sometimes you have no choice.
If you can still go to the
July 24, 2008 by Coleman (not verified), 2 years 5 weeks ago
Comment id: 1716
If you can still go to the bathroom, and still turn on the lights, and still cook dinner, that's refactoring. I stand by this being a rewrite. The design was improved, sure, but at the cost of weeks (maybe months) of downtime. I actually have renovated a kitchen. First we replaced the flooring. A couple of years later we replaced the cabinets and immediately put back the old sink/countertop (cabinet installers around here don't generally do countertops too) so we would keep eating at home for the next month. The backsplash was beat all to hell but the walls were still there. The new counter and sink were installed the same day, then the tile backsplash weeks later. We had a total of one night where we couldn't cook (but many when we didn't want to!). That's refactoring a kitchen.
Not saying all your code rewrites were the wrong thing to do, they just aren't "refactoring." That word is misused ALL the time, even by people in my organization, and I correct them every single time. Refactoring was defined by Martin Fowler as improving the design of existing code. It's made faster, more elegant, more efficient, more readable, more maintainable. It's NOT thrown out and redone from the ground up, and at no point during a refactoring should the code be in an unusable state. If you're not refactoring all the time, you're not using agile practices. At no point in a well-managed agile project should you reach the point where you go "oh crap this is gonna hurt."
Anyway, the point was this is a thin analogy and is really more analogous to a rewrite. Obviously you didn't tear the building down and start over; that would be more like ditching the platform altogether!
Women in summer would like to
August 20, 2010 by quentina, 1 week 6 days ago
Comment id: 9042
Women in summer would like to become beautiful. Everything can grab other's eyes is their best friends.Products make them beauty and confident is their favourite. Look in the street,you can see many different types of make up to show women's personality.
Welcome to the shop, the following is our products, free shipping.
Soccer Shoes Cheap Soccer Shoes Nike Soccer Shoes Adidas Soccer Shoes Nike Soccer Shoes sale Adidas Soccer Shoes sale UGG UGGs UGG Boot UGG Boots UGG Boots Sale Cheap UGG Boots UGG Boots Cheap Women UGG boots ugg boots cardy ugg cardy boots Nike Air Nike Air Max Nike Air Max Shoes Nike SB Nike Dunk Nike Dunk SB Nike Dunk SB Shoes Nike Shox Nike Shox Shoes Timberland Timberland sale Timberland boots Timberland boots online Timberland on sale New timberland boots Women Bags Women Bags Sale Women Handbags Women Handbags Sale Women New Bags Cheap Bags Cheap Bags On Sale UGG UGG boots UGG boots sale UGG boots short Short ugg Short ugg boots Ugg boots tall New women bags New women bags sale New women bags sale online Louis Vuitton Handbags Gucci bags Nike Nike Shoes Nike Shoes Sale Nike running Nike running shoes Nike trainers Nike trainers shoes Timberland Timberland boots Timberland boots sale Timberland boot Timberland boot sale Timberland boots cheap Men timberlands MBT MBT Shoes MBT Chapa GTX MBT Men Shoes MBT Women Shoes Discount MBT Shoes LV Handbags Gucci Handbags Chanel Handbags Chloe Handbags D&G Handbags Dior Handbags Fendi Handbags Hermes Handbags Jimmy Choo Bags Marc Jacobs Bags Miu Miu Handbags Mulberry Bags Prada Handbags Versace Handbags Yves Saint Laurent Balenciaga Bags Burberry Handbags LV Handbags Gucci Handbags Chanel Handbags Chloe Handbags D&G Handbags Dior Handbags Fendi Handbags Hermes Handbags Jimmy Choo Bags Marc Jacobs Bags Miu Miu Handbags Mulberry Bags Prada Handbags Versace Handbags Yves Saint Laurent Balenciaga Bags Burberry Handbags
Those who want to become most beautiful in the world should try them. Just ones can make you different. Girls who want to grab your boyfriends's heart is necessary to use them.
uggs on sale
August 26, 2010 by uggs on sale2010, 1 week 17 hours ago
Comment id: 9418
Even celebrities love wearing boots for their comfortable cheap uggs for sale features. You too wanna try out this sheepskin footwear for your family? Well, it’s a great idea. With Sheepskin cheap ugg boots being made in plenty of styles and sizes, you can choose a pair for all members of your family from UGGS On Sale.
Such asUGG Bailey Button|UGG Argyle Knit|UGG Cardy|UGG Crochet|UGG Flower|UGG Leopard|UGG Mini|UGG Paisley|UGG Short|UGG Tall|UGG Elsey|UGG Infants Erin|UGG Langley|UGG Lo Pro|UGG Locarno|UGG Mayfaire|UGG Nightfall|UGG Rainier Eskimo|UGG Sundance II|UGG Tall Stripe Cable Knit|UGG Ultimate Bind|UGG Ultra Short|UGG Ultra Tall|UGG Suede|UGG Upside|UGG Roxy|UGG Seline|UGG Corinth|UGG Liberty|UGG Highkoo|UGG Knightsbridge|UGG Bomber Jacket|UGG Adirondack|UGG Suburb Crochet|UGG Adirodack II|UGG Broome|UGG Gissella|UGG Felicity|UGG Bailey Button Boots|UGG Classic Argyle Knit Boots|UGG Classic Cardy Boots|UGG Classic Crochet Boots|UGG Classic Flower boots|UGG Classic Leopard Boots|UGG Classic Mini Boots|UGG Classic Paisley Boots|UGG Classic Short Boots|UGG Classic Tall Boots|UGG Elsey wedge Boots|UGG Infant's Erin Baby Boots|UGG Langley Boots|UGG Lo Pro Button Boots|UGG Locarno Boots|UGG Mayfaire boots|UGG Nightfall Boots|UGG Rainier Eskimo Boots|UGG Sundance II Boots|UGG Ultimate Bind Boots|UGG Ultra Short Boots|UGG Ultra Tall Boots|UGG Suede Boots|UGG upside Boots|UGG Roxy Tall Boots|UGG seline Boots|UGG Corinth wedge Boots|UGG Liberty Boots|UGG Highkoo Boots|UGG Knightsbridge Boots|UGG Bomber Jacket Boots|UGG Adirondack Tall Boot|UGG Suburb Crochet Boots|UGG Adirodack boots II|UGG Broome boots |UGG Gissella boots |UGG Felicity boots|ugg swell|ugg desoto|ugg espresso|ugg cove|ugg ashur|ugg gaviota|ugg brookfield|ugg smithfield|ugg shoreline|ugg tess|ugg stella|ugg brookfield tall|ugg roseberry|ugg kensington|ugg chrystie|ugg bailey fancy|ugg sandra|ugg tasmina|ugg payton|UGG Handbags|UGG Swell Tall Boots|UGG Desoto Espresso Boots|UGG Cove Boots|UGG Ashur Boots|UGG Gaviota Boots|UGG Brookfield Boots|UGG Smithfield Boots|UGG Shoreline Boots|UGG Tess Boots|UGG Women's Classic Tall Boots|UGG Women's Stella Boots|UGG Brookfield Tall Boots|UGG Roseberry Boots|UGG Kensington Boots|UGG Women's Classic Short Boots|UGG Chrystie Boots|UGG Bailey Button Fancy|UGG Sandra Boots|UGG Tasmina Ultramarine|UGG Payton Boots|UGG Classic Tall Boots 5885|Kid's UGG Boots 5281|Kid's Classic Short 5251|UGG Bailey Button Triplet 1873 |UGG Men's Classic Short |UGG Kids Classic Tall Boots 5229|Kid's UGG Bailey Button Boots
ugg boots sale
September 1, 2010 by ugg boots sale, 1 day 16 hours ago
Comment id: 11155
Ugg footwear is a great regard for your base like many reasons.[url=http://www.merryboots.com]cheap uggs for sale[/url]. Probably the most rocky landscape. Another equally important dispute[url=http://www.merryboots.com]ugg uk[/url] is the ever-mounting medley of styles [url=http://www.merryboots.com]ugg boots sale[/url]and ensign that you are removable to buy ugg boots, actually form to the shape of the arch.[url=http://www.merryboots.com/ugg-bailey-button-boots-c-451.html]UGG Bailey Button[/url]|[url=http://www.merryboots.com/ugg-classic-argyle-knit-c-468.html]UGG Argyle Knit[/url]|[url=http://www.merryboots.com/ugg-classic-cardy-boots-c-453.html]UGG Cardy[/url]|[url=http://www.merryboots.com/ugg-classic-crochet-boots-c-457.html]UGG Crochet[/url]|[url=http://www.merryboots.com/ugg-classic-flower-boots-c-474.html]UGG Flower[/url]|[url=http://www.merryboots.com/ugg-classic-tall-boots-5684-leopard-p-12355.html]UGG Leopard[/url]|[url=http://www.merryboots.com/ugg-classic-mini-boots-c-456.html]UGG Mini[/url]|[url=http://www.merryboots.com/ugg-classic-paisley-boots-c-470.html]UGG Paisley[/url]|[url=http://www.merryboots.com/ugg-classic-short-boots-c-455.html]UGG Short[/url]|[url=http://www.merryboots.com/ugg-classic-tall-boots-c-454.html]UGG Tall[/url]|[url=http://www.merryboots.com/ugg-elsey-wedge-boots-c-467.html]UGG Elsey Wedge[/url]|[url=http://www.merryboots.com/ugg-infants-erin-baby-c-463.html]UGG Infants Erin[/url]|[url=http://www.merryboots.com/ugg-womens-langley-boots-black-p-12349.html]UGG Langley[/url]|[url=http://www.merryboots.com/ugg-lo-pro-button-boots-c-472.html]UGG Lo Pro[/url]|[url=http://www.merryboots.com/ugg-lo-pro-button-boots-c-472.html]UGG Lo Pro Button[/url]|[url=http://www.merryboots.com/ugg-womens-locarno-boots-p-12360.html]UGG Locarno[/url]|[url=http://www.merryboots.com/ugg-mayfaire-boots-c-464.html]UGG Mayfaire[/url]|[url=http://www.merryboots.com/ugg-nightfall-boots-c-458.html]UGG Nightfall[/url]|[url=http://www.merryboots.com/ugg-rainier-eskimo-boots-c-466.html]UGG Rainier Eskimo[/url]|[url=http://www.merryboots.com/ugg-sundance-ii-boots-c-461.html]UGG Sundance II[/url]|[url=http://www.merryboots.com/ugg-ultimate-bind-boots-c-471.html]UGG Ultimate Bind[/url]|[url=http://www.merryboots.com/ugg-ultra-short-boots-c-460.html]UGG Ultra Short[/url]|[url=http://www.merryboots.com/ugg-ultra-tall-boots-c-459.html]UGG Ultra Tall[/url]|[url=http://www.merryboots.com/ugg-suede-boots-c-498.html]UGG Suede[/url]|[url=http://www.merryboots.com/ugg-upside-boots-c-499.html]UGG Upside[/url]|[url=http://www.merryboots.com/ugg-roxy-tall-boots-c-503.html]UGG Roxy[/url]|[url=http://www.merryboots.com/ugg-seline-boots-c-504.html]UGG Seline[/url]|[url=http://www.merryboots.com/ugg-womens-corinth-boots-in-cocoa-p-12401.html]UGG Corinth Wedge[/url]|[url=http://www.merryboots.com/ugg-liberty-boots-c-506.html]UGG Liberty[/url]|[url=http://www.merryboots.com/ugg-highkoo-boots-c-507.html]UGG Highkoo[/url]|[url=http://www.merryboots.com/ugg-knightsbridge-boots-c-508.html]UGG Knightsbridge[/url]|[url=http://www.merryboots.com/ugg-bomber-jacket-boots-c-509.html]UGG Bomber Jacket[/url]|[url=http://www.merryboots.com/ugg-adirondack-tall-boot-c-510.html]UGG Adirondack[/url]|[url=http://www.merryboots.com/ugg-suburb-crochet-boots-c-511.html]UGG Suburb Crochet[/url]|[url=http://www.merryboots.com/ugg-bailey-button-boots-c-451.html]UGG Bailey Button Boots[/url]|[url=http://www.merryboots.com/ugg-classic-argyle-knit-c-468.html]UGG Classic Argyle Knit[/url]|[url=http://www.merryboots.com/ugg-classic-cardy-boots-c-453.html]UGG Classic Cardy Boots[/url]|[url=http://www.merryboots.com/ugg-classic-crochet-boots-c-457.html]UGG Classic Crochet Boots[/url]|[url=http://www.merryboots.com/ugg-classic-flower-boots-c-474.html]UGG Classic Flower boots[/url]|[url=http://www.merryboots.com/ugg-classic-tall-boots-5684-leopard-p-12355.html]UGG Classic Tall Boots 5684 Leopard[/url]|[url=http://www.merryboots.com/ugg-classic-mini-boots-c-456.html]UGG Classic Mini Boots[/url]|[url=http://www.merryboots.com/ugg-classic-paisley-boots-c-470.html]UGG Classic Paisley Boots[/url]|[url=http://www.merryboots.com/ugg-classic-short-boots-c-455.html]UGG Classic Short Boots[/url]|[url=http://www.merryboots.com/ugg-classic-tall-boots-c-454.html]UGG Classic Tall Boots[/url]|[url=http://www.merryboots.com/ugg-elsey-wedge-boots-c-467.html]UGG Elsey wedge Boots[/url]|[url=http://www.merryboots.com/ugg-infants-erin-baby-c-463.html]UGG Infant's Erin Baby[/url]|[url=http://www.merryboots.com/ugg-womens-langley-boots-black-p-12349.html]UGG Women's Langley Boots Black[/url]|[url=http://www.merryboots.com/ugg-lo-pro-button-boots-c-472.html]UGG Lo Pro Button Boots[/url]|[url=http://www.merryboots.com/ugg-womens-locarno-boots-p-12360.html]UGG Women's Locarno Boots[/url]|[url=http://www.merryboots.com/ugg-mayfaire-boots-c-464.html]UGG Mayfaire boots[/url]|[url=http://www.merryboots.com/ugg-nightfall-boots-c-458.html]UGG Nightfall Boots[/url]|[url=http://www.merryboots.com/ugg-rainier-eskimo-boots-c-466.html]UGG Rainier Eskimo Boots[/url]|[url=http://www.merryboots.com/ugg-sundance-ii-boots-c-461.html]UGG Sundance II Boots[/url]|[url=http://www.merryboots.com/ugg-ultimate-bind-boots-c-471.html]UGG Ultimate Bind Boots[/url]|[url=http://www.merryboots.com/ugg-ultra-short-boots-c-460.html]UGG Ultra Short Boots[/url]|[url=http://www.merryboots.com/ugg-ultra-tall-boots-c-459.html]UGG Ultra Tall Boots[/url]|[url=http://www.merryboots.com/ugg-suede-boots-c-498.html]UGG Suede Boots[/url]|[url=http://www.merryboots.com/ugg-upside-boots-c-499.html]UGG upside Boots[/url]|[url=http://www.merryboots.com/ugg-roxy-tall-boots-c-503.html]UGG Roxy Tall Boots[/url]|[url=http://www.merryboots.com/ugg-seline-boots-c-504.html]UGG seline Boots[/url]|[url=http://www.merryboots.com/ugg-womens-corinth-boots-in-cocoa-p-12401.html]UGG Women's Corinth Boots in Cocoa[/url]|[url=http://www.merryboots.com/ugg-liberty-boots-c-506.html]UGG Liberty Boots[/url]|[url=http://www.merryboots.com/ugg-highkoo-boots-c-507.html]UGG Highkoo Boots[/url]|[url=http://www.merryboots.com/ugg-knightsbridge-boots-c-508.html]UGG Knightsbridge Boots[/url]|[url=http://www.merryboots.com/ugg-bomber-jacket-boots-c-509.html]UGG Bomber Jacket Boots[/url]|[url=http://www.merryboots.com/ugg-adirondack-tall-boot-c-510.html]UGG Adirondack Tall Boot[/url]|[url=http://www.merryboots.com/ugg-suburb-crochet-boots-c-511.html]UGG Suburb Crochet Boots[/url]|[url=http://www.merryboots.com/ugg-swell-tall-boots-c-538.html]UGG Swell[/url]|[url=http://www.merryboots.com/ugg-desoto-espresso-boots-c-537.html]UGG Desoto Espresso[/url]|[url=http://www.merryboots.com/ugg-cove-boots-c-536.html]UGG Cove[/url]|[url=http://www.merryboots.com/ugg-ashur-boots-c-535.html]UGG Ashur[/url]|[url=http://www.merryboots.com/ugg-gaviota-boots-c-534.html]UGG Gaviota[/url]|[url=http://www.merryboots.com/ugg-shoreline-boots-c-533.html]UGG Shoreline[/url]|[url=http://www.merryboots.com/ugg-smithfield-boots-c-532.html]UGG Smithfield[/url]|[url=http://www.merryboots.com/ugg-tess-boots-c-531.html]UGG Tess[/url]|[url=http://www.merryboots.com/ugg-womens-classic-tall-boots-in-black-5501-p-12478.html]UGG Classic Tall[/url]|[url=http://www.merryboots.com/ugg-womens-stella-boots-c-529.html]UGG Women's Stella[/url]|[url=http://www.merryboots.com/ugg-brookfield-boots-c-528.html]UGG Brookfield[/url]|[url=http://www.merryboots.com/ugg-roseberry-boots-c-527.html]UGG Roseberry[/url]|[url=http://www.merryboots.com/ugg-kensington-boots-c-526.html]UGG Kensington[/url]|[url=http://www.merryboots.com/ugg-chrystie-boots-c-525.html]UGG Chrystie[/url]|[url=http://www.merryboots.com/ugg-sandra-boots-c-522.html]UGG Sandra[/url]|[url=http://www.merryboots.com/ugg-tasmina-ultramarine-c-521.html]UGG Tasmina Ultramarine[/url]|[url=http://www.merryboots.com/ugg-payton-boots-c-520.html]UGG Payton[/url]|[url=http://www.merryboots.com/ugg-felicity-boots-c-519.html]UGG Felicity[/url]|[url=http://www.merryboots.com/ugg-gissella-boots-c-517.html]UGG Gissella[/url]|[url=http://www.merryboots.com/ugg-stripe-cable-knit-tall-boots-c-515.html]Ugg Stripe Cable Knit[/url]|[url=http://www.merryboots.com/ugg-broome-boots-c-514.html]UGG Broome[/url]|[url=http://www.merryboots.com/ugg-adirondack-boots-ii-c-512.html]UGG Adirondack[/url]|[url=http://www.merryboots.com/ugg-swell-tall-boots-c-538.html]UGG Swell Tall Boots[/url]|[url=http://www.merryboots.com/ugg-desoto-espresso-boots-c-537.html]UGG Desoto Espresso Boots[/url]|[url=http://www.merryboots.com/ugg-cove-boots-c-536.html]UGG Cove Boots[/url]|[url=http://www.merryboots.com/ugg-ashur-boots-c-535.html]UGG Ashur Boots[/url]|[url=http://www.merryboots.com/ugg-gaviota-boots-c-534.html]UGG Gaviota Boots[/url]|[url=http://www.merryboots.com/ugg-shoreline-boots-c-533.html]UGG Shoreline Boots[/url]|[url=http://www.merryboots.com/ugg-smithfield-boots-c-532.html]UGG Smithfield Boots[/url]|[url=http://www.merryboots.com/ugg-tess-boots-c-531.html]UGG Tess Boots[/url]|[url=http://www.merryboots.com/ugg-womens-classic-tall-boots-in-black-5501-p-12478.html]UGG Classic Tall Boots II Boots[/url]|[url=http://www.merryboots.com/ugg-womens-stella-boots-c-529.html]UGG Women's Stella Boots[/url]|[url=http://www.merryboots.com/ugg-brookfield-boots-c-528.html]UGG Brookfield Boots[/url]|[url=http://www.merryboots.com/ugg-roseberry-boots-c-527.html]UGG Roseberry Boots[/url]|[url=http://www.merryboots.com/ugg-kensington-boots-c-526.html]UGG Kensington Boots[/url]|[url=http://www.merryboots.com/ugg-chrystie-boots-c-525.html]UGG Chrystie Boots[/url]|[url=http://www.merryboots.com/ugg-handbags-c-523.html]UGG Handbags[/url]|[url=http://www.merryboots.com/ugg-sandra-boots-c-522.html]UGG Sandra Boots[/url]|[url=http://www.merryboots.com/ugg-tasmina-ultramarine-c-521.html]UGG Tasmina Ultramarine Boots[/url]|[url=http://www.merryboots.com/ugg-payton-boots-c-520.html]UGG Payton Boots[/url]|[url=http://www.merryboots.com/ugg-felicity-boots-c-519.html]UGG Felicity Boots[/url]|[url=http://www.merryboots.com/ugg-gissella-boots-c-517.html]UGG Gissella Boots[/url]|[url=http://www.merryboots.com/ugg-stripe-cable-knit-tall-boots-c-515.html]Ugg Stripe Cable Knit Tall Boots[/url]|[url=http://www.merryboots.com/ugg-broome-boots-c-514.html]UGG Broome Boots[/url]|[url=http://www.merryboots.com/ugg-adirondack-boots-ii-c-512.html]UGG Adirondack Boots II[/url]|[url=http://www.merryboots.com/ugg-bailey-button-fancy-c-539.html]UGG Bailey Button Fancy[/url]|[url=http://www.merryboots.com/ugg-bailey-button-triplet-c-540.html]UGG Bailey Button Triplet[/url] |[url=http://www.merryboots.com/kids-ugg-boots-5281-c-543.html] Kid's UGG Boots 5281 [/url]| [url=http://www.merryboots.com/kids-classic-short-5251-c-545.html]Kid's Classic Short 5251[/url] | [url=http://www.merryboots.com/ugg-classic-tall-5885-c-541.html]UGG Classic Tall 5885[/url] |[url=http://www.merryboots.com/ugg-men-classic-short-c-547.html]UGG Men Classic Short[/url] |[url=http://www.merryboots.com/ugg-kids-classic-tall-5229-c-548.html]UGG Kids Classic Tall 5229[/url2.[url=http://www.kisstimberland.com]timberland boots[/url]3.[url=http://www. vogueforever.com] mbt shoes [/url]4.[url=http://www.prettysaler.com] tiffany [/url] 5.[url=http://www.oboots.com] ugg uk [/url]
2.[url=http://www.kisstimberland.com]timberland boots[/url]3.[url=http://www. vogueforever.com] mbt shoes [/url]4.[url=http://www.prettysaler.com] tiffany [/url] 5.[url=http://www.oboots.com] ugg uk [/url]
ugg boots sale
September 1, 2010 by ugg boots sale, 1 day 16 hours ago
Comment id: 11157
1.Ugg footwear is a great regard for your base like many reasons.cheap uggs for sale. Probably the most rocky landscape. Another equally important disputeugg uk is the ever-mounting medley of styles ugg boots saleand ensign that you are removable to buy ugg boots, actually form to the shape of the arch.UGG Bailey Button|UGG Argyle Knit|UGG Cardy|UGG Crochet|UGG Flower|UGG Leopard|UGG Mini|UGG Paisley|UGG Short|UGG Tall|UGG Elsey Wedge|UGG Infants Erin|UGG Langley|UGG Lo Pro|UGG Lo Pro Button|UGG Locarno|UGG Mayfaire|UGG Nightfall|UGG Rainier Eskimo|UGG Sundance II|UGG Ultimate Bind|UGG Ultra Short|UGG Ultra Tall|UGG Suede|UGG Upside|UGG Roxy|UGG Seline|UGG Corinth Wedge|UGG Liberty|UGG Highkoo|UGG Knightsbridge|UGG Bomber Jacket|UGG Adirondack|UGG Suburb Crochet|UGG Bailey Button Boots|UGG Classic Argyle Knit|UGG Classic Cardy Boots|UGG Classic Crochet Boots|UGG Classic Flower boots|UGG Classic Tall Boots 5684 Leopard|UGG Classic Mini Boots|UGG Classic Paisley Boots|UGG Classic Short Boots|UGG Classic Tall Boots|UGG Elsey wedge Boots|UGG Infant's Erin Baby|UGG Women's Langley Boots Black|UGG Lo Pro Button Boots|UGG Women's Locarno Boots|UGG Mayfaire boots|UGG Nightfall Boots|UGG Rainier Eskimo Boots|UGG Sundance II Boots|UGG Ultimate Bind Boots|UGG Ultra Short Boots|UGG Ultra Tall Boots|UGG Suede Boots|UGG upside Boots|UGG Roxy Tall Boots|UGG seline Boots|UGG Women's Corinth Boots in Cocoa|UGG Liberty Boots|UGG Highkoo Boots|UGG Knightsbridge Boots|UGG Bomber Jacket Boots|UGG Adirondack Tall Boot|UGG Suburb Crochet Boots|UGG Swell|UGG Desoto Espresso|UGG Cove|UGG Ashur|UGG Gaviota|UGG Shoreline|UGG Smithfield|UGG Tess|UGG Classic Tall|UGG Women's Stella|UGG Brookfield|UGG Roseberry|UGG Kensington|UGG Chrystie|UGG Sandra|UGG Tasmina Ultramarine|UGG Payton|UGG Felicity|UGG Gissella|Ugg Stripe Cable Knit|UGG Broome|UGG Adirondack|UGG Swell Tall Boots|UGG Desoto Espresso Boots|UGG Cove Boots|UGG Ashur Boots|UGG Gaviota Boots|UGG Shoreline Boots|UGG Smithfield Boots|UGG Tess Boots|UGG Classic Tall Boots II Boots|UGG Women's Stella Boots|UGG Brookfield Boots|UGG Roseberry Boots|UGG Kensington Boots|UGG Chrystie Boots|UGG Handbags|UGG Sandra Boots|UGG Tasmina Ultramarine Boots|UGG Payton Boots|UGG Felicity Boots|UGG Gissella Boots|Ugg Stripe Cable Knit Tall Boots|UGG Broome Boots|UGG Adirondack Boots II|UGG Bailey Button Fancy|Kid's UGG Boots 5281|UGG Bailey Button Triplet|UGG Classic Tall 5885|Kid's Classic Short 5251|UGG Men Classic Short|UGG Kids Classic Tall 52292.timberland boots3.mbt shoes4.tiffany5.ugg uk
uggs on sale
September 1, 2010 by uggs on sale2010, 1 day 16 hours ago
Comment id: 11371
1.Attention please! There are various UGGS On Sale in our website. UGG Sale offers large discount and free shipping for all customers throughout the world. welcome to choose freely from all the UGG Boots Sale.|UGG Adirondack II|UGG Adirondack Tall|UGG Bomber Jacket|UGG Broome|UGG Chrystie|UGG Elsey wedge|UGG Felicity|UGG Gissella|UGG Highkoo|UGG Kensington|UGG Knightsbridge|UGG Liberty|UGG Locarno|UGG Mayfaire|UGG Payton|UGG Roseberry|UGG Roxy Tall|UGG Sandra|UGG seline|UGG Stella |Ugg Stripe Cable Knit Tall|UGG Suede|UGG upside|UGG Bailey Button|UGG Bailey Button Fancy|UGG Bailey Button Triplet|UGG Langley|UGG Corinth|UGG Ashur|UGG Cove|UGG Delaine.
2.ugg uk|tiffany
Snow boots
September 1, 2010 by Snow boots, 1 day 12 hours ago
Comment id: 11583
Our website-- 2ugg is making a great promotion now. There are many preferential ugg boots . At present , hot sale ugg classic boots such as:
Snow Boots
| UGGs On Sale
| UGG Australia Boots
| UGG Classic Boots
| UGG Classic Short Boots II
| UGG Gissella Boots
| UGG Payton Boots
| UGG Sandra Boots
| UGG Bailey Button Triplet Boots
| UGG Kensington Boots
| UGG Classic Tall Stripe Cable Knit Boots
| UGG Felicity Boots
| UGG Classic Tall Boots 5885
| UGG Chrystie Boots
| UGG Broome Boots
| UGG Bailey Button Fancy Boots
| UGG Adirondack Boots II
| UGG Kid's Boots
| UGG Kid's Bailey Button Boots
| UGG Kid's Classic Tall Boots
| UGG Kid's Classic Short Boots
| UGG Men 's Classic Short Boots
| UGG Gaviota Boots
| UGG Swell Tall Boots
| UGG Roseberry Boots
| UGG Brookfield Tall Boots
| UGG Stella Boots
| UGG Caroline Boots
| UGG High-Heel Tall Boots
| UGG Tess Boots
| UGG Desoto Boots
| UGG Brookfield Boots
| UGG Smithfield Boots
| UGG Shoreline Boots
| UGG Ashur Boots
| UGG Cove Boots
| UGG Men's Brookfield Boots
| UGG Bailey Button Boots
| UGG Argyle Knit Boots
| UGG Cardy Boots
| UGG Crochet Boots
| UGG Flower Boots
| UGG Mini Boots
| UGG Paisley Boots
| UGG Short Boots
| UGG Tall Boots
| UGG Elsey Wedge Boots
| UGG Infants Erin Boots
| UGG Langley Boots
| UGG Lo Pro Boots
| UGG Locarno Boots
| UGG Mayfaire Boots
| UGG Nightfall Boots
| UGG Rainier Eskimo Boots
| UGG Sundance II Boots
| UGG Ultimate Bind Boots
| UGG Ultra Short Boots
| UGG Ultra Tall Boots
| UGG Suede Boots
| UGG Upside Boots
| UGG Roxy Boots
| UGG Seline Boots
| UGG Corinth Wedge Boots
| UGG Liberty Boots
| UGG Highkoo Boots
| UGG Knightsbridge Boots
| UGG Bomber Jacket Boots
| UGG Adirondack Boots
| UGG Suburb Crochet Boots
| UGG Boots
| UGGs On Sale
| Cheap UGG Boots Boots
| UGG Boots
| UGGs On Sale
| Cheap UGG Boots
| UGG Boots
| UGGs On Sale
| Cheap UGG Boots
| UGG Boots
| UGGs On Sale
| Cheap UGG Boots
| UGG Size Guide
| UGG Boots
| UGGs On Sale
| Cheap ugg boots
| UGG Bailey Button Boots
| UGG Classic Argyle Knit Boots
| UGG Classic Cardy Boots
| UGG Classic Crochet Boots
| UGG Classic Flower boots
| UGG Classic Tall Boots 5684 Leopard
| UGG Elsey wedge Boots
| UGG Elsey wedge boots Black
| UGG Infant's Erin Baby Boots
| UGG Langley Boots Black
| UGG Lo Pro Button Boots
| UGG Locarno Boots
| UGG Mayfaire boots
| UGG Mayfaire boots black
| UGG Mayfaire boots Sand
| UGG Nightfall Boots
| UGG Rainier Eskimo Boots
| UGG Sundance II Boots
| UGG Ultimate Bind Boots
| UGG Ultra Short Boots
| UGG Suede Boots
| UGG upside Boots
| UGG upside Boots black
| UGG Roxy Tall Boots
| Ugg Roxy Boots black
| Ugg Roxy Boots Sand
| UGG seline Boots
| UGG seline Boots black
| UGG Women's Corinth Boots in Cocoa
| UGG Liberty Boots
| UGG Highkoo Boots
| UGG Knightsbridge Boots
| UGG Knightsbridge Boots black
| UGG Bomber Jacket Boots
| UGG Adirondack Tall Boot
| UGG Suburb Crochet Boots
| Tiffany
| Tiffany Necklaces
| Tiffany Jewellery
| Timberland boots
| mbt shoes
| ugg boots sale
| ugg uk
| NBA Shoes
| Puma Shoes
| MBT Shoes
Please believe us , we will use passionate service attitude to receive you , until you buy satisfied goods.
Post new comment