Skip to content

Feed aggregator

Reimagine Your Productivity at Getting Results.com

J.D. Meier's Blog - Mon, 06/27/2016 - 18:27

image

Imagine if you could master your motivation, your productivity, and your time management?

It’s time to get your game on.

I’ve completely revamped Getting Results.com (http://GettingResults.com) to help you think, feel, and do your best in any situation.

At Getting Results.com you can learn all about Agile Results.  It’s more than just a time management system or a productivity system.

It’s a personal results system for work and life.

Agile Results is a simple system for meaningful results.

It helps you respond to change while making things happen.  It helps you use your best energy for your best results, while you keep learning and improving.

What Will You Find at Getting Results.com?

Getting Results.com is a source of insight, inspiration, and action for mastering productivity, motivation, time management and more.

Here are some of the key things you’ll have access to:

  1. Get Started with Agile Results.
  2. Articles on Agile Results, Goals, Motivation, and More.
  3. 7 Day Agile Results Jumpstart, helps you take Agile Results for a test-drive and potentially have one of your best weeks.  Ever.
  4. 30 Days of Getting Results, this is advanced training that will help you get better results for work and life.
  5. Resources that include Cheat Sheets, Checklists, How Tos, Visuals, and more.

You can also read Success Stories to hear about how others have implemented and are using Agile Results.

Getting Started with Agile Results

While there are a lot of resources at Getting Results.com, the most important thing you can actually do is just get started with Agile Results:

Get Started with Agile Results

Take it for a test drive and see if you can create better results at work and in your life, the Agile Way.

Categories: Blogs

Women In Agile Workshop, July 24, 2016, Atlanta, USA

Scrum Expert - Mon, 06/27/2016 - 17:08
The the Sunday before the start of the Agile2016 Conference, the Agile Alliance is organizing the Women In Agile Workshop on the theme “The Changing Face of Agile”. The Women In Agile Workshop is designed for both women and men who seek to create a more inclusive and diverse community that enables broad idea-sharing from all members. If you are a woman who is active in the Agile community, or seeking to become more involved and meet other women, or if you’re a man who wants to understand and support women in Agile, we encourage you to attend this valuable workshop. To start, Cindy Morse, VP of Engineering Operations at Salesforce Marketing Cloud, will discuss her involvement and experiences in the greater technology community. The facilitators will guide you in the Lean Coffee format to discuss relevant topics to smaller groups. You will take away insight from others, tools to increase your own involvement, and a support group to help you achieve your involvement goals. More information and registration on http://www.eventbrite.com/e/women-in-agile-workshop-registration-25519978944
Categories: Communities

Agile Open Spain, Santiago de Compostela, Spain, July 1-2 2016

Scrum Expert - Mon, 06/27/2016 - 16:27
Agile Open Spain is a two-day event focused on Agile software development approaches like Scrum and XP. The Agile Spain community organizes this conference and all discussions will be in Spanish. The Agile Open Spain conference follows the open space format for conferences. Open space is a simple methodology for self-organizing conference tracks. It relies on participation by people who have a passion for the topics to be discussed. There is no preplanned list of topics, only time slots and a space in the main meeting room where interested participants propose topics and pick time slots. Web site: http://aos2016.agile-spain.org/ Location for the Agile Open Spain conference: Santiago de Compostela, Spain
Categories: Communities

Trello Board with Retrospective Techniques

Ben Linders - Mon, 06/27/2016 - 15:27

The Trello board retrospective techniques for coaches, Scrum masters, and other facilitators provides exercise and ideas to design agile retrospectives. Philip Rogers created this board, he has added me so that I can contribute my experience with retrospectives.

This interesting retrospective resource on Trello has columns with:

  • “All-in-one” plans for retrospectives, descriptions of exercises that cover the five phases mentioned below.
  • Futurespectives, where the focus of the conversation is not on something that has occurred in the past, but instead on what the team foresees in its future.
  • Activities for the five phases from the agile retrospectives book by Esther Derby and Diana Larsen.


advertisement:

Retrospectives Exercises Toolbox - Design your own valuable Retrospectives

Trello Retrospectives techniques boardThe trello board with retrospective techniques has been added to the retrospective exercises toolbox.

I’ve contributed to the board by sharing my blog posts How Futurespectives Help Teams to Reach Their Goals, Retrospective Prime Directive in many languages and What to do when safety is low in a retrospective on this board. More will be added soon.

My mission is to help teams all around the world to increase the value of their agile retrospectives. There’s the book Getting Value out of Agile Retrospectives, the Retrospective Exercises Toolbox, workshops for Valuable Agile Retrospectives in Teams and for Increasing your Agility with Retrospectives and there are lots of blog posts on retrospectives. And you can Ask Your Agile Retrospective Question on line. All these things help you to make your retrospectives valuable.

A big thanks to Philip Rogers for providing me the possibility to share my experience and ideas for agile retrospectives on this board!

Categories: Blogs

Review: Switching to the Agile Mindset

Learn more about transforming people, process and culture with the Real Agility Program

Recently, I discovered a well-written article on Scrum Alliance posted from a member entitled “Switching to the Agile Mindset.” In this article, the author lists six key components of the transformation individuals and teams go through as they adapt more agile mindsets and approaches to their work. I found this article ideal for new coaches and also useful for people on the team who may feel challenged by the switch.

The part which stands out for me the most is the phrase, “Change acceptance develops agility in a team.”

This concept is enshrined in the Agile Manifesto itself. Being able to adapt well to change is the cornerstone of the new mindset and a high-functioning agile team.

Learn more about our Scrum and Agile training sessions on WorldMindware.comPlease share!
Facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Review: Switching to the Agile Mindset appeared first on Agile Advice.

Categories: Blogs

The Key To Delegating Work

Derick Bailey - new ThoughtStream - Mon, 06/27/2016 - 14:00

Getting thrown in to the deep end of any new responsibility can be quite a challenge – but none more so than the challenge of managing other people and their projects, when you have no experience with management!

As someone that has been through the ranks of project leadership and management, I’ve found a few principles to be consistent in learning how to delegate work to the people on my teams… a balance between two extremes that can be difficult to find.

So, what is the key to delegating work effectively – especially in your early days as a manager?

Find out in this episode of ThoughtsOnCode.

Categories: Blogs

AgileChina, Beijing, China, July 17-20 2016

Scrum Expert - Mon, 06/27/2016 - 10:00
AgileChina is a four-day conference about Agile and Scrum that will take place in Beijing. It is part of the TiD Conference that integrates resources and forces of SPIChina, ChinaTest and AgileChina. Agile China will start with a day of tutorials followed by three days of sessions both in Chinese and English. In the agenda of AgileChina conference you can find topics like “Scrum Mastery – Essential Skills for Team Excellence”, “Essential Patterns of Mature Agile Leaders”, “Software is a Side Effect: Your Real Job is Rapid Learning”, “Exploring Scrum of Scrums as a Scaling Vehicle”, “From Concept to Product Backlog – What Happens Before Iteration 0?”, “The Essential Product Owner: Partnering with your Teams”. Web site: http://www.tid.org.cn/?c=english Location for the AgileChina conference: China National Convention Center, NO.1 Tianchen East Road , Olympic Green , Chaoyang District , Beijing 100105 , China
Categories: Communities

Links for 2016-06-26 [del.icio.us]

Zachariah Young - Mon, 06/27/2016 - 09:00
Categories: Blogs

Dangers of Certainty in Realizing Customer Value

Don Quixote was certain he saw Giants instead of windmills. In this epic story, he believed he knew the answers and saw what he wanted to see.  Unfortunately in many organizations, there is this same phenomenon, a need to act as if we are certain.  In fact, the higher up you go in an organization, the compulsion of acting with certainty becomes greater and greater.  Statements like “That’s why we pay you the big bucks” are used to imply that the higher in an organization, the more you are expected to just “know”. 
Some think they must act with “pretend certainty” for the benefit of their career.  Others have convinced themselves of “arrogant certainty” where they believe they know the answer or solution but don’t (or can’t) provide any solid basis for this certainty. Unfortunately this arrogance can be interpreted as confidence that can be dangerous to the success of a company.  Nassim Nicolas Taleb refers to “epistemic arrogance” that highlights the difference between what someone actually knows and how much he thinks he knows. The excess implies arrogance.  What has allowed certainty within companies to thrive is that there is a distance between the upfront certainty and the time it takes to get to the final outcome.  There lacks accountability between certainty at the beginning and the actual results at the end.  Often times the difference is explained away by the incompetence of others who didn’t build or implement the solution correctly.
Of course, the truth is somewhere in between. The concept of certainty is actually dangerous to an enterprise since it removes the opportunity of acknowledging the options and allowing the enterprise to apply a discovery mindset approach toward real customer value via customer feedback loops and more.
We also want to avoid the inverse that is remaining in uncertainty due to analysis paralysis.  A way to avoid this is to apply work in an incremental framework with customer feedback loops to enable more effective and timely decision-making. Customer feedback will provide us with the evidence for making better decisions. Applying an incremental mindset will enable us to make smaller bets that are easier to make and allow us to adapt sooner. 
A healthier and more realistic approach is to have leaders who understand that uncertainty is actually a smart starting position and then apply processes that support gaining certainty. It is, therefore, incumbent upon us to have an approach that admits to limited information and uncertainty, and then applies a discovery process toward customer value. In the end, the beaten and battered Don Quixote forswears all the chivalric false certainty he followed so fervently.  Is it time for management to give up the certainty mindset they think they have and instead replace it with a discovery mindset as a better path to customer success? 
Categories: Blogs

Making Unconscious Habits in Culture Conscious in Agile Teams

Learn more about transforming people, process and culture with the Real Agility Program In the past, in our North American culture, power and authority in an organization was held by those who earned the most money, had the titles to go along with their authority, and they had the right to make decisions about where they went, when they went places and who they associated with. They also had the power and authority to decide what others did and didn’t do in their work environment. That was in the past. Where we are headed in a more unified and equal culture, based on principles of collaboration and understanding is that power is now more equally distributed. Those who didn’t have access to education now do. Those who were previously barred from environments of wealth and prosperity are now welcomed in. Corporate cultures, and organizational models across the board are changing and it’s good for everyone. The biggest challenge in any change arises when someone’s fear of being excluded is realized. The issue is no longer about money or time or integrity. The issue is that as work environments change, old (mostly unconscious) patterns of exclusion are changing too. It means janitors associating with doctors and delivery teams eating lunch with those in leadership (imagine that!). When an organization is going through a transformation, when they notice behaviours which were limiting and exclusive and change them, they are actively contributing to an ever-advancing civilization. They are creating a new and inclusive culture. At times, mistakes will be made. Old ways will sneak their way back in and one or more team member may get snubbed or excluded for one reason or another. This happens. It’s normal and is part of the learning process. But in time, the aim for any agile team is to continually make these old exclusive unconscious habits conscious so that work environments can continue to embrace a greater diversity of people, not just of cultural backgrounds but from different social and economic backgrounds, too. The difference in life experience from someone who has lived in poverty to someone who has lived in wealth is as if they grew up in different worlds, even though we inhabit the same earth. Everything is different. Language. Behaviours. Hopes and Dreams. Everything is different on any level. However, just as different races are now joining together in work and in marriage more often, so are people from different socio-economic backgrounds coming together too, in work, in community building, in families. The pain of the growth is a worthwhile investment into a brighter and more unified future not just for us but for the generation to follow us. Learn more about our Scrum and Agile training sessions on WorldMindware.comPlease share!
Facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Making Unconscious Habits in Culture Conscious in Agile Teams appeared first on Agile Advice.

Categories: Blogs

AutoMapper 5.0 speed increases

Jimmy Bogard - Fri, 06/24/2016 - 23:43

Just an update on the work we’ve been doing to speed up AutoMapper. I’ve captured times to map some common scenarios (1M mappings). Time is in seconds:

  Flattening Ctor Complex Deep Native 0.0148 0.0060 0.9615 0.2070 5.0 0.2203 0.1791 2.5272 1.4054 4.2.1 4.3989 1.5608 134.39 29.023 3.3.1 4.7785 1.3384 72.812 34.485 2.2.1 5.1175 1.7855 122.0081 35.863 1.1.0.118 6.7143 n/a 29.222 38.852

The complex mappings had the biggest variation, but across the board AutoMapper is *much* faster than previous versions. Sometimes 20x faster, 50x in others. It’s been a ton of work to get here, mainly from the change in having a single configuration step that let us build execution plans that exactly target your configuration. We now build up an expression tree for the mapping plan based on the configuration, instead of evaluating the same rules over and over again.

We *could* get marginally faster than this, but that would require us sacrificing diagnostic information or not handling nulls etc. Still, not too shabby, and in the same ballpark as the other mappers (faster than some, marginally slower than others) out there. With this release, I think we can officially stop labeling AutoMapper as “slow” ;)

