An old gem…

I was digging through some of my old files and ran across this old gem. This is a javascript function that will take an email and obfuscate it by creating a series of methods that create the mailto address on the fly. This is to thwart crawlers and is amazingly effective, even these days, as most crawlers don’t process javascript effectively.

Check it out:

http://www.mcdonaldland.info/files/mailto/mailto.html

DECODING STORY POINTS

​There is a common misconception, especially among those new to Agile/Scrum, that Story Points are just another way of measuring how long work will take and can be easily swapped out with hours. A common mistake new Agile/Scrum practitioners will make is to hand out a matrix that new practitioners can use to easily map the hours of old to the new points system. This approach entirely defeats the purpose of story points. ​

​​Old Way

​New Way

​2 hours
​1 point
​4 hours
​3 points
​8 hours
​5 points
​16 hours
​7 points
24 hours
11 points

Don’t do this…

Why Use Story Points?

Estimating work using story points solves the age old development problem of having different people write the code than those who estimated the work. For example, if you have a tenured, senior level engineer that estimates the work for a given project or sprint then a brand new engineer, fresh out of college, the new engineer is very unlikely to complete the work in the estimated timeframe, even if the senior level engineer padded the estimate to account for this. The problem is that we tend to be only moderately good at estimating things for ourselves and tend to be terrible at estimating them for other people. This is why most software projects and other forms of construction are often late.

Story points give us a way to measure work such that the experience level and speed of the person doing the work does not have a material bearing on the estimation process.

Story Point Basics

The hardest thing for new story point estimators is getting their head around the fact that story points do not measure duration. Instead, story points are used to measure size. By measuring size engineers are able to find a common ground that they can all agree on, even if it will take each person in the group a different duration to complete a task of the same size. Let’s explore with an example.

Story points measure size. For example, 1 mile. Minutes (hours with code) measure duration, or the amount of time it would take you to run 1 mile. Bob is not a very good running and it takes him roughly 15 minutes to run 1 mile. Swathi, on the other hand, is an excellent runner and can run 1 mile in just 6 minutes. The size of the task is the same but it takes each runner a different amount of time to complete the task.

If you translate this concept to software the team starts by forming an agreement for the size of various size tasks (more on this later). For example, adding a text field to a page may be 1 point, adding a new page may be 5 points, and adding a brand new user role may be 13 points. Despite the fact that each person on the team will work these points at different speeds the team has a common estimate for the size of the work to be done. They can now use the amount of work, as measured by size, that they completed in past sprints to determine how much they are going to be able to work in their upcoming sprint. By measuring size each sprint the team can take out the variable of how long it will take each person to complete a given task and instead just focus on the size of what a team can complete in a set timeperiod, their sprint.

This approach is something that tends to be off at first but as teams get used to each other and get a better common relative size reference, estimates dramatically improve.

​Fibonacci Points

To estimate teams typically will use Fibonacci points – 1, 2, 3, 5, 8, 13, etc. By using these numbers it gives better relative size between each point choice, making it easier to compare the size of things to one another. For example, using a 1-10 scale it is very hard to say whether a 6 is a lot or a little different than a 7. But with Fibonacci points it is easy to say that a 3 is roughly 50% larger than a 2 or an 8 is roughly 40% smaller than a 13.

Planning Poker

Planning poker is a common practice, especially for relatively newly formed teams. Once teams become good at point estimating they will often skip planning poker and just assign estimates out together. This proces starts by everyone getting a set of cards with Fibonacci numbers on them. A team member reads out a story to be estimated, along with acceptance criteria, then each member picks a card from their deck that they feel best represents the size of the story. Once everyone has made their selection the team compares.

If there are discrepancies the team takes the time to hear why team members feel the size they applied is justified. This is often done by looking at the highest and lowest first, then working inwards. The team must work together to arrive at a common agreement for the size of each story. Throughout this process the team can always revisit a story if the relative sizing of other stories prompt them to rethink how large a prior story was. Note that this process is often very bumpy and takes longer when teams are newly formed. The better teams know each other and the longer they have been together, the smoother the process and the better the estimates.

Happy estimating!

DIY OUTDOOR LIVING SPACE – PART 5: Stone Siding

SERIES QUICK LINKS
PART 1: PROJECT PLANNING
PART 2: FOUNDATION AND BASE STRUCTURE
PART 3: LAYING CONCRETE BLOCKS
PART 4: PAVERS
PART 5: STONE SIDING
TENTATIVE SCHEDULE FOR FUTURE POSTS:
PART 6: WOOD BENCHES
PART 7: PREPARING ELECTRICAL AND PLUMBING
PART 8: COUNTERTOPS
PART 9: FIREPLACE FINISHING
PART 10: EQUIPMENT INSTALLATION
PART 11: PERGOLA
Stone Siding

In Part 1 we covered the basics of coming up with the design, rough planning materials, and determining space. In Part 2 we covered how to prepare the ground for foundations, running any underground conduit needed, and pouring foundations. In Part 3 we covered how to lay concrete blocks and foundations. In Part 4 we discussed laying the pavers. Now we’ll cover applying the stone siding.

As a recap, for our outdoor living space we settled on an outdoor kitchen, gas fireplace, two sitting walls, and a pergola. The fireplace top serves as the 4th pergola post and sitting walls link the fireplace to the two adjacent posts. The three posts are then wrapped in decorative stone a little higher than each seat. See Part 1 for the rough drawing.

MATERIALS

The first step is to figure out the aesthetics you are going for and find the right product. Scour the internet to find designs you like. We printed full color, full page pictures of a few different options and put them in the appropriate places outside to get a feel for how things would work together.

Ultimately, we landed on stacked stone and chose this product. We bought both the corner pieces and the face pieces. In hindsight I would not have ordered the corner pieces as almost all of them were broken after shipping.

