Learning is a crucial part of life. As the saying goes,
“You stop living the day you stop learning.”
It takes learning to be fulfilled in your career and business. Learning is also a cure for depression and discontentment concerning your career pursuit.
Learning is a skill that you need to cultivate all through life. If you want to master any knowledge or skill, you need to learn how to learn.
Without an effective learning process, you may end up repeating the same learning styles with no significant impact on your personal growth and development.
I know a friend who has a natural ability to compose songs. He always tells me he would love to play those songs on the piano but lack time to learn how to play the piano. Even if he wakes up one day with the ability to play that musical instrument, without practicing and spending time on the keyboard, he will never know how to run a simple chordal progression.
You will continue to have a limited time as you progress on your career pathway. So, what can help you evaluate your learning strategies and adjust where necessary?
A feedback loop.
What Is the Feedback Loop?
The feedback loop is a process whereby a learner appreciates the information about their performance and leverages it to optimize the quality of their learning methods or style.
Here’s a breakdown of this definition:
- Learner: The focus is on what the learner can do instead of the comments. Several parties could provide relevant feedback, and those parties include the teacher, the learner, his or her peers, or automated systems.
- Appreciation: This is a major setback in feedback design. How do we appreciate or make sense of a concept? What are the skills required by the learners for learning to take place? What characteristics of the process enhance adequate appreciation or sense-making?
- Information: What sort of feedback or information is relevant to the learners?(Individualized, detailed, personalized, multiple sources, task-oriented, thinking oriented, etc.)
- Performance: Should feedback be on a single performance or the total performance?
- Effect: How does the learner measure the impact of the feedback?
- Quality: Feedback details need to focus on improvement. What would be the benchmark?
The purpose of a feedback loop is to establish a progression in learning. It will frequently occur in all subject areas.
How to Create a Feedback Loop
You can organize the feedback process by following the steps below.
1. Establish Goals and Definite Outcomes
Define your learning goals, the proficiency level you aspire to attain, and when you desire to gain the competencies.
You can utilize a S.M.A.R.T goal technique in establishing your goals. Remember, goals are mental signals that inform you of the direction you want to go. The results or outcomes are the ends-the actual reward of the labor.
Specify the outcomes of your learning activities to make informed decisions on what you intend learning, how you will learn it (online education, self-education, or classroom learning), and why you desire to learn.
2. Start from the Simple to Complex Elements
Unrealistic expectations are the biggest challenge that causes learners to give up. If you don’t want to sign up for failure before you ever start, begin with the simple elements instead of jumping to the complex concepts.
Failure is imminent when you skip the smallest concept and take on new learning tasks with an expectation of completing the new skill in a short timeframe. Set realistic time frames if you don’t want to be frustrated, get burnt out or drive yourself insane.
Always recall the Japanese ‘Kaizen’ concept, which says,
Make small improvements every day.
It takes consistency and accumulation of smaller steps to achieve a bigger learning goal. We achieve giant strides when we are motivated during the learning process
3. Test Yourself
You need to evaluate yourself to know if you are learning or wasting time. Tests, not necessarily in the form of examination, will offer a proof of concept that check if your learning style is effective.
Here are some ways to test yourself:
- Conduct an in-depth discussion on the subject
- Receive positive reviews on a job that leverages the new skill
- Estimate the task efficiency before gaining the expertise and after learning the skill
- Participate in an online test to test your knowledge
- Take online courses to check your previous knowledge and discover any knowledge gap
4. Teach Others
This strategy has worked for me several times. If you want to learn faster, find someone to teach that knowledge you have gained.
Teaching is also a learning strategy. It compels you to unleash your ingenuity and view the concepts from different perspectives. You simplify complex concepts to help the learner understands when you teach. This also solidifies the knowledge you have gained as you remember and organize your learnings into different learning compartments.
As Albert Einstein said,
“If you can’t explain it simply, you don’t understand it well enough.”
5. Reflect
No one wants to waste time utilizing a learning style or learning in a way that produces no significant learning outcome. So by doing a self-reflection, you identify the challenges you have throughout the learning process.
Ask yourself: How far have you progressed towards the learning goal? Do you think you can move to a higher aim or proficiency level?
6. Find a Mentor
Mentorship is resourceful. A mentor will guide you on how to grasp a concept faster and holistically. They can utilize real-life experiences and ideas you will not find in courses and books. They can also easily detect the gaps in your skillset.
Not only that, mentors can inspire you when you face daunting challenges. They can remind you of your previous achievements and show you the capabilities that you possess. Most times, we forget our capabilities and focus on our weaknesses.
This article can help you find a suitable mentor: How to Find a Mentor That Will Help You Succeed
How to Have an Effective Feedback Loop
To make sure your feedback loop is effective, you will have to look at 3 key factors:
- Consistency
- Speed
- Accuracy
If you want to learn more about this, make sure you go through this article to make your learning feedback loop effective:
Bottom Line
Feedback becomes a crucial component of continuous growth and development when a culture of learning and growth is created. With the feedback loop, you can learn new goals while working on models to apply feedback throughout the learning process.
As the experts established in part one of this series , the tightening of feedback loops through DevOps gives developers a better chance to learn how well their coding choices perform in the context of production environments. This makes for higher quality code in the long-run and constantly improved skillsets among development teams.
- Related Categories Features
- Related Topics feedback loopsmonitoring
But fast feedback loops don’t just improve the line-by-line coding work the development team puts out. It can also push through a huge boost in the value of the features they’re producing for end users.
“Feedback loops are important not just for technical feedback or feedback about things not working,” says Aater Suleman, CEO of Flux7 Labs and a professor in computer systems design and architecture at the University of Texas. “There’s also the feedback around what customers are looking form in terms of particular features and whether or not those features are doing well in the market or not.”
The tighter the feedback loop is about feature sets—and the more quickly the team can release responses to that business-related feedback–the faster the pivot time to account for market conditions. The quicker assessment of how well features are doing gives development teams and the business units they answer to a more accurate barometric reading to decide where to direct programming time. As a result, it isn’t just the quality of work that goes up, but also the business value.
“With a DevOps flow that allows developers to start seeing feedback from end customers right away, it helps them be more agile on a business level so they can be more strategic about where to spend their actual time,” Suleman says, explaining that this exposes developers to a big-picture view of their work. “You may have the most productive development environment in the world, but if a feature developers have worked on for two months is not going to be liked by the end users, it doesn’t matter how productive the developers were during that time period.”
Not only that, but it eliminates the hamster-wheel of playing catch-up with competitors’ features.
“I know of many companies which still hold to quarterly release cycles. Did you competitor just release an awesome new feature? Have fun waiting three months to catch up,” says Curtis Poe, a consultant and Agile development coach for All Around The World. ” In today’s competitive world and fast-paced business environments, do you really want to playing catch up all the time? Switch to continuous delivery and never worry about a lengthy release process blocking you from offering what your competitors offer.”
Poe says that the best DevOps teams can get the most differentiation from the crowd by understanding that they’re not just monitoring technology and code, they’re monitoring people. Namely, end users.
“Do you sell shoes online and you have a typical conversion rate of 3.2 percent? What happens if you make a release and the conversion rate drops to 2.5 percent?” he says. “Assuming that nothing technological is going wrong , monitoring business value, when appropriate, can instantly tell your designers, ‘Hey, moving that button from the left to the right side impacted our sales.’”
Additionally, that kind of business monitoring makes it more easy to understand the dependencies between technical and business functional aspects of software updates. Then the team can more easily explain to business leaders what technical obstacles stand in the way of functional improvements, and how to overcome them.
“You always want to deliver the best experience for your customers, and you want to iterate on both the product and the non-functional aspects as often and quickly as possible,” says Arnold Goldberg, vice president of customer engineering for PayPal. “Integrating new features might be the wrong thing to do if, for example, there are challenges with performance, stability or availability.”
Feedback has been in the spotlight lately. Gone are the days of feedback scrawled below a letter grade, the days of red-inked papers and assignments. What was once final is now formative. As an educator (and person), my feedback approach has changed. I used to provide what I called feedback to my students on final assignments, writing pieces, and projects. Even though I had provided thoughtful suggestions for improvement, I was not seeing visible improvement in their subsequent work. I decided to take a closer look to understand where my feedback process was failing.
I read educational researcher John Hattie, author of Visible Learning for Teachers: Maximizing Impact on Learning. He identifies feedback as a classroom practice with one of the highest effect rates on student learning and achievement. Hattie cautions that not all feedback is effective and that student-to-student feedback loops can also provide misguided feedback.
And then I read Dylan Wiliam, author of Embedded Formative Assessment, who says:
However, the thing that really matters in feedback is the relationship between the student and the teacher. . . Ultimately, when you know your students and your students trust you, you can ignore all the “rules” of feedback. Without that relationship, all the research in the world won’t matter.
Reading this, I was confident that our classroom community of practice and growth would support a culture of feedback, and I was inspired to try student feedback loops.
What Are Student Feedback Loops?
A feedback loop is a process that aims to move learning forward through feedback. Ideally, this feedback loop would happen frequently, in all subject areas. This is one way to structure the process:
1. Begin With an Aim
An aim is a learning target or essential question that is unpacked from the standards, a part of a learning progression that is clearly communicated to the students at the beginning of each lesson.
2. Feedback Exchange
Feedback should be specific, non-evaluative, manageable, and focused on the aim. If the aim for the day is that readers should structure reasons to develop a compelling argument in a research-based essay, all feedback exchanged should be focused on that aim. I used the heart and brain strategy to support effective feedback exchanges (more on that below).
3. Revision and Application
In order for feedback to be effective, students must be given time to revise and apply their new understandings or ideas. Susan Brookhart and Connie Moss, authors of Advancing Formative Assessment in Every Classroom: A Guide for Instructional Leaders, speak of the Golden Second Opportunity, that moment when feedback is grasped and applied. When a student takes the feedback, makes changes to his or her work, and as a result moves a step closer to meeting the desired learning of the day’s aim, then the loop has started. It is authentic, purposeful learning. The teacher begins the process, but the student owns it.
4. Reflection
Closing the loop is time to reflect on the aim. Did students meet the desired learning of the day’s aim? Could they move to a different level of proficiency? Could they ask for more feedback? Are there any other areas to revise?
In student feedback loops, students are the ones who drive this process. The teacher supports the students by clearly defining a structure for feedback, modeling effective feedback, highlighting critical student feedback, and participating when necessary.
Heart and Brain Feedback
The structure that has worked best for my fifth grade students has been the heart and brain strategy. Provide one piece of feedback for each:
The Heart
This addresses something that you liked or loved, something that really stuck with you in a positive way. Related to the aim, the heart is something that worked well, be used as an example or a mentor to others. For example: “The way that you structured your reasons from broad to narrow really worked. It created a compelling argument that made me think in a new way.”
The Brain
This is something to try or consider revising. Related to the aim, the brain is a suggestion for specific growth, change, or improvement. For example: “Have you thought about using repetition here to make this stand out?”
This strategy keeps things simple and actionable. As a class, we brainstorm the language we can use to ensure that feedback is non-evaluative and feeds forward.
Who Benefits?
Everyone benefits: students who receive feedback, students who give feedback, and anyone who listens to the feedback. Even when giving feedback, students are focused on the aim of the day. Throughout the process, students may identify areas of growth in their own work, find peer examples as models, and take ownership over their work. As a teacher, my instruction is informed through these feedback loops. Listening to these loops tells me if I need to revisit a certain aim or set my expectations higher. I can pull exemplars and students to model their thinking aloud. All learners benefit from effective feedback loops.
Where to Start?
Reflect as a teacher. Start small. Think aloud while you model. Ask students for feedback, point out effective attributes, and revise. Start your first feedback loop as a whole class. Reflect as a class. Your classroom community will keep feedback loops in their hearts and brains as they grow and explore.
Imagine if what you’ve been told about learning is a myth.
For example, many people believe that learning ends when you leave college, or that you need to have a high IQ to be able to learn easily. And it’s also a common belief that only young people can learn new things.
Now, not only are all these beliefs completely wrong — but they’re also incredibly harmful to people who buy into them.
The truth is that the ability to learn is available to everyone, including yourself. You just need to find the desire, motivation and purpose to get the ‘learning habit’.
That’s what this article is all about.
I’m going to show you the incredible benefits of lifelong learning. And I’m going to inspire you to start traveling down this glorious road so you can transform your life.
Ready to get started?
Then read on as I reveal five amazing things that will happen when you never stop learning.
1. You Have a Sharper Mind
Continuous learning helps to keep your mind fresh and your memory sharp.
In fact, research has shown that learning in general has beneficial effects on the brain, including lessening your risk of dementia.
To give you an example of this in action, let me tell you about one of my life coaching clients.
He initially came to me as he felt like he had lost his way in life (he was in his mid-40s at the time). Upon speaking with him, it became obvious to me that not only was he directionless, but he also lacked the spark of life. You know what I mean, that drive and energy that you get once you’re excited about something.
During the course of several one-to-one sessions with him, I was able to help him find out what he wanted to do in his life, and I also instilled in him the power of continuous learning. I did this by asking him to learn at least one new thing a day.
After doing this for a month, he called me up to say that he was feeling enthusiastic about life again. He’d fallen in love with being curious about things and was learning new stuff everyday. He also told me that his mind and memory had never been sharper.
2. Your Confidence Is Boosted
If — like the person I mentioned above — you feel you’ve lost your way in life, then I’m guessing that your confidence has taken a knock too.
This is where learning new things and taking on new challenges can really help.
For example, imagine that you made the decision today to learn how to rock climb (even though you’re afraid of heights!).
You might initially read a book on the topic, or watch a few videos on YouTube. After that, you’d probably want to enroll in a professional rock climbing group. That way, you could learn to gradually overcome your fear of heights, while at the same time learning the essential techniques of rock climbing.
Within a few weeks, you could be climbing to new heights!
3. Your Interpersonal Skills Are Improved
When you become an active learner, it’s almost inevitable that you’ll widen your social circle and improve your interpersonal skills.
Let’s say you decided to learn how to play chess…
At first, you might learn the rules and some of the basic moves by playing against a computerized opponent. But keep doing this often enough, and eventually you’ll want to test out your skills against a human opponent. This might be a friend, family member or colleague. But whoever it is, your mental battle with them will mean that you share a common experience. One that you’re sure to talk about often.
And if chess eventually becomes a favorite hobby of yours, you might well join a local chess club. This would allow you to meet lots of new people — all who love the game as much as you.
This type of learning can extend your social circle, attract new friends, and enhance your relationships.
4. You Adapt Change a Lot Better
Greek philosopher Heraclitus revealed a timeless truth: “Change is the only constant in life.”
I’m sure you’ve experienced this in your life. However hard you try to avoid change; there’s no holding this force back.
Once you know this, though, then the secret to success is to be able to adapt to the changes that come your way.
Learning can definitely help you do this. That’s because through the learning process (say learning how to drive a car), you develop skills such as persistence, understanding and resilience. All key skills that can help you deal with any changes in your life that you’re forced to encounter.
Learners are strivers. And strivers know how to turn challenges into opportunities, and adversities into blessings.
5. You Open Up New Career Opportunities
If you want to climb the career ladder or start your own business, then it’s vital that you’re constantly learning.
But not just random stuff.
To be effective, your learning should be primarily focused on your career goals.
For instance, if you wanted to set yourself up as a freelance business consultant, then I’d recommend that you did your research first:
Who are your likely customers? What can you offer them? How much should you charge them? Can you secure enough work to pay your bills?
To find these answers, you probably need to read books and watch videos related to business consulting. But you’d also want to speak to likely customers, to see if and how you could be of help to them. These customers would also be able to give you an idea of how much they would be willing to pay for your services.
If you decided to go ahead with pursuing this career, then the above research will be a good start. But you should keep learning how to improve your skills (including communication and marketing skills), and you should also seek feedback from all your clients — as this will be sure to reveal your strengths and weaknesses.
When it comes to your career, the bottom line is this:
By continually learning relevant, new information, you’ll keep yourself ahead of your competitors. And you’ll also keep yourself in demand from your clients.
So, as you can hopefully see from the above, a commitment to lifelong learning will turbocharge your health, happiness and success. And of course, there are more benefits to learning than the ones I’ve listed above. For instance, you’re likely to earn more, you’ll rekindle your zest for life — and you’ll have fun!
In my experience of managing dozens of staff and working with hundreds of life coaching clients, I’ve noticed that those people who have a love for learning, also have a love for life. They’re naturally curious about everything. And this curiosity drives them to seek out new knowledge and skills. They’re also unfazed by change (some of them actually thrive in these circumstances).
If you feel that you’ve lost the ‘learning bug’, then please don’t give up! Reignite your passion for learning through reading self-improvement books, watching inspiring movies, and most importantly… by learning new things!
When you learn how to learn again, your life will be filled with progression and excitement.
Learning is part of life. What’s more, learning is essential for a fulfilling career. When we’re not learning and growing, we tend to feel stuck, are more likely to feel depressed, disenchanted and discontent with our career progress. No one likes feeling like they’re stuck in a rut. Often, we feel like we want to learn new and challenging things, but we just don’t know where to start. Learning is a skill in and of itself. We have to look at learning as a life long process of meta-learning, aka learning how to learn.
Without feedback loops, we’d keep repeating the same terrible learning strategies with no benefit to our future growth and development.
There’s a caveat, and that’s the fact that learning something well takes time. And, time is a resource that we have less and less of as we progress through our careers. That’s why we need a feedback loop that tells us if our we’re actually getting better, or if we need to tweak our strategy. It’s the only (and best) way to be an effective learner and get the result we’re striving for. So, what’s a feedback loop anyway?
What’s a feedback loop
A feedback loop is just a process of understanding how causes and effects work together.
“Feedback loops allow organisms and systems to maintain control of important processes by signalling back whether an input should be intensified or stopped.” – Learning Theories
Feedback loops are rife in our bodies. Our brain sends a signal to our body, which send another signal back to our brain, which tweaks the signal and sends it back to our body… etc. Remember the time you accidentally touched a hot stove or iron? Your hand touched the hot surface and sent a signal to your brain, your brain tells your hand “hey, that’s hot, pull your hand away immediately,” and then you suddenly wrench your hand off the hot surface and begin to nurse your wounds. Without this amazing feedback loop, you’d keep burning your hand to a crisp without taking it off the hot surface. That’s why we need feedback loops for effective learning. Without them, we’d keep repeating the same terrible learning strategies with no benefit to our future growth and development.
There are two types of feedback loops, negative and positive.
Negative feedback loops
These are feedback loops that maintain homeostasis. It basically aims to keep things the same and balanced. That’s why we sweat when we get too hot or shiver when we’re cold; our brain is trying to maintain a constant body temperature that is optimal for our survival (about 37 degrees Celsius). Without negative feedback loops, we’d be in trouble because we wouldn’t be able to survive. It keeps an optimal internal environment for our survival.
Positive feedback loops
Positive feedback loops are about growth and development. They’re about creating something new and different. Childbirth is an example of this because the body has to move away from homeostasis and focus on the uncanny process of safely birthing the baby. It’s quite amazing (aside from the unbearable pain, of course!). Positive feedback loops take the body out of its normal ‘safety’ boundaries to ensure that new life is brought into the world and survival can continue.
So, negative feedback loops keep things the same, and positive feedback loops make sure that we’re growing and developing. Both are essential for learning.
What’s a learning feedback loop
Feedback loops expose whether your learning strategy is effective. The last thing you want is to spend your precious time using a strategy that doesn’t bring any tangible results – or accidentally learning the wrong thing over and over again – simply because no expert was able to tell you otherwise.
Set goals and define outcomes
You have to define what you want to learn, how proficient you want to be, and when you want to have the skill under your belt.
Using a S.M.A.R.T. goal framework is a great place to start. It helps you set specific, measurable, attainable, relevant and timely goals.
Goals are just a mental signpost that tells you which way you’re planning to go. Outcomes are the real fruits of your labour; they’re the results at the end of your strategy. You want to specify your learning task outcomes so you can make the best decisions about what to learn, how you’re learning and why you’re learning it in the first place.
Start with the smallest and simplest elements
The biggest hurdle that makes learners quit is having unrealistic expectations. They jump into their new learning challenges, start with a complex element, and then expect to master their new skill in a short time. No wonder they quit. The key is to start simple and maintain realistic time frames. Otherwise, you’ll just get frustrated, burnt out, and end up driving yourself insane.
The Japanese concept of ‘Kaizen’ is important to keep in mind. It’s about making small improvements each day, every day. It’s about consistency and making a small effort toward your big learning goal. Often, we get a burst of motivation when we start learning a new thing, we make grand leaps forward, burn out, take a break and then give up altogether. Kaizen makes sure that we don’t fall into this trap.
Have a proof of concept
We have to regularly test ourselves to see if we’re actually learning. Tests don’t have to be in the form of exams, they just need to provide a proof of concept that your learning strategy is actually working.
You can conduct a proof of concept by:
Having an in-depth conversation about your topic
Receiving good feedback on a task that uses your new skill
Measuring your task efficiency before your new skill vs. after your new skill
Taking an online test to determine your knowledge
Take an online course to see what you already know and find any gaps in knowledge
Get a mentor
A mentor is a great resource. They help you learn things faster and more holistically. The best thing about mentors is their real-life experience, the stuff that you won’t find in books and courses. A mentor also points out the gaps that we have in our skillset, which meant that they can objectively tell us what we need to learn. This saves us a lot of time and helps us to direct our effort toward the most valuable areas. Mentors also motivate us – they keep us going when things get challenging. You know the feeling, when we don’t get something, we feel stupid, like we’re not cut out for the challenge at hand. In these moments, mentors remind you of how far you’ve come and they show you what you’re good at – something that most of us tend to forget and overlook.
Teach what you’ve learned
Find someone and teach them something you’ve learned using your own words. Teaching is one of the best ways to learn something because it forces you to be creative and see things from different angles. When you teach, you simplify tough concepts to help the other person understand. It ends up solidifying what you’ve learned as you recall and distill all your learnings into condensed packets of knowledge.
Jan 31, 2019 · 4 min read
In software development, the developer writes the code, the compiler builds it, the OS runs it, and finally, you complete the loop by observing the result and deciding what to do next. This output is what is used as input for the next round.
In a simple example, a thermostat records the temperatur e of a room and thereby feeds information to the air conditioner, which then starts cooling the room. Once it reaches a certain temperature, say 21° Celsius, it will stop cooling and restart once it is back to 22° Celsius. This mechanism utilizes a system of feedback provided by the thermostat repeatedly improving the conditions or in this case, the temperature.
For an enterprise, what makes feedback so important that we must invest in the best practices?
Unit tests help in driving development and providing feedback quickly, even as fast as 3 or 4 minutes. The smallest of feedback loops will speed up the process as developers usually discuss options on a constant and real-time basis. Unit testing is done at the atomic module level, and development becomes faster in the long run. How? With unit testing, you do not need to worry about firing the entire solution with the UI. You should only focus on the core module which gets tested via unit testing. Moreover, the effort that is put in to find and fix defects is reduces significantly with these loops. The developers get an immediate feedback, and hence the need for manual intervention to fix defects lessens, as compared to the effort required in later stages like system testing and acceptance testing. Let’s not forget that this also costs less, and makes debugging easy.
2. Automated Functional Tests
The reason why you should choose automated UI tests is to ensure that the application works end-to-end by simulating user journeys through the system. Functional tests include layers like Smoke testing, Sanity testing, Integration testing, Interface testing, System Testing and Regression testing. By the time the solution reaches this stage, the team has already invested a good chunk of effort in the development process. Hence, the earlier these defects are captured and feedback is provided, the better it is for the developers, as this works in real time and saves impact.
3. Show and Tell with periodic releases
Also known as a sprint review meeting, it allows developers to discuss options with stakeholders for further possible additions that can maximise value. Such discussions can directly impact the planning of the next Sprint and the contents of the next Sprint backlog. After every few sprints, a team may gather valuable feedback on a certain release through real users and observing their behaviour.
Once a solution has been developed, the developers need to provide the customers with a POC / Prototype to customer and observe their behaviour on the same. This also forms a feedback loop which can provide a lot of insights about usability and solution improvement required within the system.
5. Failing faster
While enterprises aim to become more agile, trying to predict and control challenges can be tricky. This takes up the developers’ time and effort to a large extent, which is why using the ‘fail fast’ approach is recommended. The speed of execution is more important than anything else today, and the faster you learn what solutions don’t work, the better chances you have at improving them. A positive feedback loop that creates amplification leads to more iterations, radical innovations and breakthrough ideas. All of this while saving time, costs and manual effort.
Taking the thermostat example, from a business perspective, we would like to know other factors that contribute to a perfect living environment which may include the direction of the wind, number of people present or the total volume of space to cool. But to bring all this into check will definitely take up many seconds, days and maybe weeks to act on, thereby hampering productivity. In hindsight, to save those precious seconds and days, we carry out the above or what is commonly called a ‘tightening’ or ‘shortening’ of the feedback loop.
A businessman will agree with me when I say we need to itemize our software development practices. But at the same time, a developer will understand exactly what I mean by saying we need shorter feedback loops. There is no buffer between the two in having long or short feedback loops, but it goes without thinking twice to say that the shorter they are, the more beneficial it will be!
I’m working on my roadmapping talk for Agile 2018. I finally had the transforming idea about how to position the talk: Roadmapping and product planning are about feedback loops.
The shorter the feedback loop, the faster and more often we can learn.
That feedback loop works in at least these ways:
- The faster we learn, the more often we can question our product assumptions. (See the post about Double-Loop Learning.) What do customers want and what do they use in the product?
- The faster we learn, the more often we can link the decision to the actual events and decisions that might have created those events. (See the Long Decision Wait Times post for how long wait times work.)
- The faster we learn, the more often we can create hypotheses about how our team works and what we might do differently.
We need feedback from our customers to know they want to use the products we create.
We need feedback from our decisions so we can decide to continue this product or move the team to another product.
We need feedback about our team’s process so we can consider what might make our team even better.
Here are more “how little” questions:
- How little can you plan to create a small feedback loop?
- How little can you do to get some feedback on the product?
- How little can you do get some feedback on the process (the team’s process, the roadmapping process, any process).
Okay, I just wrote the smallest blog post that might give me some feedback.
Being able to clearly and quickly communicate any bugs found in development or production is critical to the success of your product.
Join the DZone community and get the full member experience.
One of my favorite mottos is “move fast and break things.” Unfortunately, when it comes to software, we tend to break things and not move very fast. The goal of Agile development is to ship code at a higher velocity. The key is managing the process effectively enough to do so, while not breaking things—or at least, fewer things. In this article, I am going to provide some tips on how you can use the Scrum framework and fast feedback loops to increase velocity and improve quality.
Scrum development timeline by Axosoft
What Is a Feedback Loop?
The most critical thing to creating good software is communication. Feedback loops are mechanisms that are used to validate and get feedback about the software development process. The goal is to get both positive and negative feedback that can be immediately fed back into the process. Doing this as fast as possible speeds up and improves the overall development process.
Types of Feedback Loops
Feedback loops are not all about verifying if the code you have written meets what the user wanted. Although, that is very important. It is also critical to know if your code works and is not full of bugs. Feedback loops are a mixture of daily best practices, automation, and tools. The last thing you want is for your users to be really excited about what you have done, and then be mad when it blows up all over the place.
Daily Scrum
Being able to quickly voice your progress and ask simple questions to your whole team is an excellent way to quickly share feedback. Simply mentioning what you are working on could spark a teammate to mention potential problems you may want to avoid. The Daily Scrum (sometimes known as the Daily Standup) is a good place to ask for feedback or help from your team so you can keep your project moving forward.
Meet With Product Owners and Users
Nothing is more important than user feedback. The last thing you want to do is spend a lot of time going the wrong direction. Meeting with product owners and users is critical, and it doesn’t have to take a lot of time. Try to avoid organized meetings which can be a big time suck. Instead, utilize email, Slack, etc., to constantly reach out for feedback.
Code Profiling and Tracing
What did your code just do? How does it perform? Developers now have access to some amazing tools that can help answer these questions in real time. As you are writing and testing your code on your workstation, you can get immediate feedback about how your code is performing and what it is doing. These application performance management (APM) tools can show you SQL queries, HTTP web service calls, errors, log messages, and much more. Check out free APM tools like Stackify Prefix, DevTrace, MiniProfiler, and others. They vary based on your programming language.
Unit Tests
Unit tests, integration tests, automated web tests, and others, provide a fast feedback loop. One of the apps I work on has over 100 complex integration tests. Anytime I make any changes to the code, I rerun all my tests on my workstation to make sure I didn’t break anything. Those tests are a critical fast feedback loop for me. There is no way I could make changes to that app without them!
Pull Requests and Code Reviews
Pull requests can help ensure that your code doesn’t get merged and deployed before it is ready. When lots of people are checking-in code non-stop, it can be hard to know if you are ready to do a deployment or not. Pull requests also provide a good opportunity to do some quick code reviews. Feedback from your team is essential to finding potential problems before you ship your code.
Validate Performance in Pre-Production Environments
Hopefully, your QA team does a good job of testing your applications. During the QA process, it’s a good time to look for application errors and review overall performance. Application monitoring solutions can help you do this. If your app does not get any traffic in pre-production environments, synthetic tests and load testing can help.
In a perfect world, you want to find software bugs before they get to production. If you need help tracking bugs, be sure to check this bug tracking best practices guide.
Continuous Integration and Deployment
You can only ship code as fast as you can deploy it. Automating how you do builds and deployments is critical. It removes human error and speeds up the process. After you do a deployment if you need to quickly hotfix a bug, being able to check it in and do a fast, new deployment is important. Utilizing continuous integration to run your unit tests on a daily or continuous basis is also a very valuable feedback loop.
Monitor Performance in Production
You just pushed your new version to production. Congrats! Now what? It’s a really good time to monitor production for new errors being thrown in your code. Odds are you will have a few. No matter how much you test your software before going to production, you will always find weird problems in production. Differences in customer data, traffic volumes, and hosting are all hard to test for beforehand.
Application monitoring is critical to finding potential problems as fast as possible. You should monitor overall performance to make sure your application is not running slower, using significantly more CPU, etc. These are potential problems that you can quickly detect and fix if you are using application monitoring best practices.
Tracking Product Usage
Do you know how many customers are using your new feature? Understanding how your product is being used is an important feedback loop. There are a few ways to do this.
You could use something as simple as Google Analytics, but if your app uses REST-style URLs, it won’t work well. If you are using an APM solution like Retrace, New Relic, App Insights, etc., they might be able to provide some insights into how often certain parts of your code get accessed. If you want advanced functionality, try Full Story. It looks amazing.
Summary
Every development team and software project is different. Your goal should be to figure out how fast you can go while maintaining high quality, and then go that fast. If going any faster reduces quality, then you have a good idea of where to let off the accelerator. Hopefully, some of these tips and fast feedback loops will help!
Published at DZone with permission of Matt Watson , DZone MVB . See the original article here.
Opinions expressed by DZone contributors are their own.
Limited-Time Savings: 60% Off Leadership Books
In my desk drawer, I keep a black, leather journal. I’ve had the notebook for the better part of a decade, but the words inside of it aren’t my own. Instead, it holds a collection of affirmation from people who know and appreciate me: colleagues, friends, relatives, even clients.
I pull the journal out of the drawer on two different kinds of occasions:
First, every time I receive positive feedback — a kind word, a compliment, or a fond anecdote or memory — I write it down.
Second, I crack open the journal when I’m feeling forgetful about who I am and what I’m capable of.
Whenever I lose faith in myself to accomplish my goals, I sit down with my positive feedback journal and attempt to revise my thinking.
It’s a simple strategy, but it’s the most effective one I’ve found for quickly shifting my thoughts and, in turn, altering my actions, habits, and routines.
Why keep a record of positive feedback?
Slumps can be hard to escape. Negative thinking easily snowballs into negative feelings, and negative behavior usually follows close behind. Fortunately, there’s psychological evidence suggesting you don’t have to stay in that pit once you sink into it.
Cognitive-behavioral therapy, one of the most-studied, well-regarded forms of psychotherapy, hinges on the idea that by changing your thought patterns, you can also improve your emotional state and behavior.
Paging through a positive feedback journal is an exercise in shifting your self-talk by challenging your negative emotions and beliefs instead of automatically accepting them. When you interrupt a cycle of negativity before it spirals, you can prevent your thoughts from impacting your life in bigger ways.
You could, of course, rely on your own mental strength to pull yourself out of the negative-thinking slump. But, in my experience, relying on another person’s perspective is the most powerful way to trigger new ways of thinking.
Why? It traces back to neuroscience. Often, when you’re in a compromised emotional state, the prefrontal cortex — the logical part of your brain that can normally talk you out of sulking or motivate you to change direction — is less effective. That means as much as you want to think more positively about yourself, your brain can get “stuck” in a feedback loop.
Adopting another person’s kind-but-logical perspective about you can bring you out of that emotional state, so you’ll be newly motivated to align your actions to your core identity.
How to kickstart an affirmation collection
There’s no one, black-and-white way to use other people’s positive words to refuel.
Dan Cable, a professor of organizational behavior at London Business School, suggests creating a personal highlight reel — a collection of memories of when you were at your very best. His process, which calls the Positive Method, helps people get out of slumps and achieve growth and momentum essentially by asking others to eulogize them.
Here’s the premise: You reach out to people who know you and request that they share memories of “you being the best version of yourself.”
It might feel awkward to ask someone to dish out kind words about you, but that’s the point in addition to building closer bonds with others. Cable believes his method is impactful because it forces people out of their comfort zone. In questioning your thinking and inviting positive feedback, you can “shift your controls from autopilot to manual” and, in so doing, alter your negative self-talk.
Asking your colleagues, friends, and relatives to compliment you isn’t the only way to propel yourself into a new way of thinking about yourself.
You can also collect positive feedback over time, like I do. Anytime a friend writes you a kind note, a customer submits an encouraging comment about your work, or a co-worker speaks up about your hard work, write it down. It could be as simple as creating a “kudos file,” or a folder in your email where you store compliments from coworkers, supervisors, and customers.
Over time, you’ll develop a collection of validating memories about yourself, which you can revisit anytime you need a motivational boost.
Recalling who you are to become who you aren’t
Patching together hard evidence of your best qualities (and tangible examples of times you exercised them) is an effective way to alter the way you view yourself.
But it’s not just a quick self-esteem boost — the goal isn’t just to wax poetic about how amazing you are (although recognizing your capability and strength is an important step). Embracing your strengths will empower you to create habits that maximize what you’re good at — and, ultimately, to move toward your goals.
“Once you can see how others perceive you when you make your best impact,” Cable writes in Harvard Business Review, “you’ll be more likely to maximize and build upon the unique strengths that make you exceptional.”
Remember: It’s normal to feel stuck from time to time. But you don’t have to set up camp there.
When you remember who you are — in this case, with a little help from your friends — you can keep becoming the person you want to be.