Look for the 5.0 release to drop with the release of .NET Core next week!

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Categories: Blogs

Are Project Boards Really Kanban? How Old-School Project Management Prevents Continuous Improvement

Project boards limit your visibility into your team's capacity and performance. Learn how team Kanban boards enable continuous improvement.

The post Are Project Boards Really Kanban? How Old-School Project Management Prevents Continuous Improvement appeared first on Blog | LeanKit.

Categories: Companies

Workshops in Kladno on Getting More out of Agile and Lean

Ben Linders - Fri, 06/24/2016 - 20:53

AguarraI will give two workshops in Kladno (near Prague) on Getting More out of Agile and Lean. In these workshops you’ll learn practices to develop the right products for your business and customers, reduce your delivery time, increase the quality of your software, and create happy high performing teams.

Subscribe now to attend a workshop on November 2 or December 2 in Kladno, Czech Republic.


advertisement:

Retrospectives Exercises Toolbox - Design your own valuable Retrospectives

These workshops are done in collaboration with Aguarra, the competence center for agile techniques and technology innovations in Czech Republic, Slovakia and Hungary. Aguarra serves as a platform for experts, who work on research and implementation of agile techniques.

The workshop on Getting More out of Agile and Lean can be combined with the workshop on Valuable Agile Retrospectives that I’m giving on on November 1 or December 1. These two days of workshops on Retrospectives and Agile and Lean practices help you to boost the performance of your teams, enabling them to deliver more value to their customers and stakeholders.