Bluestone looking stacked stone. It ended up a little more green than in pic.

The face pieces can be packaged a lot tighter so there were relatively few of those broken. The corner pieces were still usable, for the most part, but were about the same amount of work as piecing together cut face pieces. Because of this I stopped using the corner pieces around half way through the project and just began cutting face pieces to fit. It looks a lot different while still wet and freshly cut but after a while it blends in and looks pretty good.

Stacked stone faces cut for corners.

Ready made corner product – main difference is edge is more natural looking.

The only other material you’ll need to plan for is mortar to hold the stones to the walls. This stone is very heavy so you need a very strong mortar. DO NOT use regular tile mortar, especially in an outside application. Make sure you find a mortar that is rated to hold stone or “very heavy” applications. Also make sure it is meant for indoor-outdoor use.

We went with this product. It worked very well, however dries very quickly. We found that we were not working fast enough to keep up with the drying time and started making half bag batches at a time, which yielded much less waste per batch. Polymer mortar is expensive so anything you can do to prevent waste is good.

cutting

After the initial pass at putting some pavers on we realized that the polymer morter was drying out before we could use it (even with half a bag) because we had to keep stopping to make cuts. We decided to make as many cuts at the outset so that we could then just focus on application.

You can make your cuts with any saw with a stone rated blade, however I’d recommend a wet tile saw as the dust these stones kick up without water is high. We used a small wet circular saw and it did great. Make sure you cut slow and test a few pieces out to get a feel for how the stone cuts – we found that some of the pieces within the stacked face were more crumbly than others and had to be wary of that when measuring and cutting.

This is the wet circular saw we used for all of the cuts.

To cut in batches we first installed the base set of pavers around each long stretch, so that we could ensure that the rest of the courses would be level. From there we hand placed stones, marked them for cuts, outlined them on the walls, then numbered both the stone and the wall. This worked very well and saved a lot of wasted mortar. Note that if you are going to use this approach that you’ll need to be ready to deal with some stones being a little bit off when you get to corners and walls. Intentionally cut these pieces longer than you measured then simply trim when installing.

Wall and stones marked after cuts made – ready for install!

Applying stone siding

Before you start, prepare your space. Polymer mortar tends to be somewhat sticky and dries fairly quickly. You’ll want to lay down some sort of protective layer to prevent mortar from getting on your stones or other surfaces. However, despite your best efforts you’ll still get mortar on something you didn’t intend to. Keep a small bucket / cup of water and a rag handy to wipe up any mortar that gets where it shouldn’t. Make sure you get it up while it is wet still as once it dries it often has to be either ground or chipped off, which typically leaves a mark on the material you are cleaning.

The first and most important thing about applying the stone siding is that the walls must be properly prepared. This means they should be relatively smooth and free of dirt and debris. In our case we had cinderblock walls, which were a perfect backing. We used a Dremel with a stone cutting bit to clean up any mortar that was protruding beyond the face of the blocks, creating a completely smooth surface. From there we hosed down the entire surface using the “jet” setting on the hose nozzle. If you are using another wall material you should research what backing you will need – most will call for a concrete board or scratch coat layer.

Once your protective layers are down, cuts are done, your walls are smooth, and you have your mortar pause to read the instructions for both the stones and the mortar. There will be a height limit to how much weight the mortar can hold until it is cured. In our case it was 36 inches, which meant that just before the 36 inch mark we stopped and let the mortar sit through the cure time listed on the bag. Take this into account when you plan out your job and how long it will take – it ended up taking us multiple days to apply due to the height of our fireplace.

First, apply your base layer of stones. To do this find the lowest point along the wall, place a stone there, then mark the highest corner of the stone on the wall. Then use a chalk line and a string level to get a level line across the entire face, placing the line where you put the mark on the wall. This will be the top of your first course. You’ll need to cut stones to fit the slope as you move along the wall. If you reach the end of the course and do not have the entire length of the wall covered simply start another course, snap a line at the top, then use the line as a guide for any additional cuts you will need. You’ll use shims / spacers to ensure that this first course remains level. The remaining courses will simply sit directly on the course below.

Wall with chalk line snapped and stones laid out, ready for install.

Start from the corner and work across. To apply each stone butter the back of the stone then use a notched trowel to spread grooves in it. This will help the mortar bond better to the wall. Read the instructions and recommendations for your stone and mortar for the right size notched trowel. I believe we used a 1/2″ notched trowel for this job.

Stone course going up and one piece buttered and notched, ready for install.

Once you have your first course on you can move to the next course. Be careful to apply stones so they leave a stairs pattern at the unfinished edge – it is very hard to wedge a stone into a gap if the piece above it settles downward any and often results in custom cuts (which waste mortar time). In other words, you never want any of your tiles to be on the wall with a space above one and below another. Always work from the bottom up.

final outcome

This is a time consuming part of the project, especially if you have a lot of intricate cuts, as we did. Take your time on it – this is the bulk of what people will see when they view your project.

One column and bar with finished stone applied.

Next installment we’ll talk about installing the wood benches between the fireplace and the columns.

SERIES QUICK LINKS
PART 1: PROJECT PLANNING
PART 2: FOUNDATION AND BASE STRUCTURE
PART 3: LAYING CONCRETE BLOCKS
PART 4: PAVERS
PART 5: STONE SIDING
TENTATIVE SCHEDULE FOR FUTURE POSTS:
PART 6: WOOD BENCHES
PART 7: PREPARING ELECTRICAL AND PLUMBING
PART 8: COUNTERTOPS
PART 9: FIREPLACE FINISHING
PART 10: EQUIPMENT INSTALLATION
PART 11: PERGOLA