Skip to content

Blogs

Mac OS X: GNU sed – Hex string replacement / replacing new line characters

Mark Needham - Thu, 06/11/2015 - 23:38

Recently I was working with a CSV file which contained both Windows and Unix line endings which was making it difficult to work with.

The actual line endings were HEX ‘0A0D’ i.e. Windows line breaks but there were also HEX ‘OA’ i.e. Unix line breaks within one of the columns.

I wanted to get rid of the Unix line breaks and discovered that you can do HEX sequence replacement using the GNU version of sed – unfortunately the Mac ships with the BSD version which doesn’t have this functionaltiy.

The first step was therefore to install the GNU version of sed.

brew install coreutils
brew install gnu-sed --with-default-names

I wanted to replace my system sed so that’s why I went with the ‘–with-default-names’ flag – without that flag I believe the sed installation would be accessible as ‘gs-sed’.

The following is an example of what the lines in the file look like:

$ echo -e "Hello\x0AMark\x0A\x0D"
Hello
Mark

We want to get rid of the new line in between ‘Hello’ and ‘Mark’ but leave the other one be. I adapted one of the commands from this tutorial to look for lines which end in ‘0A’ where that isn’t followed by a ‘0D':

$ echo -e "Hello\x0AMark\x0A\x0D" | \
  sed 'N;/\x0A[^\x0D]/s/\n/ /'
Hello Mark

Let’s go through the parts of the sed command:

  • N – this creates a multiline pattern space by reading a new line of input and appending it to the contents of the pattern space. The two lines are separated by a new line.
  • /\x0A[^\x0D]/ – this matches any lines which contain ‘OA’ not followed by ‘OD’
  • /s/\n/ / – this substitutes the new line character with a space for those matching lines from the previous command.

Now let’s check it works if we have multiple lines that we want to squash:

$ echo -e "Hello\x0AMark\x0A\x0DHello\x0AMichael\x0A\x0D"
Hello
Mark
Hello
Michael
 
$ echo -e "Hello\x0AMark\x0A\x0DHello\x0AMichael\x0A\x0D" | \
  sed 'N;/\x0A[^\x0D]/s/\n/ /'
Hello Mark
Hello Michael

Looks good! The actual file is a bit more nuanced so I’ve still got a bit more work to do but this is a good start.

Categories: Blogs

An Introduction to Cost of Delay

Leading Agile - Mike Cottmeyer - Wed, 06/10/2015 - 22:20

I was recently watching an episode of Shark Tank. I loved the unfiltered statement from Kevin O’Leary (Mr. Wonderful) toward an entrepreneur seeking an investor in his company.

I’m here to make money!

If you’re a fan of Shark Tank, you’ll notice something about Mr. Wonderful.  He keeps the conversation focused on the money.  When will he get his money back? How many multiples of his investment should he expect to get back? Other investors (and many of our stakeholders) don’t focus enough on the money.  Particularly, what is the cost of delaying the implementation of one feature over another.

I tell customers that if they want to save or make the most money, they need to prioritize their backlog… by money.  My colleague Isaac recently wrote something similar in his blog post about how to prioritize work.

One way you can prioritize work by money is by using cost of delay.  Sounds kind of weird, right?  Aren’t we always telling people to prioritize their backlogs by customer value?  When you ask customers (or the business) which features are the highest priority, all too often they say all of them.  (Jim Hayden makes reference to this in a recent podcast, when teams don’t prioritize or limit their work in process.  People are really good at starting things but not finishing them.)  Don’t just ask what is the most valuable. Ask the question, “what will cost us the most, by delaying its delivery?”  That’s really what we’re doing.  We’re not profiting from a feature that is not in production, so therefore, we are losing money every day it’s not out there.

If I have 3 features to choose from, each with a different worth to the business and each taking a different amount of time to implement, how do I make the best economic decision on what to finish first?  I use Cost of Delay.

Cost of Delay Step 1 – Compare Features

Let’s put the 3 features in a table and compare them.  I intentionally tried to keep this simple by multiplying the value of the features by $1,000. Imagine what this would look like if your features were worth tens of thousands or hundreds of thousands of dollars?

Duration Value CD3 Feature A 3 weeks $3000 1 Feature B 4 weeks $7000 1.75 Feature C 6 weeks $9000 1.5 Step 2 – Visualize Scenarios

Taking what we have learned in the table of Step 1, let’s visualize different scenarios, showing when we could get a return on our investment, given a choice of priority.

  1. No priority at all. Do all at the same time.
  2. Do the features that take the shortest amount of time first.
  3. Do the features that are the most valuable first.
  4. Lastly, do the features that have the highest CD3 (value divided by duration) score.

Remember, regardless of our choice of priority, all of the features are done by the 14th week.

Visualize Prioritization Scenarios

For every week features are not making us money, they are costing us money.
Let’s do some math!

Step 3 – Priority Impact on Cost of Delay

Using the three features we can look at the financial impact of the four alternatives.

All at the same time (No Priority)

If we started all of the features at the same time, we would get any and all of that $19,000 of value on our 14th week.  For the 13 weeks we are working, we incur the Cost of Delay of all three features: $3000 + $7000 + $9000 per week. Delay Cost incurred is $247,000.

Do the Shortest Job First