Regular price is 480 EUR / 576 EUR. Price when ordering until 01. 09. 2016 : 440 EUR / 528 EUR.

Categories: Blogs

Unix: Find files greater than date

Mark Needham - Fri, 06/24/2016 - 18:56

For the latter part of the week I’ve been running some tests against Neo4j which generate a bunch of log files and I wanted to filter those files based on the time they were created to do some further analysis.

This is an example of what the directory listing looks like:

$ ls -alh foo/database-agent-*
-rw-r--r--  1 markneedham  wheel   2.5K 23 Jun 14:00 foo/database-agent-mac17f73-1-logs-archive-201606231300176.tar.gz
-rw-r--r--  1 markneedham  wheel   8.6K 23 Jun 11:49 foo/database-agent-mac19b6b-1-logs-archive-201606231049507.tar.gz
-rw-r--r--  1 markneedham  wheel   8.6K 23 Jun 11:49 foo/database-agent-mac1f427-1-logs-archive-201606231049507.tar.gz
-rw-r--r--  1 markneedham  wheel   2.5K 23 Jun 14:00 foo/database-agent-mac29389-1-logs-archive-201606231300176.tar.gz
-rw-r--r--  1 markneedham  wheel    11K 23 Jun 13:44 foo/database-agent-mac3533f-1-logs-archive-201606231244152.tar.gz
-rw-r--r--  1 markneedham  wheel   4.8K 23 Jun 14:00 foo/database-agent-mac35563-1-logs-archive-201606231300176.tar.gz
-rw-r--r--  1 markneedham  wheel   3.8K 23 Jun 13:44 foo/database-agent-mac35f7e-1-logs-archive-201606231244165.tar.gz
-rw-r--r--  1 markneedham  wheel   4.8K 23 Jun 14:00 foo/database-agent-mac40798-1-logs-archive-201606231300176.tar.gz
-rw-r--r--  1 markneedham  wheel    12K 23 Jun 13:44 foo/database-agent-mac490bf-1-logs-archive-201606231244151.tar.gz
-rw-r--r--  1 markneedham  wheel   2.5K 23 Jun 14:00 foo/database-agent-mac5f094-1-logs-archive-201606231300189.tar.gz
-rw-r--r--  1 markneedham  wheel   5.8K 23 Jun 14:00 foo/database-agent-mac636b8-1-logs-archive-201606231300176.tar.gz
-rw-r--r--  1 markneedham  wheel   9.5K 23 Jun 11:49 foo/database-agent-mac7e165-1-logs-archive-201606231049507.tar.gz
-rw-r--r--  1 markneedham  wheel   2.7K 23 Jun 11:49 foo/database-agent-macab7f1-1-logs-archive-201606231049507.tar.gz
-rw-r--r--  1 markneedham  wheel   2.8K 23 Jun 13:44 foo/database-agent-macbb8e1-1-logs-archive-201606231244151.tar.gz
-rw-r--r--  1 markneedham  wheel   3.1K 23 Jun 11:49 foo/database-agent-macbcbe8-1-logs-archive-201606231049520.tar.gz
-rw-r--r--  1 markneedham  wheel    13K 23 Jun 13:44 foo/database-agent-macc8177-1-logs-archive-201606231244152.tar.gz
-rw-r--r--  1 markneedham  wheel   3.8K 23 Jun 13:44 foo/database-agent-maccd92c-1-logs-archive-201606231244151.tar.gz
-rw-r--r--  1 markneedham  wheel   3.9K 23 Jun 13:44 foo/database-agent-macdf24f-1-logs-archive-201606231244165.tar.gz
-rw-r--r--  1 markneedham  wheel   3.1K 23 Jun 11:49 foo/database-agent-mace075e-1-logs-archive-201606231049520.tar.gz
-rw-r--r--  1 markneedham  wheel   3.1K 23 Jun 11:49 foo/database-agent-mace8859-1-logs-archive-201606231049507.tar.gz

