Some engaging articles I’d like to share today:
- The Failures of ‘Intro to TDD’ (by Justin Searls, about classic test-driven development, code katas, what TDD’s primary benefit actually is, mocks, and discovery testing)
- Branching is Easy. So? Git-flow Is Not Agile (by Camille Fournier, on Git, tooling, teams, developing software with agility, how easy it is to create feature branches with Git, and some reasons why you don’t need it)
- What’s Wrong With Estimates? (by Yorgos Saslis, about estimates, why we are being asked to provide estimates, and the pitfalls of the ways we are using them)
- A New Social Contract for Open Source (by Eran Hammer, on open-source, free code but paid time, sponsorship, making clear rules and specifying benefits, and sustainability)
- Introducing Example Mapping (by Matt Wynne, about conversations to clarify and confirm acceptance criteria, feedback, colored index cards, and the benefits of writing examples when exploring a problem domain)
There are two things that’s wonderful from last year’s Agile Testing Days conference talks: content focusing on other valuable stuff for testers and teams (not automation), and having as many women speakers as there are men. I hope they continue on with that trend.
Here’s a list of my favourite talks from said conference (enjoy!):
- How To Tell People They Failed and Make Them Feel Great (by Liz Keogh, about Cynefin, our innate dislike of uncertainty and love of making things predictable, putting safety nets and allowing for failure, learning reviews, letting people change themselves, building robust probes, and making it a habit to come from a place of care)
- Pivotal Moments (by Janet Gregory, on living in a dairy farm, volunteering, traveling, toastmasters, Lisa Crispin, Mary Poppindieck and going on adventures, sharing failures and taking help, and reflecting on pivotal moments)
- Owning Our Narrative (by Angie Jones, on the history of the music industry so far, the changes in environment, tools, and business models musicians have had to go through so survive, and embracing changes and finding ways to fulfil our roles as software testers)
- Learning Through Osmosis (by Maaret Pyhäjärvi, on mob programming and osmosis, creating safe spaces to facilitate learning, and the power of changing some of our beliefs and behaviour)
- There and Back Again: A Hobbit’s/Developer’s/Tester’s Journey (by Pete Walen, on how software was built in the old days, how testing and programming broke up into silos, and a challenge for both parties to go back at excelling at each other’s skills and teaming up
- 10 Behaviours of Effective Agile Teams (by Rob Lambert, about shipping software and customer service, becoming a more effective employee, behaviours, and communicating well)
I have always been a skinny dude. And I have always thought that I won’t change, that it’s just the way things are for me. But keeping the same diet and sedentary lifestyle for many years has taken its toll in recent years and, although I have not been sickly, my energy levels just did not feel the same as it has been when I was younger. I tire easily now than before, even when I don’t really go out much. Perhaps it’s just age doing its thing, like we are supposed to get tired faster as we get older. But it is a nagging feeling, it does not feel good at all, and is something that I decided I want to find a sustainable way of correcting this year if possible.
Reading Scott James’ ‘Bony to Brawny‘ book (and actually changing diet and exercise habits) is taking multiple steps forward towards that goal.
Some takeaways from the book:
- The funny thing is I have literally never regretted a workout – it just doesn’t happen. The release of endorphins and the feeling of knowing you’re making progress towards your goals while improving your health, mobility, and well-being is intense.
- If you’ve been skinny all your life, chances are you haven’t been eating much in terms of calories. When you’re entering a bulking phase, the amount of food may seem overwhelming. Focus on liquid nutrition. Consuming two shakes (depending on how many calories you incorporate) plus two solid meals will without a doubt place you in a the caloric range you need to be hitting to pack on some solid lean muscle mass.
- There is no food out there that’ll make you gain muscle at a quicker rate than another food. The food itself won’t build muscle – the calories and macro-nutrients it contains will. Try fish, chicken breast, eggs, cottage cheese, almonds, brown rice, milk, and sweet potatoes.
- Eating fat will not make you fat at all. Fat is essential for regulating hormones. Excess calories make you fat – not any particular macro-nutrient itself (protein, carbohydrates, or fat).
- For optimal performance in sports and resistance training, as well keeping your appetite in check, consumer at least 30% of your daily calories from protein, with the remaining 70% coming from a breakdown of carbs and fats. If you neglect your protein intake you will not be able to be able to build and retain lean muscle; if all you’re eating is carbohydrates and fat, you’ll be packing on the pounds in the form of stored body fat.
- In order to build that muscle mass and shred that fat, you need to create the demand for your body to do so. After ongoing demand, your body begins to adapt, and adaption is growth. This demand is solely created inside the gym – i.e. lifting heavy weights! An exercise regime based on compound movements will force your body to adapt – heavy squats, deadlifts, bench presses and overhead presses in the low rep range will create the demand far better than any isolation based workout regime based around light dumbbells or machines.
- Without a caloric surplus, you won’t pack on any muscle mass. At the same time, if lifting is neglected and dieting is honed in on to the utmost detail, you’re still on the road to fat gain as your body is not being forced to adapt and grow (using this caloric surplus to repair your body and build muscle)
- As a newcomer, you will find the demand is quite easy as your body has never experienced such stress before. However, as time goes on, you must apply progressive overload in order to keep the demand going. Increasing the weight you’re lifting, increasing the time your muscles are under tension, adding in a few additional reps – these techniques are designed to place an increased load on your muscles each and every workout. In essence, the demand must become greater and greater with each workout. When you’re demanding the same thing from your muscles week after week (same weight, same reps, same time under tension), the demand to go above and beyond has vanished, and so will your progression in terms of size and strength). The guys in the gym repping the same weight week in week out won’t get far. The guy adding that extra 2.5 lb plate to the barbell each workout will. It adds up over time.
- In order to get big you need to focus your energy on your heavy compound movements. Don’t major in minors, aka: spending your time floating around from isolation exercise to isolation exercise. This is a sure-fire way for a skinny guy to see sub-par size gains. Movements or exercise that do not give the muscles the required resistance, but are the kind that involve a great number of repetitions, never break down any tissue to speak of. These movements involve a forcing process that cause the blood to swell up the muscle, and simply pump them up. The insane, full, pumped feeling you get in your arms and chest when training is merely the increased blood flow tot the particular muscle group being worked. The pump does not equate to muscle growth.
- If you’re new to low rep training, it’s worth noting that you will not get the immense pumps you may be used to from performing high repetition training. As a general rule, most things that are satisfying in the short term aren’t beneficial at all in the long run.
- Once you are comfortably hitting the top end of the rep range, I recommend increasing the weight. You should be able to perform a minimum of four reps with the new weight. If you’re unable to perform four reps with correct form and range of motion, the weight is too heavy. Add 5 lbs/10 lbs to each dumbbell/barbell exercise once you are comfortably hitting the upper range of the prescribed repetitions.
- Each and every repetition should be controlled and timed. 2 seconds down – 1 second hold – 2 seconds up. If you’re performing your repetitions any faster than this, your muscles won’t be under tension for particularly long. To ensure you get the maximum bang for the buck in terms of size and strength, focus on the 2:1:2 tempo. Rest for 2-3 minutes between sets of heavy compound exercises. Rest for 1-2 minutes maximum between sets of isolation exercises.
- We don’t build muscle in the gym by banging and clanging around with heavy weights. We’re actually destroying our muscle fibers – which is telling our bodies that our current physique is insufficient. Resting after a workout and the nutrition components of your bulking phase are where the growth comes from. Lifting four times per week with adequate sleep and recovery will net you far greater results than training six times per week with minimal sleep and no downtime.
- Sleep plays a key role in the following bodily processes: regulation of glucose in the body, promoting good blood pressure, the perfect way to recover and repair damaged muscles, promoting hormonal functions and processes, promotion cognitive functions and processes. Your sleep should be within the 7-9 hour bracket per night, keeping in mind this is high quality, uninterrupted sleep.
- If you’re not making any size gains, this will be the result of one of two things:
- You’re not lifting heavy enough. In order to grow, we need to provide ongoing progressive overload during our workouts. Ensure you’re working in the prescribed rep ranges for your heavy compound exercises and give it your all. If you’re calling it quits on your set when it starts to feel uncomfortable, you’re not going to get too far.
- If you’re lifting regime is solid, then the issue is likely to be related to your diet, or most specifically the lack of calories you’re consuming. A failure to build muscle mass is most commonly due to an insufficient number of calories coming in. Re-calculate your total daily energy expenditure and apply a more aggressive caloric surplus if necessary.
- Pick a workout routine, follow it, eat well, and get adequate rest. Follow this consistently for six months. During the course of this time, track your weight, your body fat, your arm size, your chest size, how you feel after each workout, and from there you can reassess and make the necessary changes.
- When your progress slows down or completely stops, whether this be in strength gains, shedding that unwanted body fat or gaining muscle mass, it’s time to take a step back and look at what you’re actually doing. Doing the same thing over and over again while expecting a different outcome is the definition of insanity.
- Progress is the ultimate motivator. It’s the positive feedback loop of putting in effort, seeing results and therefore continuing to grind away day after day because you know what you’re doing is making a difference.
Dale Carnegie’s “How to Win Friends and Influence People” is a classic, and I did not understand what that meant until now, after reading the book. It has survived the test of time, and the lessons in it still applies to all of us today. It really is a treasure trove of actionable advice about forging friendships and leading people, and I’ve come to see why some of my way of doing things have worked for me all this time. Better, I’ve found places where I could use more practice and improve.
Here are some favourite lines from the book:
- Let’s realise that criticisms are like homing pigeons. They always return home. Let’s realise that the person we are going to correct and condemn will probably justify himself or herself, and condemn us in return.
- There is only one way under high heaven to get anybody to do anything. And that us by making the other person want to do it. The only way I can get you to do anything is giving you what you want.
- We nourish the bodies of our children and friends and employees, but how seldom do we nourish their self-esteem? We provide them with roast beef and tomatoes to build energy, but we neglect to give them kind words of appreciation that would sing in their memories for years like the music of the morning stars.
- If there is any secret to success, it likes in the ability to get the other person’s point of view and see things from that person’s angle as well as your own.
- Keep in your mind on the great and splendid things you would like to do, and then, as the days go gliding away, you will find yourself unconsciously seizing upon the opportunities that are required for the fulfilment of your desire. Picture in your mind the able, earnest, useful person you desire to be, and the thought you hold is hourly transforming you into that particular individual.
- He had wanted merely a friendly, sympathetic listener to whom he could unburden himself. That’s what we all want when we are in trouble. That is frequently all the irritated customer wants, and the dissatisfied employee or the hurt friend.
- So if you aspire to be a good conversationalist, be an attentive listener. To be interesting, be interested. Ask questions that other persons will enjoy answering. Encourage them to talk about themselves and their accomplishments. Remember that the people you are talking to are a hundred times more interested in themselves and their wants and problems than they are in you and your problems.
- Anyone who takes the time to disagree with you is interested in the same things you are. Think of them as people who really want to help you, and you may turn your opponents to friends.
- You can tell people they are wrong by a look or an intonation or a gesture just as eloquently as you can in words – and if you tell them they are wrong, do you make them want to agree with you? Never! For you have struck a direct blow at their intelligence, judgment, pride, and self-respect. That will make them want to strike back. But it will never make them want to change their minds. You may then hurl at them all the logic of a Plato or an Immanuel Kant, but you will not alter their opinions, for you have hurt their feelings.
- If you are going to prove anything, don’t let anybody know it. Do it so subtly, so adroitly, that no one will feel that you are doing it. You cannot teach a man anything; you can only help him to find it within himself.
- I am convinced now that nothing good is accomplished and a lot of damage can be done if you tell a person straight out that he or she is wrong. You only succeed in stripping that person of self-dignity and making yourself an unwelcome part of any discussion.
- If a man’s heart is rankling with discord and ill feeling toward you, you can’t win him to your way of thinking with all the logic in Christendom. Scolding parents and domineering bosses and husbands and nagging wives ought to realize that people don’t want to change their minds. They can’t be forced or driven to agree with you or me. But they may be possibly led to, if we are gentle and friendly, ever so gentle and ever so friendly.
- No one likes to feel that he or she is being sold something or told to do a thing. We much prefer to feel that we are buying of our own accord or acting on our own ideas. We like to be consulted about our wishes, our wants, our thoughts.
- What do you think he found to be the most motivating factor – the one facet of the jobs that was most stimulating? Money? Good working conditions? Fringe benefits? No – not any of those. The one major factor that motivated people was the work itself. If the work was exciting and interesting, the worker looked forward to doing it and was motivated to do a good job.
- This is what every successful person loves: the game. The chance for self-expression. The chance to prove his or her worth, to excel, to win. That is what makes foot-races, and hog-calling, and pie-eating contests. The desire to excel. The desire for a feeling of importance.
- He always gave people the opportunity to do things themselves; he never told his assistants to do things; he let them do them, let them learn from their mistakes. A technique like that makes it easy for a person to correct errors. A technique like that saves a person’s pride and gives him or her a feeling of importance. It encourages cooperation instead of rebellion.
- If you want to improve a person in a certain aspect, act as though that particular trait were already one of his or her outstanding characteristics. Assume a virtue, if you have it not. Assume and state openly that other people have the virtue you want them to develop. Give them a fine reputation to live up to, and they will make prodigious efforts rather than see you disillusioned.
- Tell your child, your spouse, or your employee that he or she is stupid or dumb at a certain thing, has no gift for it, and is doing it all wrong, and you have destroyed almost every incentive to try to improve. But use the opposite technique – be liberal with your encouragement, make the thing seem easy to do, let the other person know that you have faith in his ability to do it, that he has an undeveloped flair for it – and he will practice until the dawn comes in the window in order to excel.
- It isn’t what you have or who you are or where you are or what you are doing that makes you happy or unhappy. It is what you think about it. There is nothing either good or bad, but thinking makes it so.
A software development team is composed of people, a combination of of programmers, testers, designers, and product owners. One team is visibly different from another because they have different people working in them, although both teams work in the same organisation and share the same mission. One group may be dealing with passionate but inexperienced new hires, another may be led by an introverted and soft-spoken senior, another team could be a lot more experienced with automating things, one team is probably better with team communication than others. Each team has a life of its own, always growing up, always trying to find out what specific problems itself has and what values it can contribute to the organisation, evolving day after day.
We understand that everyone is similar yet different from each other. Why is it then that we often insist in managing them with a one-size-fits-all process? Or am I missing something? I understand that we want teams to get better at what they do, we want them to release software faster, with better quality, but do we really think that one particular process works for everyone? Instead of that, shouldn’t we just immerse ourselves in a team, one after another, observe, ask where they are and where they want to go, talk to them, share experiences, help them solve problems, care for them, let them grow into a family with us? It seems to me that every time I get to join a team I think about the people in it first, no particular fixed process in mind, and we find out what works for us as we go, together.
The past few years I managed in-office software testing knowledge-sharing and tools-tutoring sessions for junior testers at work. It’s not something fancy, sessions are minimal but somewhat regular, and my goal was only to pass on some of the interesting lessons I’ve come to believe to be true based on studying and experience. I want them to become curious about the industry they’re in and I want them to take ownership of their own growth as testers.
I’ve always done the sessions in a group since there are only a few of them. It’s easier to manage that way. But this year I’ll try working with each tester one on one. And this year I’m having them select a skill they think is something they need to learn more of instead of me just providing some agenda in the group meetings. Each tester will have a weekly one-hour one-on-one schedule with me, we’ll review what the tester understands about the topic of their choosing, we’ll study together, and then I’ll provide challenges for them to go through until the next one-on-one. It’s an engaging setup I haven’t done before, something that’s likely to eat more of my time and attention but something that warrants testing since the organization recently changed work schedules to working remotely about half of the time.
I always start the new year like most people, spending quality time with friends and family, some reflection and goal setting, with good food, many cheers, and hearty laughs. I also often choose a wonderful book or two to go on an adventure with during the holidays, because it is always worth the while. This time, I got lucky finding a paperback copy of an old Richard Bach collection, titled “Curious Lives: Adventures from the Ferret Chronicles”, was glad to meet up with ferret friends, old and new both, and got valuable reminders about the courtesies and living accordingly to our highest sense of right, along with the fun ride.
Here are my favorite lines from the book:
- Whatever harm I would do to another, I shall do first to myself. As I respect and am kind to myself, so shall I respect and be kind to peers, to elders, to kits. I claim for others the freedom to live as they wish, to think and believe as they will. I claim that freedom for myself. I shall make each choice and live each day to my highest sense of right.
- Once, long ago, we changed our minds: end violence. In its place, no matter what: courtesy.
- If you excel at your craft, there is a good chance that curious ferrets will need to know why, to find out what makes you different.
- With the adventures we choose and the mysteries we solve we build our own credentials, write our own introduction to others around the world who value adventure and mystery themselves.
- Trust. There’s a light, when we close our eyes, the light of what we want to do more than anything else in the world. Trust that light. Follow, wherever it leads.
- Giving our visions and stories and characters to become friends to others lifts not only ourselves but the world and all its futures.
- “There’s a time to work on a book and you know it,” said the muse. “There’s a time to think about the story, a time to care about your readers, your publisher, about rhythm and timing and grammar and spelling and punctuation, about design and advertising and publicity. But none of those times, Budgeron, is when you’re writing!”
- Her husband had told her long ago that she didn’t need to please everyone with her stories – if a book pleases only half of one percent of the reading public, though no one else bought a single copy, it will be a massive bestseller.
- Budgeron Ferret had chosen to be a writer. With his choice came poverty, loneliness, rejection, frustration, despair, perseverance, delight, attention, riches, love, understanding, fulfilment, a life of ideas that mattered to him, shared now and then with kings and kits.
- How strange, he thought. Find the greatest teachers, ask the hardest questions, they never say, ‘Study philosophy’, or, ‘Get your degree’. They say, ‘You already know’.
- The mark of true flight is not our altitude but our attitude, not our speed but our joy in the paths we find above the earth.
- No one taught her, but she knew: more important than talent or gifts or education is the determination to make one’s wish come true.
- “Vink, if you want to meet the one ferret who can fix any trouble, no matter how bad it is, the one who can bring you happiness when nobody else can do it – why, just look in the mirror and say hello.”