If we prioritized based on shortest to longest length of time to complete a feature, it would take us until our 4th week to get our initial ROI ($3,000), until the 8th week until we get our next ROI ($7,000), and not until our 14th week would we get our final ROI (which happens to have the greatest value of $9,000).  For the 3 weeks we are working on Feature A, we incur the Cost of Delay of all three features: $3000 + $7000 + $9000 per week. This adds up to $19,000 per week times 3 weeks giving us a total Delay Cost incurred so far of $57,000.  We then move on to developing Feature B. For the 4 week this takes us to deliver we incur the Cost of Delay of Features B and C: $7000 + $9000 per week = $16,000 per week. So the Delay Cost is an additional $64,000, bringing us to a total of $121,000 worth of Delay Cost incurred so far.  At last, we can start working on Feature C. incurring the Cost of Delay of C during it’s development of $9000 per week for the 6 weeks it takes to build Feature C. This is another $54,000 of Delay Cost to add to our previous of $121,000 for a total of $175,000 Delay Cost incurred.

Do Most Valuable First

If we prioritized based on most to least valuable feature, it would take us until our 7th week to get our initial ROI ($9,000), until the 11th week until we get our next ROI ($7,000), and not until our 14th week would we get our final ROI ($3,000).  For the 6 weeks we are working on Feature C we incur the Cost of Delay of all three features: $3000 + $7000 + $9000) per week. This adds up to $19000 per week multiplied by 6 weeks giving us a total Delay Cost incurred so far of $114,000.  We then move on to developing Feature B. For the 4 week this takes us to deliver we incur the Cost of Delay of Features B and C: $7000 +$9000 per week = $16,000 per week multiplied by 4 weeks giving us a total Delay Cost is an additional $64,000, bringing us to a total of $178,000 worth of Delay Cost incurred so far.  At last, we can start working on Feature A. incurring the Cost of Delay of A during it’s development of $3000 per week for the 3 weeks it takes to build Feature A. This is another $9,000 of Delay Cost to add to our previous of $178,000 for a total of $187,000 Delay Cost incurred.

Use Cost of Delay Divided by Duration

If we develop the features based on whichever has the highest CD3 score we would do Feature B first, followed by Feature C, and finally Feature A.  For the 4 weeks we are working on Feature B we incur Cost of Delay of $3000 + $7000 + $9000 per week. Delay Cost = $76,000.  For the 6 weeks we are working on Feature C we incur Cost of Delay of $9000 + $3000 per week. Delay Cost = $72,000.  For the 3 weeks we are working on Feature A we incur Cost of Delay of $3000 per week.  Delay Cost = $9,000.  Total Delay Cost is $157,000.

Summary

Surprisingly, doing the most valuable feature first is not the best economic decision.
Next time you prioritize your portfolio, don’t just try to maximize value delivered. Limit your cost of delay.

Priority Method Cost of Delay All at the same time $247000 Shortest first $175000 Most valuable first $187000 CD3 $157000

The post An Introduction to Cost of Delay appeared first on LeadingAgile.

Categories: Blogs

My Journey: Agile, Culture & Transformation

Agilitrix - Michael Sahota - Wed, 06/10/2015 - 20:10

It has been 3 years since I wrote “An Agile Adopt […]

The post My Journey: Agile, Culture & Transformation appeared first on agilitrix.com - Michael Sahota.

Categories: Blogs

Group Vs team

Agile World - Venkatesh Krishnamurthy - Wed, 06/10/2015 - 19:07

image

I have seen many “Agile teams” working quietly without talking to their teammates. Every day they are at work sharp 9 AM, pick up a user story from the backlog, finish it and go.  Their interaction with other team members is limited. But each one is really happy as the are achieving something. This is where the line separating the “groups” and “teams gets blurred.

A team is a group of people who cannot work without depending on each other. That is, they have high interdependence on each other. However, a group need not have interdependence.  A good example of a group is a call center.  Typically in call centers, each attends the customer requests on their own and solves the problem. If one of the individual’s in the call center group is blocked with an issue, the rest are not affected. They could still continue working.

However, a team has shared the responsibility of delivery, and their work should be interdependent. In other words, team members have an agreed goal and the only way to achieve the goal is to work together. My thumb rule is, a user story cannot be moved to “Done” without the help of at least four other people :-)  

I believe that if your team room is very quiet you might want to check if there is anything wrong there. You should ask why teams are not talking to each other ? do they have shared responsibility of work ?  do they have a common goal to achieve or individual goals?  How many people do you need to complete an user story?

Photo courtesy: http://www.teams-forsuccess.com/working-groups-and-teams-are-they-the-same/

Categories: Blogs

Nexus Reifies

Learn more about our Scrum and Agile training sessions on WorldMindware.com

Nexus Scrum