I wanted to split the files in half so that I could have the ones created before and after 12pm on the 23rd June.

I discovered that this type of filtering is actually quite easy to do with the ‘find’ command. So if I want to get the files after 12pm I could write the following:

$ find foo -name database-agent* -newermt "Jun 23, 2016 12:00" -ls
121939705        8 -rw-r--r--    1 markneedham      wheel                2524 23 Jun 14:00 foo/database-agent-mac17f73-1-logs-archive-201606231300176.tar.gz
121939704        8 -rw-r--r--    1 markneedham      wheel                2511 23 Jun 14:00 foo/database-agent-mac29389-1-logs-archive-201606231300176.tar.gz
121934591       24 -rw-r--r--    1 markneedham      wheel               11294 23 Jun 13:44 foo/database-agent-mac3533f-1-logs-archive-201606231244152.tar.gz
121939707       16 -rw-r--r--    1 markneedham      wheel                4878 23 Jun 14:00 foo/database-agent-mac35563-1-logs-archive-201606231300176.tar.gz
121934612        8 -rw-r--r--    1 markneedham      wheel                3896 23 Jun 13:44 foo/database-agent-mac35f7e-1-logs-archive-201606231244165.tar.gz
121939708       16 -rw-r--r--    1 markneedham      wheel                4887 23 Jun 14:00 foo/database-agent-mac40798-1-logs-archive-201606231300176.tar.gz
121934589       24 -rw-r--r--    1 markneedham      wheel               12204 23 Jun 13:44 foo/database-agent-mac490bf-1-logs-archive-201606231244151.tar.gz
121939720        8 -rw-r--r--    1 markneedham      wheel                2510 23 Jun 14:00 foo/database-agent-mac5f094-1-logs-archive-201606231300189.tar.gz
121939706       16 -rw-r--r--    1 markneedham      wheel                5912 23 Jun 14:00 foo/database-agent-mac636b8-1-logs-archive-201606231300176.tar.gz
121934588        8 -rw-r--r--    1 markneedham      wheel                2895 23 Jun 13:44 foo/database-agent-macbb8e1-1-logs-archive-201606231244151.tar.gz
121934590       32 -rw-r--r--    1 markneedham      wheel               13427 23 Jun 13:44 foo/database-agent-macc8177-1-logs-archive-201606231244152.tar.gz
121934587        8 -rw-r--r--    1 markneedham      wheel                3882 23 Jun 13:44 foo/database-agent-maccd92c-1-logs-archive-201606231244151.tar.gz
121934611        8 -rw-r--r--    1 markneedham      wheel                3970 23 Jun 13:44 foo/database-agent-macdf24f-1-logs-archive-201606231244165.tar.gz