I had the privilege of attending Scrum.org‘s 2-day seminar on Scaled Professional Scrum. The Nexusa connection or series of connections linking two or more things (direct translation from Latin a binding together), is the recommended scaling framework. The purpose of the Nexus is to manage dependencies between 3-9 Scrum Teams towards “reification”, to make an abstract idea real or concrete. This is ensured mostly through a single Product Owner, single Product Backlog, integrated (Nexus) Sprint Planning, Review and Retrospective and the addition of a Nexus Integration Team whose membership is made up mostly of Scrum team members internal to the Nexus, but often also includes other support personnel. The structure is very similar to LeSS, but perhaps even less prescriptive and is certainly much less prescriptive than SAFe. This is probably my favourite thing about the Nexus – the fact that it has just enough structure to be a model for scaling Scrum, but is light and flexible enough to accommodate all of the nuances that “just depend” on your situation. Like the other two above-mentioned scaling models, it places emphasis on the need for strong technical practices, continuous integration and the synchronization of events to facilitate integration. There is flexibility around synchronization, in that if the Nexus Sprint is 4 weeks in duration and teams within the Nexus want to do 2 or even 1 week Sprints, the model accommodates – as long as all of the teams’ work is combined into a fully integrated (reified) increment of potentially shippable product by the end of the Nexus Sprint.

 

Try out our Virtual Scrum Coach with the Scrum Team Assessment tool - just $500 for a team to get targeted advice and great how-to informationPlease share!
facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Nexus Reifies appeared first on Agile Advice.

Categories: Blogs

Growing Leaders

ScrumSense.com - Peter Hundermark - Wed, 06/10/2015 - 14:18

In the 21st century organisation where digital knowledge work replaces physical manufacturing work, the role of leaders and leadership has become a core need of organisations.

In fact the need for leadership and the role of leaders has been long discussed and understood by management experts. Amongst the most forward-thinking of these were Edwards Deming with his Fourteen Points for Management and Peter Drucker who practically invented modern management.

The Toyota Way to Lean Leadership includes a strong focus on leadership development. Jeffrey Liker and Gary Convis have documented that Toyota invests 25 years to grow a leader. This contrasts strongly with the quarterly-target based management prevalent in most traditional western organisations.

Robert Greenleaf’s famous 1970 essay The Servant as Leader started a revolution around the role of leaders in modelling how their followers should behave. The servant leader puts the needs and behaviour of the operative personnel first, over his or her own needs. The traditional organizational pyramid is literally flipped over. The subordinates are not supporting their manager in reaching his goals: the leaders are supporting their people in finding and aligning goals, in reaching their goals, and in growing as persons and employees.

This is congruent with the Chaordic Leadership approach from Dee Hock, the founder of Visa. He states: “Lead yourself, lead your superiors, lead your peers and free your people to do the same. All else is trivia.”

Motivation of employees features strongly in this frame. Dan Pink provides us with a helpful framework in his TED talk video and book “Drive”. Dan Pink explains that motivation is highly connected to three important matters. These are: Autonomy, Mastery and Purpose, which all goes hand in hand with the important matters of being a servant leader:

  • Respect and foster the self-organization. As stated in the fifth agile principle: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done”. A servant leader trusts the employees – even when they are in trouble. You might feel encouraged to intrude in the work of a challenged team (your good intention is probably to help them sort things out), but if you are taking over and directing the problem solving, the self-organization is actually injured for a while.
  • Give the employees the room and freedom to learn and improve their skills and mastery.
  • Give the employees the vision of where we are going. Knowing the direction, helps them make decisions.

A modern leader is someone who succeeds through the achievements of her employees. A great leader is someone that sets the direction and supports the environment in which the employees can act and evolve. A great leader is someone that sets the boundaries for the team, but leaves space and freedom for the employees to take responsibility and improve.

To grow into a modern leader you will likely need to unlearn what you were taught at business school and by traditional managers who mentored you. You can do worse than going back to the essentials taught by Deming and Drucker.

The post Growing Leaders appeared first on ScrumSense.

Categories: Blogs

2nd edition of Scrum & XP from the Trenches – “Director’s Cut”

Henrik Kniberg's blog - Wed, 06/10/2015 - 13:11

Guess what – I’ve updated Scrum and XP from the Trenches!

Scrum and XP from the Trenches 2nd edition

Eight years have passed, and this book is still really popular. Wow! I never could have imagined the impact this little book would make! I still bump into teams, managers, coaches, and trainers all over the place that use it as their primary guide to agile software development.

But the thing is, I’ve learned lots since 2007! So the book really needed an update.

Since publishing the book, I’ve had the opportunity to work with many agile and lean thought leaders; some have even become like personal mentors to me. Special thanks to Jeff Sutherland, Mary and Tom Poppendieck, Jerry Weinberg, Alistair Cockburn, Kent Beck, Ron Jeffries, and Jeff Patton – I can’t imagine a better group of advisors!

I’ve also had the chance to help a lot of companies implement these ideas in practice: companies in crisis as well as super-successful companies that want to get even better. All in all, it’s been a pretty mind-blowing journey!

When I reread this old book, I’m surprised by how many things I still agree with. But there are also some pages that I’d like to rip out and say “What the *&€# was I thinking? Don’t do it like that! There’s a much better way!”

Since the book is a real-life case study, I can’t change the story. What happened is what happened. But I can comment on it!

So that’s what the second edition is – an annotated version of the original book. Like a director’s cut. Think of it as me standing behind your shoulder as you read the book, commenting on stuff, cheering you on, with the occasional laugh and groan.

Here it is. Spread the word.

PS – the Amazon version is still 1st edition. Will be updated in a few weeks I think. But InfoQ provides both the printed version and the free online version.

Categories: Blogs

Morning Routines

I’ve come across a number of articles lately that have talked about the importance of a good morning routine (like this one), so I have been trying to practice some of these techniques.

One practice is to start the day with meditation, not checking any electronic devices. I'll admit, sometimes when I'm working from home I'll turn on the TV while making my morning coffee before heading up to the office, but I don't start responding to email first thing in the morning.

Another recommendation is to journal. Your mind is the most sharp in the morning so that is not the time to waste responding to emails. Instead figure out what your top two or three priorities are and try to get those accomplished first thing in the morning. Journaling can help you figure out where to start your day.

I have also found that I can change my evening routine to be more productive as well. I find when I'm traveling and staying at a hotel, that if I skip the TV and put on music instead, that I'm more focused and get more work done.

So is it time to change up some of your routines?
Categories: Blogs

Lead for Greatness

Portia Tung - Selfish Programming - Tue, 06/09/2015 - 22:07

Grow Leaders

Everyone a Leader

I have a dream. I dream of my two year old little girl all grown up, doing what she loves and loving what she does. She tells me how much fun she’s having at work. And that she’s great friends with the people there. And of how what she does makes the world a better place.

When I explain how far mankind’s relationship with work has come in the past twenty years alone, she laughs. She shakes her head at ideas such as “putting people first”, “Intent-Based Leadership“, “self-actualisation” and “collaboration”.

She tells me, “It all sounds like common sense, Mama. Why would people want to live and work any other way?”

I reply, “Because all too often, common sense isn’t common practice, Darling. And even though some ideas sound simple, they’re not easy to implement.”

She asks me to tell her the Ship story, of how long ago I made a wish to learn how to lead. And how one day, I met a former U.S Navy submarine captain who gave his power away to turn his ship around, taking his crew and boat from poor performance to greatness.  And of the leadership course that transformed the way I live and lead.

My grownup little girl turns to me and says with a bold and brave smile, “I intend to… make the most of my life because anything less would be a waste of the gift you have given me.”

And with that, we hug and I look forward to a brand new adventure of making more dreams come true.

Categories: Blogs

All new SAFe Foundations PowerPoint & Video to sync with SAFe 3.0 updates

Agile Product Owner - Tue, 06/09/2015 - 21:22

Hi Folks,

One of our most popular PowerPoint decks—SAFe Foundations—just got a major refresh to sync up with the most recent developments in SAFe 3.0. The previous version has been downloaded over 20 thousand times, so we know that it’s an important resource heavily used by our community.

thumb_foundations_2This slimmed down 26-slide deck is a great way to introduce SAFe and its underlying concepts to your executive leadership, team members, clients, etc.—anyone who is looking to get a high-level, easily digestible overview of SAFe, and what steps to take to achieve success through implementation.

What’s New

Here’s what you can expect from this update (version 3.0.2):

  • Streamlined content to more easily fit in a one-hour briefing
  • Updated House of Lean and Lean-Agile Values, which includes Innovation and Respect for Culture (in addition to Respect for People)
  • New SAFe Lean-Agile Principles—the immutable, fundamental tenets and economic underpinnings that drive the roles and practices in SAFe
  • Updated implementation guidance on how to incrementally achieve success one Agile Release Train at a time

In addition to the PowerPoint deck, I’ve recorded a 45-minute video with Scaled Agile’s Chief Technology Officer, Drew Jemilo, where we walk you through each slide, providing the backstory and thinking that went into each topic.

Go here to find both the video and PowerPoint deck: scaldagileframework.com/foundations (scroll to the bottom of the page).

So please download it, view it, present it, use it to support your SAFe journey. If you have comments, we’d love to hear them, ideally through responding to this blog post.

Stay SAFe!
–Dean and Drew

 

Categories: Blogs

Agile Teams in the Enterprise

Leading Agile - Mike Cottmeyer - Tue, 06/09/2015 - 13:51

Once you have clarified why you are transforming your organization to become agile, it’s time to set up your agile teams.

With the growth of agile over the last decade, most people are familiar with the delivery team structure of 6-8 cross-functional professionals with the all tools and skills needed to deliver value on the team, aka… the delivery team. But what about the rest of the organization?

Having a great delivery team (or teams) is a great starting point; however, if you point a high performing team in the wrong direction you will end up at loss for great software and your product will have no value. The second team needed to drive value is the product team. This team plays a critical role in driving value out of the delivery teams.

I think we can all agree the product owner role (when done correctly) is more work than one person can do, hence the need for a product team. Just like the delivery team, the product team needs to have all the tools and skills needed to deliver a clear backlog to the delivery team to execute. OK… so let’s assume you have a great delivery structure and high performing team that is creating solution and putting the solutions into a well formed backlog. If those solutions are not what is needed in the market you’re still missing the mark.

The keystone of the agile enterprise is the portfolio team. It’s the job of the portfolio team to know what the company needs to focus on in order to delight their customers and excel in the market. Through the use of capability analysis and modeling, the portfolio team can gain visibility on where in the organization the entire team structure needs to focus it’s energy to compete and win in the marketplace.

Now that we have clarity on the teams we need to form, it is time to assign resources to those teams and define our governance model, something I will dig into in my next post.

The post Agile Teams in the Enterprise appeared first on LeadingAgile.

Categories: Blogs

SourceTree versus Gitk

Git is a command line focused tool with hundreds of options. You can even visually see a graph of commit history in the terminal using git log with –graph. The default visual git tool is gitk which makes a reasonable GUI client for digging through history or doing ad-hoc code reviews.