And to get the ones before 12pm:

$ find foo -name database-agent* -not -newermt "Jun 23, 2016 12:00" -ls
121879391       24 -rw-r--r--    1 markneedham      wheel                8856 23 Jun 11:49 foo/database-agent-mac19b6b-1-logs-archive-201606231049507.tar.gz
121879394       24 -rw-r--r--    1 markneedham      wheel                8772 23 Jun 11:49 foo/database-agent-mac1f427-1-logs-archive-201606231049507.tar.gz
121879390       24 -rw-r--r--    1 markneedham      wheel                9702 23 Jun 11:49 foo/database-agent-mac7e165-1-logs-archive-201606231049507.tar.gz
121879393        8 -rw-r--r--    1 markneedham      wheel                2812 23 Jun 11:49 foo/database-agent-macab7f1-1-logs-archive-201606231049507.tar.gz
121879413        8 -rw-r--r--    1 markneedham      wheel                3144 23 Jun 11:49 foo/database-agent-macbcbe8-1-logs-archive-201606231049520.tar.gz
121879414        8 -rw-r--r--    1 markneedham      wheel                3131 23 Jun 11:49 foo/database-agent-mace075e-1-logs-archive-201606231049520.tar.gz
121879392        8 -rw-r--r--    1 markneedham      wheel                3130 23 Jun 11:49 foo/database-agent-mace8859-1-logs-archive-201606231049507.tar.gz

Or we could even find the ones last modified between 12pm and 2pm:

$ find foo -name database-agent* -not -newermt "Jun 23, 2016 14:00" -newermt "Jun 23, 2016 12:00" -ls
121934591       24 -rw-r--r--    1 markneedham      wheel               11294 23 Jun 13:44 foo/database-agent-mac3533f-1-logs-archive-201606231244152.tar.gz
121934612        8 -rw-r--r--    1 markneedham      wheel                3896 23 Jun 13:44 foo/database-agent-mac35f7e-1-logs-archive-201606231244165.tar.gz
121934589       24 -rw-r--r--    1 markneedham      wheel               12204 23 Jun 13:44 foo/database-agent-mac490bf-1-logs-archive-201606231244151.tar.gz
121934588        8 -rw-r--r--    1 markneedham      wheel                2895 23 Jun 13:44 foo/database-agent-macbb8e1-1-logs-archive-201606231244151.tar.gz
121934590       32 -rw-r--r--    1 markneedham      wheel               13427 23 Jun 13:44 foo/database-agent-macc8177-1-logs-archive-201606231244152.tar.gz
121934587        8 -rw-r--r--    1 markneedham      wheel                3882 23 Jun 13:44 foo/database-agent-maccd92c-1-logs-archive-201606231244151.tar.gz
121934611        8 -rw-r--r--    1 markneedham      wheel                3970 23 Jun 13:44 foo/database-agent-macdf24f-1-logs-archive-201606231244165.tar.gz