A few years ago someone suggested looking at Atlasssian’s SourceTree as a better option. I’ve used Atlassian tools in the past and generally found them to be well designed a useful. As it’s a free tool it was an easy option.

SourceTree has been marketed in many ways as a visual tool for users new to git. I think it’s probably a bit dangerous to use in this way. You’re better off learning the simple workflow through something like Try Git and sticking to the command line. SourceTree can be a a great supplement showing you in a visual way exactly what’s going on.

I use SourceTree in an entirely read-only mode. It’s easy to see the various branches and merges and walk through history. Since we currently don’t use Gitlab or a similar tool for git I use it for ad-hoc code reviews. It’s easy enough to step through commits fairly quickly. When I have comments I simply screen capture the view from SourceTree and attach it to a simple email. It’s primitive, but effective enough. Other than that my most common use case is perusing stashes as I sometimes let things stack up there and I can quickly bring them up to see if there’s anything worth keeping.

After three years it still serves my purpose much better than gitk and I find the layout more efficient and powerful.

Categories: Blogs

Check Out SAFe LSE Preview 2!

Agile Product Owner - Tue, 06/09/2015 - 01:24

Well, it’s been a bit zany time since the inaugural (and sold out) April 2015 SAFe LSE class, and the Boulder SAFe 3.0 SPC class immediately after. The feedback we received from those two audiences was amazing, and much of it unexpected. That’s the nature of good, fast feedback—if you knew everything, you wouldn’t need it.

Armed with these new insights, we have been advancing LSE and re-conceptualizing the future SAFe 4.0 to be based on the broader, and more scalable, discoveries and innovations in the LSE branch. For us, that’s a pretty big pivot, but one that simplifies SAFe all around. We recorded a bit of that journey and intimated the next steps in a prior post.

We are pleased to announce the next major step in this process, “LSE Preview 2.” As you can see from that new Big Picture and included content, there’s never been a SAFe that looks like this one. Here are a few highlights:

  • The SAFe 3.0 Portfolio is now been included in LSE. There have been, and will continue to be, innovations on that level, but from this point forward, all such changes will be included.
  • The LSE Systems level has been refactored to become the new Value Stream level. It can support systems, suites, applications of any kind and scope, and scales readily to many hundreds of practitioners working in a single Value Stream. This is where we’ve spent much of our time over the last year, working to both learn from and guide people building really big systems, while keeping the development process Lean and Agile.
  • And in answer to the question “Ok, that’s more scalable for sure, but it’s bigger too. What if I don’t need that extra guidance, or the roles and activities implied?” No worries, just hit the “Collapse” button and you’ll be presented with a simpler view and process. (Question: can you imagine another, future, collapse button?)
  • Incorporation of hierarchical Kanban systems for managing the flow of work throughout the system. Nothing beats a Kanban system for visualizing, managing and WIP-limiting the flow of new work, so all four levels now have a Kanban system feeding their backlog. That doesn’t mean that all work flows top to bottom—decentralization of decision-making assures that will not be the case—but it does provide a consistent way to reason about new work, no matter what level you are working at.
  • Speaking of Kanban, Kanban is very effective for managing certain types of work, so it’s a first class citizen of the Team level now. Teams now have a choice of Kanban or Scrum, mixing in the appropriate XP practices as well. But these teams are all “on the train,” working together to deliver a larger quantum of value, so this is cadence-based Kanban, complete with synchronized integration points, local content authority via Product Owner role, and participation in PI Planning. Given these constraints, some will say this isn’t pure Kanban, and they are surely right, but it works well in this context.
  • Finally, Principles have been updated to the latest revision, which was recently released in 3.0.

Of course there’s more to this story, but that’s the nice thing about SAFe. It’s all freely revealed so you can read it yourself.

Given this next, major milestone in the development of SAFe, we are now firming the release schedule for the rest of this year, including the future updates to this site. We’ll describe the near future, and associated certification processes, in a later post. However, for those of you who might be concerned about the timing of the upcoming release, rest assured that we will be supporting SAFe 3.0 throughout all of this year and next.

We hope to see you in the field. There’s much yet to be learned, so we’ll continue on this journey together.

Stay SAFe,

—Dean, Inbar, Richard, Alex and Harry

Categories: Blogs

Unix: Converting a file of values into a comma separated list

Mark Needham - Tue, 06/09/2015 - 00:23

I recently had a bunch of values in a file that I wanted to paste into a Java program which required a comma separated list of strings.

This is what the file looked like:

$ cat foo2.txt | head -n 5
1.0
1.0
1.0
1.0
1.0

And the idea is that we would end up with something like this:

"1.0","1.0","1.0","1.0","1.0"


The first thing we need to do is quote each of the values. I found a nice way to do this using sed:

$ sed 's/.*/"&"/g' foo2.txt | head -n 5
"1.0"
"1.0"
"1.0"
"1.0"
"1.0"

Now that we’ve got all the values quoted we need to get rid of the new lines and replace them with commas. The way I’d normally do this is using ‘tr’ and then just not copy the final comma…

$ sed 's/.*/"&"/g' foo2.txt | tr '\n' ','
"1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0",

…but I learnt that we can actually do one better than this using ‘paste’ which allows you to replace new lines excluding the last one.

The only annoying thing about paste is that you can’t pipe to it so we need to use process substitution instead:

$ paste -s -d ',' <(sed 's/.*/"&"/g' foo2.txt)
"1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0","1.0"

If we’re only a Mac we could even automate the copy/paste step too by piping to ‘pbcopy':

$ paste -s -d ',' <(sed 's/.*/"&"/g' foo2.txt) | pbcopy
Categories: Blogs

Are You Getting What You Need From Conferences?

Learn more about our Scrum and Agile training sessions on WorldMindware.com

Professional Development opportunities are everywhere and they are easy to find at any price-point on any topic at any location. The hard part is deciding how to spend your time.

It is important to think about why you attend conferences. Most importantly, why do you choose some conferences over others? Do you want to learn from peers in your field? Do you want exposure to the latest industry trends? Are you looking for a new job? Or do you just want to be blown away by great people?

I attended the Agile Coach Camp Canada last weekend in Cornwall, Ontario, and that incredible experience has caused me to reflect on the variety of conferences I have enjoyed in recent years…and why I choose some over others.

Like any great product, successful conferences have clear and focused goals which create specific opportunities for their participants. Conference organizers choose location, venue, date, duration, registration cost, format, theme, etc. The best conference organizers are courageous and willing to make difficult decisions in order to compose their events with utmost respect to the collective vision and goals of the attendees, sponsors, and founders. The organizers of Agile Coach Camp Canada, for example, are dedicated to creating an event in which the agile coaching community can “share in an energizing and supportive environment”. That’s it! A clear and compelling vision. This clarity of vision guides decisions like whether to host the event in a metropolis (which may result in larger numbers and more sponsorship opportunities) or away from large cities (think overnight “camp”) — this is one formative decision of many that make Agile Coach Camp Canada so intense and unique year after year.

Some background: This was the 6th annual Agile Coach Camp Canada and the 2nd time that I have attended; the event generally starts on Friday evening and includes supper followed by lightning talks, Saturday uses Open Space Technology to produce an agenda followed by supper and socializing (late into the night!), then Sunday morning wraps-up with retrospection then everybody leaves in early afternoon; the cost per person is between $300-$500 for the entire weekend including meals, travel, hotel room; the event is often held in small-ish towns like Guelph or Cornwall which are a few hours from a major airport. Having been there twice — both times just blown away by the community, their expertise, their emotional intelligence, their openness — I understand very clearly the responsibility of conference organizers and I have gained new respect for the difficult decisions they must make.

Upon reflection, I know that I attend the Agile Coach Camp Canada because (a) I learn a lot and (b) I have bonded deeply with my colleagues. Those are the two reasons that I will return next year and the next. I do not attend that event with an expectation to develop new business, or attract new leads, or stay on top of industry trends — instead, I will look to other conferences for those opportunities.

What/where/when is your next professional excursion? Do you know what you want to get out of it? Here’s a tip: choose one objective from the list below and find a conference that delivers exactly that!

  • Business development: Find new or reconnect with existing business contacts.
  • Professional development: Find or explore opportunities for career enhancement.
  • Learning: Listen/watch/share with others who practice in your areas of interest.
  • Community building: Connect and communicate with people with interests or qualities that you appreciate.
  • Market exposure: Evangelize a product or service for a captive audience.
  • Other?

Life is short…make it amazing!

Try out our Virtual Scrum Coach with the Scrum Team Assessment tool - just $500 for a team to get targeted advice and great how-to informationPlease share!
facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Are You Getting What You Need From Conferences? appeared first on Agile Advice.

Categories: Blogs

Visionary Leadership: How To Be a Visionary Leader (Or at Least Look Like One)

J.D. Meier's Blog - Mon, 06/08/2015 - 16:41

“Remember this: Anticipation is the ultimate power. Losers react; leaders anticipate.” – Tony Robbins

Have you ever noticed how some leaders have a knack for "the art of the possible" and for making it relevant to the current landscape?

They are Visionary Leaders and they practice Visionary Leadership.

Visionary Leaders inspire us and show us how we can change the world, at least our slice of it, and create the change we want to be.

Visionary Leaders see things early and they connect the dots.

Visionary Leaders luck their way into the future.  They practice looking ahead for what's pertinent and what's probable.

Visionary Leaders also practice telling stories.  They tell stories of the future and how all the dots connect in a meaningful way.

And they put those stories of the future into context.  They don't tell disjointed stories, or focus on flavor-of-the-month fads.  That's what Trend Hoppers do.

Instead, Visionary Leaders focus on meaningful trends and insights that will play a role in shaping the future in a relevant way.

Visionary leaders tell us compelling stories of the future in a way that motivates us to take action and to make the most of what's coming our way.

Historians, on the other hand, tell us compelling stories of the past.

They excite us with stories about how we've "been there, and done that."

By contrast, Visionary Leaders win our hearts and minds with "the art of the possible" and inspire us to co-create the future, and to use future insights to own our destiny.

And Followers, well, they follow.

Not because they don't see some things coming.  But because they don't see things early enough, and they don't turn what they see into well-developed stories with coherence.

If you want to build your capacity for vision and develop your skills as a Visionary Leader, start to pay attention to signs of the future and connect the dots in a meaningful way.

With great practice, comes great progress, and progressing even a little in Visionary Leadership can make a world of difference for you and those around you.