Or we can filter by relative time e.g. to find the files last modified in the last 1 day, 5 hours:

$ find foo -name database-agent* -mtime -1d5h -ls
121939705        8 -rw-r--r--    1 markneedham      wheel                2524 23 Jun 14:00 foo/database-agent-mac17f73-1-logs-archive-201606231300176.tar.gz
121939704        8 -rw-r--r--    1 markneedham      wheel                2511 23 Jun 14:00 foo/database-agent-mac29389-1-logs-archive-201606231300176.tar.gz
121934591       24 -rw-r--r--    1 markneedham      wheel               11294 23 Jun 13:44 foo/database-agent-mac3533f-1-logs-archive-201606231244152.tar.gz
121939707       16 -rw-r--r--    1 markneedham      wheel                4878 23 Jun 14:00 foo/database-agent-mac35563-1-logs-archive-201606231300176.tar.gz
121934612        8 -rw-r--r--    1 markneedham      wheel                3896 23 Jun 13:44 foo/database-agent-mac35f7e-1-logs-archive-201606231244165.tar.gz
121939708       16 -rw-r--r--    1 markneedham      wheel                4887 23 Jun 14:00 foo/database-agent-mac40798-1-logs-archive-201606231300176.tar.gz
121934589       24 -rw-r--r--    1 markneedham      wheel               12204 23 Jun 13:44 foo/database-agent-mac490bf-1-logs-archive-201606231244151.tar.gz
121939720        8 -rw-r--r--    1 markneedham      wheel                2510 23 Jun 14:00 foo/database-agent-mac5f094-1-logs-archive-201606231300189.tar.gz
121939706       16 -rw-r--r--    1 markneedham      wheel                5912 23 Jun 14:00 foo/database-agent-mac636b8-1-logs-archive-201606231300176.tar.gz
121934588        8 -rw-r--r--    1 markneedham      wheel                2895 23 Jun 13:44 foo/database-agent-macbb8e1-1-logs-archive-201606231244151.tar.gz
121934590       32 -rw-r--r--    1 markneedham      wheel               13427 23 Jun 13:44 foo/database-agent-macc8177-1-logs-archive-201606231244152.tar.gz
121934587        8 -rw-r--r--    1 markneedham      wheel                3882 23 Jun 13:44 foo/database-agent-maccd92c-1-logs-archive-201606231244151.tar.gz
121934611        8 -rw-r--r--    1 markneedham      wheel                3970 23 Jun 13:44 foo/database-agent-macdf24f-1-logs-archive-201606231244165.tar.gz

Or the ones modified more than 1 day, 5 hours ago:

$ find foo -name database-agent* -mtime +1d5h -ls
121879391       24 -rw-r--r--    1 markneedham      wheel                8856 23 Jun 11:49 foo/database-agent-mac19b6b-1-logs-archive-201606231049507.tar.gz
121879394       24 -rw-r--r--    1 markneedham      wheel                8772 23 Jun 11:49 foo/database-agent-mac1f427-1-logs-archive-201606231049507.tar.gz
121879390       24 -rw-r--r--    1 markneedham      wheel                9702 23 Jun 11:49 foo/database-agent-mac7e165-1-logs-archive-201606231049507.tar.gz
121879393        8 -rw-r--r--    1 markneedham      wheel                2812 23 Jun 11:49 foo/database-agent-macab7f1-1-logs-archive-201606231049507.tar.gz
121879413        8 -rw-r--r--    1 markneedham      wheel                3144 23 Jun 11:49 foo/database-agent-macbcbe8-1-logs-archive-201606231049520.tar.gz
121879414        8 -rw-r--r--    1 markneedham      wheel                3131 23 Jun 11:49 foo/database-agent-mace075e-1-logs-archive-201606231049520.tar.gz
121879392        8 -rw-r--r--    1 markneedham      wheel                3130 23 Jun 11:49 foo/database-agent-mace8859-1-logs-archive-201606231049507.tar.gz

There are lots of other flags you can pass to find but these ones did exactly what I wanted!

Categories: Blogs

Currying: A Functional Alternative To fn.bind

Derick Bailey - new ThoughtStream - Fri, 06/24/2016 - 13:30

In my quest to learn functional programming with JavaScript, I seem to have been focusing on the idea of currying – taking a function that expects more than one argument, and turning it into a series of functions that only take one argument, executing the original function once all required arguments have been supplied.

In the last few weeks – with the help of everyone in the WatchMeCode community slack – I’ve found a places where currying seems to be beneficial. One of those places is a replacement for a function’s .bind method.

Curry vs bind

What Does .bind Do?

The .bind method – available on every function in JavaScript – allows you to do 2 things: specify the context (“this”) for the function, and specify one or more arguments that the function will receive when it is finally executed.