You Might Also Like

7 Metaphors for Leadership Transformation

10 Free Leadership Skills for Work and Life

10 Leadership Ideas to Improve Your Influence and Impact

Emotional Intelligence is a Key Leadership Skill

Integrating Generalist

Categories: Blogs

On Human Capital – HR and Agile

Agile For All - Bob Hartman - Mon, 06/08/2015 - 15:17
Human capital business diagram management strategy concept chart illustration

Human capital business diagram management strategy

What is Human Capital? 

Human capital is just one of an organisation’s intangible assets. It is basically all of the competencies and commitment of the people within an organization i.e. their skills, experience, potential and capacity. Other examples of intangible assets include: brand, software, design, working methods and customer relationships. The human capital asset captures all the people oriented capabilities we need for a business to be successful.

It’s important to remember, however, that individuals are only an asset insofar as they choose to invest their human capital in an organization, which should be encouraged by leadership…

Some people find the term Human Capital somewhat mechanistic, but human capital is not about describing people as economic units (like calling people “resources”), rather it is a way of viewing people as critical contributors to an organization’s success. This then throws the spotlight on how businesses invest in their human capital asset, in order for it to add value. For any commercial organisation, this is an important component to understand. If a company understands how its human capital contributes to their business success, it can then be measured and managed more effectively.

Human capital management is a reciprocal relationship between supply and demand: employees, contractors and consultants invest their own human capital into business enterprises and the business enterprises need to manage the supplier. Any organisation interested in its performance will naturally ask how well they are managing this asset to ensure maximum return on their investment. In the same way, all employees, contractors, consultants and providers of human capital want to ensure they are getting the appropriate return for their own human capital investing through salary, bonuses, benefits, and so on.

Understanding how and why people add value or not to an organisation is an important, and difficult, management skill for the 21st century.

Why is Human Capital an increasingly important issue? 

Human capital has never been more critical to competitiveness, because the world has changed. Over the last 20 years we have witnessed a revolution in the workforce, as well as in the workplace.

The Workplace 

Increasingly the developed world has evolved into a service and information economy. In an information economy, people are the critical asset and in a service economy many more outputs are intangible, as much as 80 per cent of a company’s worth is now tied to its people. Access to financial capital is no longer a source of competitive advantage; our competitiveness increasingly derives from know-how, or people’s abilities, skills and competence.

People, the human capital asset, with the right profile and capability provide an advantage, which is not easily replicated by competitors.

The Workforce 

At the same time, the labour force has also changed dramatically. Organisations know they need people to deliver value in new and different ways, and that those people they depend on have changed. For example, we see an aging, more diverse population, with more women entering the workforce, more dual-earner couples. However businesses can still struggle with a general shortage of the skills required in a service and information economy.

The war for talent in the human capital market place means businesses can’t take for granted that individuals will want to invest their own human capital in an organisation. Elements, other than traditional pay and job security, need to be put in place to attract and retain top talent.

These changes have culminated to ensure that human capital is becoming a major driver for organizational performance.

Forty-six per cent of Chief Executives say that finding good people and keeping them is their single biggest worry and most fear their employees are ill-equipped in terms of skills. The investment community is now probing human capital issues, yet most Chief Finance Officers say they have only a moderate understanding of the returns they get from what is often their largest single investment – people. Human capital then is a critical contributor to competitive advantage.

What is the challenge for organizations? 

Human capital may well now be the most critical source of competitive advantage, but it is also the most difficult to measure. If people are a company’s greatest asset, how do we quantify the value of this asset?

The phrase ‘our people are our greatest asset’ has become a tired cliché around which real cynicism has justifiably been created. The cynicism is based on the gap between what a business says and what it does. If an organization can’t prove that its people are its greatest asset, then it isn’t being measured and it can’t really be managed.

The quantifiable evaluation of human capital is a challenge and there is currently no accepted way of doing this. There is no single measure, independent of context, which can describe the impact of employee competencies and commitment on business performance. There are reliable methods for measuring the return on investment on physical capital, but not for human capital; it’s a new and evolving science.

Causality is the issue; it is very difficult to prove links between ‘cause’ and ‘effect’ in a complex working and social environment. Assigning causality is a challenge because a business context is a very different social environment, e.g. is customer satisfaction really improved because employee retention has improved, or is it because that business invested in better technology and improved their product? Is an organisation getting discretionary effort from its people because they have been allowed flexible working, or because they are being paid more than competitors’ offers, or even a mixture of both?

Correlations are not the same as causality either. The challenge for most organizations is that if the value of human capital can’t be quantified, where and how do they make the best investment in their asset, and how do they know what the return on that investment will be?

What does this mean for HR? 

The pressure on HR functions to perform is greater than ever because of the critical role human capital plays in an organization’s wealth, success and competitiveness today. If the role of HR is to optimize ‘people performance’ then businesses need to ask what ‘good’ HR looks like for their organization.

Increasingly it’s understood that a good HR function can add significant value and make a real contribution to an organisation’s performance, however looking at HR through a human capital lens puts further demands on the function. HR needs to make causal connections clear between their practices and business value. This means moving from describing good HR practice to proving it.

For decades HR has wanted greater legitimacy for their role; often without a seat at the top table. With human capital now being such a source of competitive advantage, the door is open for HR to bring to the table the value they have for many years been espousing.