In this example, I have a basic add function on which I call the .bind method. The first parameter – undefined, in this case – sets the value of “this”. The second parameter – 1 – sets the first argument that will be passed to the function when it is finally executed.

The result of the .bind call is a new function. When I call this function, it only needs 1 parameter to execute.

The general term for what just happens is “partial functional application”. That is, the function was partially applied with the .bind call to set the context and the first parameter.

The final execution of the function didn’t happen until later, when I invoked the function, passing in one more argument in this case.

This is a common pattern – I’ve used partial function application in a lot of code, over the years. But now, with currying in my tool belt, I see less need for this.

Currying The Add Function

With currying, we can get the same effect as the partial function application from above, but without using the .bind method. The intermediate steps, though, provide much more flexibility than .bind does.

Let’s take the same add function, and manually curry it, as I showed in my video on the basics of currying.

In this example, there are 2 functions. The first function, add, takes a single parameter and returns the second function. The second function also takes a single parameter and then executes the addition, returning the result.

Both the .bind code above, and this code, show an “add1” method that is the result of the first operation. The both show the resulting function taking a single, second parameter to perform the calculation, as well.

I have effective produced the result of partial function application, using currying instead of .bind.

So, what’s the real difference? Is currying better than .bind? Why?

A Functional Alternative

For the simple comparison above, there is very little in benefit to using currying vs .bind.

But there are 2 major improvements that currying offers over .bind.

  1. I don’t have to specify the context (“undefined”, in that example) when currying
  2. Currying can reduce the code by not chaining function calls

While you can .bind any function – including an already partially applied function – you end up with some rather ugly code with the .bind littered everywhere.

This example shows how you’re required to continuously pass the context parameter to the .bind call, even though it’s never being used.

The currying alternative gives you slightly less code, as well:

Here, the code is a little more succinct. The use of ramda’s curry method allows you to curry the same function that was previously used.

If you’re wondering about supplying multiple parameters, though, both the .bind and curried version can do that:

There’s very little difference in this code, when it comes down to it. Do you want to supply the “undefined” parameter, or add extra parenthesis?

All this of this leads to the question…

Is Currying Better?

I don’t know if currying is “better” or “worse” or even “more flexible” than partial function application – at least not in these examples.

I think they can largely be interchanged, based on what you’re more comfortable using.

However, currying gives you options for additional functional programming tools and techniques.

From what little I know of functional code, it is common for composition, mapping and other tools to require functions only take a single argument. And in these examples, currying would likely be the choice to make it happen – though I bet you could make it work with .bind, as well.

For now, at least, I can say that currying does provide a functional alternative to the .bind method. And, frankly, I find it easier read the curried version of my code, when compared to .bind calls everywhere.

Categories: Blogs

Links for 2016-06-23 [del.icio.us]

Zachariah Young - Fri, 06/24/2016 - 09:00
Categories: Blogs

Article Review: Thinking About the Agile Manifesto

Learn more about transforming people, process and culture with the Real Agility Program

Often times, as I’ve been researching about agile methods and how to apply these to create real and sustainable change in an organization, I come across reference to the Agile Manifesto. I list it here today for those who are new to the field or who are getting back to the roots after trying a few things with different-than-expected results. It is an instrumental document. The values and principles listed here truly do shape the way agilists think and operate and to some degree or another the results appear to be better than before this founding document was introduced. So here is my “hats off” to this remarkable item which plays a pivotal role in cultural transformation.

The four key values are:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Personally, I find the first one the most meaningful of all. When we value individuals and interactions over process and tools we are truly improving in leaps and bounds in creating collaborative environments which are continuously improving.

Learn more about our Scrum and Agile training sessions on WorldMindware.comPlease share!
Facebooktwittergoogle_plusredditpinterestlinkedinmail

The post Article Review: Thinking About the Agile Manifesto appeared first on Agile Advice.

Categories: Blogs

Just released! SAFe 4.0 Leading SAFe LiveLessons video training

Agile Product Owner - Thu, 06/23/2016 - 17:42

leading_safe_4_live_lessons_300With so many enterprises adopting SAFe over the years, we’ve learned what works, what doesn’t, and what the success stories have in common. One thing we know for certain—implementations that deliver results may vary somewhat in context and execution, but all share a common attribute; a workforce well trained and educated in SAFe practices, and a desire for continuous learning and improvement.

Experience tells us that face-to-face training is ideal, but realities in the field can sometimes make it difficult for folks to attend a public class. We get that, and that’s why we’ve provided this video tutorial: Leading SAFe® 4.0 Live Lessons: Leading the Lean-Agile Enterprise with the Scaled Agile Framework®.

It bridges the gap for people who may not be able to initially attend the 2-day Leading SAFe certification course, but still need to gain the knowledge necessary to start or continue their Lean-Agile transformation by leveraging SAFe. The self-paced LiveLessons video format is ideal for busy professionals as it allows you to explore one topic at one time and then come back later and learn a different subject.