But how do they do this?

The HR paradigm shift with Agile

If we accept human capital is one of the key assets driving creation of value, then HR is not a cost centre but an asset provider. It is a function that enables businesses to manage people better than other companies, but to prove this, HR needs to change its approach quite fundamentally, and we’ve been fortunate to touch on HR within Agile transformations, but it is only the beginning!

Most HR functions are on this route, in some form or other, already:

  • Moving from efficiency to effectiveness
  • Moving from cost to value-add
  • Moving from inputs to outputs
  • Moving from data collection to data analysis
  • Moving from traditional HR data to linking it to operational performance

Having this intelligence informs our answer to the question of what HR should be doing in order to deliver business impact.

Linking HR practice and individual or organisational performance is therefore at the heart of what HR needs to do so it can identify how HR policies translate into performance. As a minimum, HR should have reliable data in conventional areas, such as churn, absence, labor costs, time and costs of recruiting, etc but they must also have access to performance measures, such as production figures, sales targets, service level agreements and be able to make links between the two.

Increasing the capability of HR to deliver more commercially will be the key to demonstrating how HR can really add-value to an organisation.

What does this mean for Finance Directors and the CEO? 

The gap between a company’s tangible assets and its stock market value is growing. For many businesses the tangible assets on the balance sheet represent a small part of their stock market valuation or the value to a potential acquirer. In most organizations, reporting and evaluation of human capital is non-existent. As the world has changed and human capital has become more critical to competitiveness, it has exposed the limitations of traditional accounting practices in being able to identify the real value-adding components of an organisation. The issue is, if we don’t know how to measure intangible assets, how do we know whether to invest, or how much?

How do we link investment in the following areas to business performance?

  • Induction
  • Skills and technical training
  • Management training
  • Organizational roles
  • Process design
  • Workforce planning
  • Reward management
  • Retention management
  • Employee feedback
  • Performance management, etc

We know the evaluation and measurement of human capital is difficult and that it’s an evolving science, but for most Finance Directors, understanding the performance of their human capital investments is extremely weak compared to their understanding of any other asset in their business.

Many finance professionals see people as an operating cost, not as a source of value creation. They also then treat all expenditure on human capital as a cost to be minimized, as opposed to a cost that can be optimized. Without the measures and links, however, it is hard to know how to do the latter and who in the business is responsible for that: HR; Finance; or both?

There is also a difference between internal and external reporting. Increasingly, externally a company will be assessed on the basis of the amount of information it can provide about its internal labor market and how well that market serves its business objectives. External human capital reporting required of organisations today is still limited and is largely narrative, but this may well change.

The real challenge is how to move along the continuum, using HR analytics, to deliver a picture of how human capital investments create business value. To move from generating HR information, to reporting human capital and then measuring that asset, so it can be understood and used best.

Agile is more than just for the “product-building” or “service-building” aspects of a business.

It must holistically include the human-side. We invite you to dive deeper into these ideas as you go on your Agile journey.

The post On Human Capital – HR and Agile appeared first on Agile For All.

Categories: Blogs

Organize an Agile Release Train in SAFe

TV Agile - Mon, 06/08/2015 - 14:45
Dean Leffingwell discusses implementing the agile release train, which is the primary value delivery vehicle inside the scaled agile framework. Watch this video on http://www.informit.com/articles/article.aspx?p=2339657
Categories: Blogs

The piano analogy: some practice required

Thought Nursery - Jeffrey Fredrick - Sun, 06/07/2015 - 19:10

This year I’m training people in the theories of Chris Argyris, helping them to apply the concepts, and this raised some fun challenges. The challenge on my mind today is how to convince people that practice will be required before they can perform well? My current analogy is the piano.

After a quick search I can show you a three minute video of a 14-year old explaining how a grand piano works. If you’ve got an extra minute I could share a four minute animation that illustrates the mechanism in detail. You probably already know that in a piano the strings vibrate and that produces the sounds you hear. It would take moments to strike each key and allow you to hear each note. Having invested less than thirty minutes you could understand a piano and how it works. You can’t play it, but you know you can’t play it. You were unlikely to have mistaken understanding the concepts for being able to produce the result.

Action Science seems different.

I’ve introduced dozens of people to the topic through Roger Schwartz’s excellent Eight Behaviours for Smarter Teams, a sort of Shu-level guide to producing Mutual Learning behaviour. The response is typically positive, enthusiastic even, and general  agreement they should start behaving in a mutual learning way. However they also believe that now they understand mutual learning behaviour they can also produce mutual learning behaviour. They mistake understanding the concepts with being able to produce the result. Worse, their own incompetence makes them blind to their lack of skill.

So this is where the piano analogy comes into play. Everyone acknowledges the gap between understanding and performance. I use the piano analogy to set the expectation that practice will be required. Then we begin using the two-column case study to start retraining their ear, allowing them to begin hearing the difference between Model 1 and Model 2 behaviour for the first time. And when someone is discouraged by their performance, the analogy is there again to help them have realistic expectations: “How long have you been practicing the mutual learning approach? How long do you think it should take to retrain from a lifetime of habit and cultural norms?”

Do you have a technique you use to help set expectations for skill acquisition and maintaining motivation? If so I’d love to hear about it in the comments or on Twitter.

Categories: Blogs