What you’ll learn

The course is delivered in nine lessons where I present high-level overviews, as well as specifics where needed, exercises to test the viewer on what they’ve learned, and at the end of the course, clear-cut steps to start the journey of transformation. After watching this video, viewers can expect to have an understanding of the Scaled Agile Framework; Lean thinking and embracing Agility: how to apply SAFe principles; how to plan, execute, and implement an Agile Release Train; how to build an Agile Portfolio; how to build really large systems with the Value Stream layer, and how to scale leadership to the next level of enterprise performance.

Fully updated to SAFe 4.0

If you’re familiar with the SAFe 3.0 version of this video, I can tell you (from sitting in front of a video camera for three days) that this is an entirely new video produced specifically for SAFe 4.0, and covers the latest benefits that can be achieved through the new Framework for software and systems-dependent enterprises.

More information and discount promotions can be found at scaledagile.com/leading4. There is also an option for enterprise licensing if you’re dealing with a larger scale training initiative.

We’re committed to providing these resources to the SAFe community, and welcome your feedback on the video, and your experience with this type of training.

Stay SAFe!
–Dean

Categories: Blogs

An Essential Update on Essential SAFe

Agile Product Owner - Thu, 06/23/2016 - 17:34

Earlier this year, we published our first draft of the Essential SAFe® Big Picture via blog post. Since then, we have received lots of comments, from the blog, our classroom settings, direct customer and analyst feedback, and more. It’s compellingly obvious that this simpler, essential view is a clear aid to understanding the minimum roles and practices that are necessary to be successful with a SAFe implementation.

Simple is good. Feedback is good, too. To that end, we have now incorporated the input and present an updated version of the Essential SAFe® Big Picture:

 the core of the framework, critical to every implementation. Figure 1. Essential SAFe: the core of the framework, critical to every implementation.

Here are the nine key elements of Essential SAFe; without which, an implementation of the framework really isn’t “safe”:

  • SAFe Lean-Agile Principles. Lean-Agile principles provide the basis for every successful transformation and guide decision making as the process evolves and adapts.
  • Lean-Agile Leaders. Successful transformations are based on educating management to become “lean-thinking manager-teachers”. Thereafter, they lead, rather than follow, the transformation.
  • Agile Teams, Agile Release Trains, Value Streams. The Agile Release Train is a key building block of a SAFe enterprise. Trains are organized around Value Streams, and consist of Agile Teams. Teams use Scrum, Kanban and Built-in Quality practices to frequently produce integrated increments of value. DevOps practices close the loop on customer value delivery.
  • Cadence. A standardized PI and iteration cadence is the heartbeat of every ART and Value Stream. Periodic synchronization of all aspects limits variance to a single time interval.
  • Key Program Events. PI Planning, System Demo, and Inspect and Adapt assure that teams plan together, implement and demo together, and routinely improve their processes.
  • IP Iteration. The Innovation and Planning iteration is like extra oxygen in the tank: without it the train may start gasping under the pressure of the tyranny of the urgent, a plan that forgives no mistakes, nor provides dedicated time for innovation.
  • Critical Roles. Product Management, RTE, and System Arch/Eng— provide content and technical authority, and an effective development process. Product Owners and Scrum Masters help the teams meet their objectives. The Customer is part of the Value Stream, and is integrally engaged throughout development.
  • Vision and Backlog. Vision, backlogs and economic prioritization deliver business results by assuring that the teams are building the right thing.
  • Architectural Runway. Architectural runway provides “just enough” technical enablement to keep program velocities high, and avoid excessive redesign.

Of course, we are still open for feedback, so feel free to comment away. In addition, I think this is where we are headed next:

  1. Create a guidance article for Essential SAFe, so it can become a permanent part of the knowledge base
  2. Over time we will make the picture in the article clickable, allowing the viewer to navigate to a specific article from there
  3. Provide an Essential SAFe® poster PDF for download
  4. Incorporate this simpler thinking into some future version of SAFe (yes, @Chris, we really did say that …)

Also, Inbar is presenting Essential SAFe® at Agile Israel this week. We will share his presentation materials at some point soon. I’ll also be scheduling a webinar on the topic, probably in August. There I will discuss—not only what is essential in SAFe®—but also how other SAFe® constructs can be adapted to best fit your enterprise context. The link will be available soon, so stay tuned for that.

Please share your thoughts in the comments below. Without your input, there’s no “C” (and therefore, no “A”) in our PDCA cycle. Thank you and be safe, essentially speaking…

-Alex, and the Framework team: Dean, Inbar, Richard

Categories: Blogs

Knowledge Sharing


SpiraTeam is a agile application lifecycle management (ALM) system designed specifically for methodologies such as scrum, XP and Kanban.