It’s (not) about time: Why is managing your energy the best software development approach?

It’s (not) about time: Why is managing your energy the best software development approach?

Curated by: Sergio A. Martínez

There’s a (not very old) saying about how you can’t manage time, only energy, and nowhere is this truer than in the world of software development. As a developer, there are always going to be more things on your to-do list than you can hope to accomplish in a month or week, so the key is to learn how to stop looking at them in terms of work hours, or you run the risk of being overwhelmed. 

It’s (not) about time: Why is managing your energy the best software development approach?

Think about it this way: when you’re trying to manage your time, you’re limited by the number of hours in a day, but when you’re managing your energy, you can get a lot more done because you’re not restricted by the clock. You can work for as long as you have the energy to do so and take breaks when you need to, meaning that you can be much more productive overall.

There’s also another advantage to managing your energy instead of your time, especially if you’re part of a Nearshore software development company like Scio: Collaboration. When you’re working with a team of developers in a variety of time zones, it’s important to be able to manage your energy levels so that you can be the most productive at specific hours of the day, or risk getting burned out. The key is to manage your energy, take breaks when necessary, and work along your natural body clock to be as productive as you want.

Also, managing your energy instead of your time also allows you to be more flexible in your work schedule. If you have family or other commitments, you can work when it’s convenient for you and take breaks when you need to. This flexibility is essential for software developers who want to maintain a healthy work-life balance. So yeah, this approach might solve a lot of things for the busy developer of today, but what is the secret to this? How can you start effectively managing your energy?

The delicate balance of energy

You should know that everyone has different “input/output” settings, so to speak, that dictate how easily we spend and regain energy during the average workday. And this is because programming affinities vary from person to person, and different tasks require a different effort from us.

As I got up one morning and looked at 15+ meetings starting at 8 am, and ending just before 11 pm, all I could feel was exhaustion even before my first meeting had started […] but in my own start-up, I racked up 8 -100hr weeks without a sense of mental exhaustion. I wrote code well until after midnight every single day, took a cab home, and started refreshed the next morning”, expresses Gerald Haslhofer, an experienced engineer and team lead at Microsoft in his blog “Manage your energy, not time”. What he is getting at is that time commitment by itself wasn’t the deciding factor between feeling exhausted and refreshed when working; instead, the nature of both responsibilities demanded a very different energy output from him.

The trick is realizing that not all tasks drain energy from you at the same rate, and in fact, some of them help you regain it instead, and those generally are the activities you enjoy doing. Just think about your average sprint: which parts of it are your favorites? And why? 

In other words, the best software developers know how to manage their work so that they can maintain a consistent level of energy throughout the day, week, or month by spacing their responsibilities evenly. They know when to push themselves and when to take a break, in many cases following the so-called “20% Rule”:

If you spend less than 20% of your day on activities that energize you, you will quickly be unhappy with your job no matter what.

It’s (not) about time Why is managing your energy the best software development approach

After all, it’s no secret that the traditional 9-to-5 job is becoming increasingly obsolete, and with the rise and popularity of remote work, more and more people are seeking out alternative arrangements that offer greater flexibility and autonomy. However, even with these changes, the majority of workers are still spending the majority of their time on activities that don’t energize them. And considering how this 20% accounts for about 80% of your results at the end of a project, finding the flexibility necessary to manage your “input/output” of energy is more important than ever. So here are a few ways you can start to reclaim that 20% and beyond:

 

  • Protect your creative time: We know that software developments involve many things beyond solving the puzzles of writing code, but having a dedicated schedule to sit down and go wild with your favorite part of the job is how you get the best results. So if you are in a good environment where you are free to set aside some time during the day without interruptions, you’ll quickly see how energized and focused you can be. 

  • Start with the big things: It probably sounds like a good idea to begin your day by tackling the “smaller” stuff of your to-do list first, like attending meetings, correcting mistakes, compiling feedback, etc., and leave the big, juicy stuff for later in the day interrupted, but in practice, it can have a negative effect. After all, if you only output energy early, how much will you have left by the end of it? So starting with the big stuff you like to do the most can be a better approach; by the time you need to do the not-as-fun parts of your day, you will still be fresh and ready.

  • Keep your mind in mind: How do you feel about any given task in your daily schedule? What excites you, and what makes you feel tired? Paying attention to what you feel about a task is important for the final result; your mood, needs, and obstacles affect everything in your workflow, and in many cases, even doing what you love can feel like a chore if you are doing it with the wrong mood. So taking breaks, discussing the issue with your teammates or manager, and trying to occupy yourself with something else entirely can help you accomplish stuff even if your energy is not up to it that day. It’s okay, we are humans, and never forgetting that fact can make you more effective in the long run.

Collaboration is key

As a software developer, you have a career that allows you to work from anywhere in the world. And as freeing as that is, the rules apply the same whether you are in an office or at home, so learning how to manage your energy during the day is crucial to reaching success. 

That’s why it’s so important to find ways to infuse your work with meaning and purpose. Whether it’s by taking on additional responsibilities outside of your core job duties or simply seeking out opportunities to contribute to something you’re passionate about, there are plenty of ways to make your job more satisfying. That’s why a good collaboration culture is so important today: these opportunities are more common in an environment where everyone is on the same page concerning individual talents and needs.

One way to do this is to take advantage of the collaboration offered by Nearshore companies like Scio we were talking about at the start of this article. Working with other developers in time zones close to you can help you get more done in a day, as you can overlap your work hours and get more things done, although it’s not just about the number of hours you can work. Nearshore collaboration also helps to create a culture of continuous learning, where you and your team are constantly sharing new ideas and approaches, creating the kind of cross-pollination of ideas that leads to more productive and innovative software development.

That’s why a Nearshore development company like Scio is so attractive in terms of flexibility and collaboration; Nearshore is all about culture and working with people who understand your point of view and approach. This makes it easier to communicate and collaborate effectively because when working with people who understand where you come from, can help you focus your energy on the task at hand, rather than on trying to explain yourself over and over (the source of many superfluous meetings that you might be familiar with).

And when you collaborate with nearshore teams and clients from different cultures you are constantly learning new things, it’s easier to spend a large portion of your day on tasks that energize instead of exhaust. That’s why it’s so important to find ways to infuse your work with meaning and purpose, whether it’s by taking on additional responsibilities outside of your core job duties or simply seeking out opportunities to contribute to something you’re passionate about, there are plenty of ways to make your job more satisfying.

It’s (not) about time Why is managing your energy the best software development approach_2

The Key Takeaways:

  • Productivity is better conceptualized as the amount of energy you have to spend on a task, instead of the time you take to complete it.
  • Not all tasks require the same amount of energy, and the natural affinities of the person define how much effort you need to complete something.
  • Good management takes this into account, and plans around it, assigning optimal scheduling for meetings, sprints, reviews, etc.
  • To this end, google collaboration is critical to the correct use of energy during software development; a good team dynamic means you spent less energy trying to keep everyone on the same page and more on the product itself.

Scio is an established Nearshore software development company based in Mexico that specializes in providing high-quality, cost-effective technologies to help you reach new heights. We have been developing since 2003 and our experience gives us access not only to the knowledge but also the expertise needed when tackling any project. Get started today by contacting us about your project needs – we’ll be happy to help you achieve your business goals.

HR, AI and the future of job applications: Where are we headed?

HR, AI and the future of job applications: Where are we headed?

Curated by: Sergio A. Martínez

Maybe it’s not exaggerated to say that the future will be driven by machines. With advancements in Artificial Intelligence (AI), machine learning, neural networks, and algorithmically-driven programs; machines can be applied virtually anywhere, from transportation, to design, to even art.

HR, AI and the future of job applications: Where are we headed?

And right now, one of the hottest new trends, at least when it comes to Human Resources and the job market, is the implementation of job interview software that can select, completely neutrally but with 100% accuracy, the best candidate for a given position. Or at least, that’s in theory what is supposed to happen, but what is the reality and ramifications right now? What does a machine do that an HR professional can’t, and what are the limits of these kinds of technologies?

The theory: Machines looking for data

The most common programs for this type of work are called Application Tracking Systems (ATS), which is software that helps businesses manage job applications. These systems automate many of the tasks associated with recruiting, such as posting job ads, screening resumes, and scheduling interviews, and often use machine learning algorithms to help identify the best candidates for a given position. 

Many ATS systems also offer features that allow candidates to track their applications and receive updates on the status of their hiring process, normally with minimum human involvement, and they are getting popular by the day in most industries, with software development and technology at the forefront. As explained by Oracle: 

Some organizations lack the reach to connect with top job seekers or to cast a wide enough net in the marketplace. Others are missing critical data on the right channels to find specific candidates; other organizations may lack brand recognition and the means to develop it. An ATS can help address these critical candidate challenges”. 

It’s no wonder, then, that these systems are becoming so popular, thanks to the many key advantages they offer over traditional methods of recruiting. For one, machine learning and artificial intelligence can sift through large numbers of applications quickly and efficiently, instead of relying on human recruiters to go through every application, which is both time-consuming and expensive.

Furthermore, these programs can identify patterns and trends in data that might otherwise be difficult to spot by the human eyes, which could help businesses to better understand the kinds of candidates that are most likely to be successful in a given role, as well as identify potential red flags that might indicate that a candidate is not worth pursuing. And more critically, artificial intelligence can help automate repetitive tasks like sending out interview requests or scheduling follow-up calls, freeing time for human recruiters to focus on more strategic tasks, such as developing relationships with potential candidates. 

And the cherry on top is that an ATS can help a company ensure that its hiring practices are fair and compliant with equal opportunity laws, ensuring inclusion and openness to all kinds of candidates. So with many issues solved, what are then the challenges that these systems face? And can they completely replace a hiring process done through interviews and human interactions? 

HR, AI and the future of job applications Where are we headed

The reality: Machines finding (only) data

At a first look, the idea of using IA to select job candidates isn’t far-fetched; after all, the heart of it is just comparing information: the needs of the position vs. the experience and skills of the applicant. Current job application software could theoretically perform this well by using specific data points calibrated to look for particular needs. However…

Job hunting may be one of the few instances where technology doesn’t improve our lives”, says an article by the Wall Street Journal about the flaws in these tools. That’s because most companies use Applicant Tracking System software to parse the resumes they receive. This helps recruiters by simplifying the task of assessing resumes. But research indicates that the ATS rejects a startling 75% of resumes because of formatting, insufficient use of relevant keywords, and other criteria that have nothing to do with candidate qualifications.

The reality is that, while these systems are designed to help employers sift through the hundreds or even thousands of job applications they receive, in practice they often end up weeding out qualified candidates making the job search even more competitive, and with less accurate results for the final candidate. And the problem only grows when we start to rely on IA to drive things like interviews or tests instead of human interaction.

For example, in the podcast “In Machines We Trust” of the MIT Technology Review, the effectiveness of these virtual tools was tested, with some startling results: “One gave our candidate a high score for English proficiency when she spoke only in German”, and “[the] algorithm assessed candidates differently when they used different video backgrounds and accessories, like glasses, during the interview.”. 

And that’s without getting into the parameters and limits of these tools, which necessarily reflect the limits and parameters of the people designing and implementing them. As mentioned earlier, the idea for many of these ATS and AI interview software is to help companies find the best possible candidate for a job, but who and how defines what is “perfect”? Or “fair?” To quote the aforementioned MIT Technology Review:

Instead of scoring our candidate on the content of her answers, the algorithm pulled personality traits from her voice, says Clayton Donnelly, an industrial and organizational psychologist working with [AI-powered interview software] MyInterview. But intonation isn’t a reliable indicator of personality traits, says Fred Oswald, a professor of Industrial-Organizational Psychology at Rice University. “We really can’t use intonation as data for hiring,” he says. “That just doesn’t seem fair or reliable or valid.

HR, AI and the future of job applications Where are we headed

The question, then, is how an organization interprets and analyzes the knowledge and insights offered by this technology. After all, the biases of AI job interview applications can be difficult to spot, but they can significantly impact who gets ultimately hired. For example, if a company’s AI job interview application is trained on purely historical data, it may mistakenly favor candidates who are similar to those who have been successful in the role in the past. This can lead to talented candidates being overlooked simply because they don’t fit the profile of those who have been successful in the role before, and whose needs may have changed since. So to overcome these biases, companies need to be aware of the limitations of their tools, like:

  • They’re powered by machine learning, which means they’re not always accurate. Although machine learning is evolving by the day, and results could only get more accurate in the future, right now the flaws of the algorithm, the parameters of the search, and the logic behind these programs could be driving out valuable talent today.

  • They often screen out qualified candidates because of resume format issues. If you have ever tried to use a program to scan a PDF, transcribe a conversation, or use an IA to describe an image accurately, you might see how unusual formatting can trip the entire system up. 

  • They’re designed to save time for recruiters, not applicants. So a system could ask for some very specific and time-consuming requirements from the applicants (like aptitude tests, CV formats with little flexibility, keyword density optimization, photos, etc.) that, while useful for an organization hiring, could discourage a valuable candidate from applying.

  • They’re biased against certain groups of people. For example, a study by the New York University’s IA Now Institute discovered that “such systems have historically had trouble understanding women’s voices”, and it goes from there, so relying on them could be counterproductive to the goal of “fair” hiring.
HR, AI and the future of job applications Where are we headed_3

Machines helping humans (and not the other way around)

These technological tools will keep getting improved and optimized, that’s for sure, but the value of a person involved directly in a process as critical as hiring the perfect candidate cannot be underplayed”, says Helen Matamoros, Human Capital Manager at Scio. “Because, even if the idea of automating these tasks is no longer out of reach, we must not forget that hiring people goes beyond selecting skills and experience; a cultural fit with the organization, the capacity to grow, the disposition to collaborate and teach others, and else are things that an algorithm, as perfect as we can make it, cannot master on its own, and need the criteria and experience of an expert that can take away such information and use it properly”.

That’s why the “Human” portion of “HR” is still a necessity, even in an age of IA and automated software: tools that help perform our jobs better and more effectively, without taking away what makes the system works: understanding from person to person to ensure the best possible choice, which is the approach Scio has when looking for talent to join our organization. 

Because beyond merely selecting and onboarding a candidate, the idea of our process is to ensure our vision is shared, both parties (Scio and the candidate) have clear and common expectations about collaborating, and ensuring that any new Scioneer fits right in with the team. These tools might facilitate some of these processes, but at the heart of it, the future is still relying on expertise to make the best possible choices.

 

The Key Takeaways:

  • Hiring a candidate for an open position in an organization is a critical activity that can be time-consuming and expensive.
  • New kinds of software and IA-based tools can help with this, but they come with a lot of caveats.
  • Relying solely on them to hire someone for a position can have unintended consequences, from discouraging talent to apply, to giving incorrect insights to make a final choice.
  • Having people involved in the process is still invaluable because hiring a person goes beyond checking a CV: it has to be a cultural fit, make sense with the team dynamic, and be a fit for both the candidate and the organization, and that can be something outside the scope of a program.

Scio is an established Nearshore software development company based in Mexico that specializes in providing high-quality, cost-effective technologies to help you reach new heights. We have been developing since 2003 and our experience gives us access not only to the knowledge but also the expertise needed when tackling any project. Get started today by contacting us about your project needs – we’ll be happy to help you achieve your business goals.

The responsabilities of a manager in agile software development: 5 things you need to master

The responsabilities of a manager in agile software development: 5 things you need to master

By Scio Team

THE RESPONSIBILITIES OF A MANAGER IN AGILE SOFTWARE DEVELOPMENT: 5 THINGS YOU NEED TO MASTER

The biggest variant when developing software is people. And a Project Manager is the one tasked with making sure they reach their best productivity. More than money, time or the scope of the project, it’s about soft skills.

— Chuz Magaña, Project Manager at Scio

Agile thinking is a must-have in this ever changing world. It means being able to think and respond quickly when change happens around us, whether it be technology evolving or someone else’s idea taking off unexpectedly. 

As such, software development has never been an easy task to do. It requires planning, testing and many more practices like sprints or pair programming, depending on how you want your project done, and coordinating everything can be a daunting task.

That’s why the approach of Agile can be very helpful in understanding what needs to be done when faced by certain situations during development, because each brings out different complexities which dictate how they should be dealt with. In this framework, everyone is involved (from a developer through the customer), with confidence about where his/her responsibility lies throughout all the steps taken, mediated by a Development Manager.

What is the Role of an Agile Software Development Manager?

THE RESPONSIBILITIES OF A MANAGER IN AGILE SOFTWARE DEVELOPMENT: 5 THINGS YOU NEED TO MASTER

Well, what does a Project Manager do? In simple terms, my job is to help a team to reach their goals during each step of development, but what I really do is manage people, because they dictate the progress of a project. And that can be from personal issues that one has to take into account, to making sure we have enough resources and a solution to solve any problem. In other words, it is making sure the collaboration we need to achieve our goals happens”, says Chuz Magaña, Senior Project Manager at Scio, with more than 15 years of experience in the field.

What he refers to is that, if the goal of a team is to improve the process and deliver results on time, then a Project Manager can help by empowering employees with responsibilities, encouraging them to work together as professionals who will commit themselves fully towards meeting those goals — even if it means taking risks or making difficult decisions along the way.

After all, Agile software development is all about being flexible. Each technique used in this process has a clear and defined role, but it’s important to know how your individual job fits into the bigger picture — and that of other team members too!

When you’re an agile software development manager, it’s important to define what everyone’s responsibilities are. You should help each team member excel in their specific role while making sure that everything goes according to standards using the Agile principles; overall, the manager ensures that the team delivers excellent results.

THE RESPONSIBILITIES OF A MANAGER IN AGILE SOFTWARE DEVELOPMENT: 5 THINGS YOU NEED TO MASTER

Here are some of the most important duties of an agile software development manager:

1. Project Planning and Management

As a manager, your job is to make sure that the scope of projects are defined efficiently with an achievable delivery schedule. You also need to keep up-to-date on everything, including leading and organizing progress reports for employees, as well preparing them when needed so they can be effective.

Also, part of the role of a manager is to project plans and make necessary changes if required.

Managers who understand the importance of agile in the project should be able tackle any challenge with more success, so make sure you live and breathe this process as well!

2. Team Management

If you are the agile software development manager, you have a duty to manage your team properly, and that includes assisting them when necessary so they can do their best work process-wise, guiding and mentoring them properly, especially as they undergo a stressful environment.

With a critical timeline, it is important to ensure the completion of projects on time. You can do this by respecting your team members and not micromanaging them; as well making sure that you give clear instructions for any given task or project so they know exactly what needs done without overstepping boundaries in either direction!

3. Risk Management

Risk management plans ensure that the project stays on track and prevents conflicts between team members, budget issues, or questions about the goals of development. 

In order for a risk development plan to be effective, it must have clear communication among all parties involved, in order identify potential risks before they become insurmountable problems down the line; this includes identifying any conflict situations now so you can develop an appropriate response strategy if needed.

4. Process Management

Structure your workflow with a well-defined process. Make sure you identify and follow the best practices in agile software development to maximize productivity for yourself as well as other people collaborating on the project.

Keep the workload balanced so that no member falls behind. In an agile environment, the communication between the team and the product owner is crucial in terms of meeting deadlines.

5. Team Building

One way to make sure that you’re empowering your team members is by giving them freedom while still holding each individual accountable for their work. You should manage tasks at an achievable pace without sacrificing quality, which will lead everyone along nicely.

To be a successful agile software development manager, you need to have strong coaching and feedback skills. You should also build relationships with your team members, by giving them one-on-one meetings where they can share their thoughts about the project or codebase, without feeling uncomfortable doing so. 

At the same time, you need to ensure rapport between the members so that they can work better as a team. A successful manager encourages the team members to bring ideas to the table.

The Hybrid Future: Keeping the human connection in the new age of working.

The Hybrid Future: Keeping the human connection in the new age of working.

Our relationship to work is evolving, and a new model of flexibility seems to be the next step in our industry. However, the challenges that bring, as well as the human side of the story, need to be at the forefront.

By Scio Team

Untangling how deeply our life changed during the Covid-19 pandemic will take a long time, and while we are still dealing with much of its aftermath, the process of planning the future doesn’t stop, even if we aren’t quite sure of what’s next for the industry.

Because, undoubtedly, one of the deepest impacts was in the way we worked; our entire model of collaboration was based around in-person contact, to such a degree that a world without face-to-face interactions was unimaginable. After all, what happens when a member of an organization doesn’t have true contact with other people?

Every industry since 2020 has had to grapple with that question daily, to the point that the idea of “work” may look completely different from now on. And even if we understood, from a technical standpoint, that working remotely all the time is 100% possible, the human side of it had a cost. 

The pandemic didn’t erase the need for human connection, and I think some kind of rebound is due to happen”, says Luis Aburto, CEO, and Co-Founder of Scio, about the future of work in the software industry. “We experimented with the freedom of a full-time remote position, but when every interaction is digitally mediated, you inevitably feel something is missing.” 

And this missing element is going to shape a lot of the future of the industry, as the biggest challenge of collaborating remotely, be it from home or another country, will be managing remotely the cohesion between the members of a team, an issue that looms over every workplace strategy rising from the pandemic. 

The best of both worlds

A solution, however, might be here: the “hybrid” model of working, a mix of in-person presence and home office work that seems to strike the balance between the needs of the job and the preference of an individual. 

Although right now full remote work is the preferred model for many people in the tech industry, I believe that things are going to shift soon, as more of us start feeling the weight of the isolation that it builds up. After all, work can be more than just the means to make a living, it can also allow you to be part of something together, a community”, continues Luis Aburto. “The real challenge of transitioning to an effective hybrid model will be to promote and maintain this feeling of community and belonging.

After all, the effect of prolonged isolation in the workplace has been well documented since the pandemic began in 2020. Although remote work did a lot to keep us safe, it wasn’t a shift without downsides: the lack of structure, the blurred lines between the personal and professional life, and the stressful fluctuations in productivity (be it underperforming due to distractions, or overperforming due to a lack of feedback) showed us that in-person collaboration was full of hidden benefits that only became clear when taken from us.

Being physically at the same place creates opportunities to develop your skills, get ideas about where to push your career path, and discover what you like professionally. And even in casual encounters, where personal rapport can develop, you inevitably feel part of a group because people always need deeper human connections”, continues Luis.  “At home, even if you go to a Starbucks, you don’t have any links with your coworkers, which is isolating. 

With this in mind, and adding all the benefits that remote work has for a business, like reduced operational costs, improved retention rate, and a bigger talent pool to draw from, the compromise of hybrid work seems to be the best solution. But what are the challenges it brings?

The challenge of hybrid models

The numbers provided by the Future of Work survey, as reported by Forbes paint a serious picture. Even if a hybrid model of work becomes the new normal, many issues need to be solved to implement it successfully. For example, according to the article, “the vast majority of businesses lack a detailed hybrid work strategy: 72% lack a detailed strategy and 76% don’t have the right key performance indicators (KPIs) to support hybrid working models.

This is to say, that the leadership and management of any organization looking to implement this model need a clear strategy to build a culture remotely, be it through technology or the implementation of special measures. Helena Matamoros, Human Capital Manager at Scio, points out the strategy we have been implementing during the pandemic to keep our culture intact, making sure every new collaborator feels at home from day 1. 

We start with a Welcome Kit to make them feel part of Scio, and then we ensure they have everything they need to do their jobs comfortably. Beyond that, when our hybrid work model starts (for now, we are still 100% remote), we want to ensure that every leisure activity we do, like our Game Nights, can accommodate both face-to-face and remote collaborators.”

These activities have two purposes: one, allow new collaborators the opportunity to meet their coworkers and teammates, integrating them more easily at Scio, and two, give them the chance to play, share, and generally mingle about outside of a project, which is also why we encourage our Project Leader to organize their own activities, forming a better relationship in the team.

These are some of the measures we have implemented successfully at Scio, even if the real test of hybrid work is about to begin. However, as we already have a home office policy before the pandemic (when many of our collaborators could choose a day of the week to work away from the office), and we have employed talent from all over LATAM, we know that this challenge is not insurmountable. 

Keeping the human connection going will be key. Even if we no longer want to be beholden to an office 40 hours a week or more without any flexibility, our relationship with work is changing, and as a society, it’s good we are experimenting with different ways to get things done. And it seems likely that the lion’s share of people in our industry will prefer the option to work from home for two or three days, and go to the office the rest of the week to not leave behind this source of connection. 

A lot of people tie professional relationships with negative feelings, thanks to overly-demanding leaderships that only know how to push, so we try to create a positive environment at Scio, aiming for the kind of positive experiences that enrich everyone equally, making everyone feel appreciated, heard and with the chance to grow”, states Luis Aburto, emphasizing that a good environment will be critical.

Otherwise, the most valuable people are bound to find somewhere else to satisfy their professional and human needs, and if your organization doesn’t encourage different approaches, be it connection, flexibility, or culture to call their own, these people are bound to find a better opportunity elsewhere, and then you, as a business, is going to be left behind in obscurity.” 

The Key Takeaways

The future of work is a hybrid model where people are able to work remotely. This trend is only going to become more permanent as time goes on, so companies would be wise to accept it and even implement it themselves. However, there are many challenges that come with this new way of working, the biggest one being culture. How can you make sure your organizational cohesion doesn’t suffer? That’s still an unanswered question, but it’s one that we should all start thinking about. What do you think of the hybrid work model? Let us know in the comments!

You could change the outcome of something by measuring it

You could change the outcome of something by measuring it

There are a lot of opinions about the best possible way of measuring productivity, but that can bring us to another question entirely: why measure it at all? In this second part of our interview with Adolfo Cruz, we dig into the reasons why measuring productivity is important for any organization.

By Scio Team

If you are adding value for a client during a product’s development, creating something they can use to attract more users or increase their profits, you may say the time invested in the process was productive, but how do you measure that? Can it be done?

Productivity can be witnessed, it happens right in front of you when a team is making progress, but translating that into data is not an easy task; it takes a lot of time and effort to get right, and it might take focus away from the resulting product, ironically affecting your productivity.

It’s similar to that quantum physics phenomenon where you could change the outcome of something by observing it; all the effort invested in getting exact numbers to measure productivity could make you neglect stuff that has value for the product developed, so you need to be very careful in how you implement measurements to not interfere. 

So this begs a very important question: why measure productivity at all? You can see people in the software industry questioning that, going as far as suggesting it’s unnecessary, but we disagree. At Scio, we want to know if our engineers are offering real value to our clients, which is very important to us even if sometimes we use subjective, case-by-case measures to do so.

Measurements impact the way products are being developed

Reaching a standard that applies to everyone is complicated, and if you add the fact that some people may be working on different projects and products at the same time, with different challenges and rhythms, you get variables that complicate things further, so we guide ourselves by the idea of “We are productive if we add value to a business”. It’s a given that achieving working software is delivering promises, so it’s more about how a client feels about the products you are making.

The problem is trying to approach this with objectivity, but doling out numbers can have unintentional consequences; developers can over-focus on raising their numbers because the important metric seems to be proving your value with high stats, so it ceases to be a team and instead is just a collection of people making their figures go up. Metrics can bring improvements, but you also need to consider their context to make them helpful, which is why it’s difficult to find a universal solution to measure productivity in software development. 

When we are in charge of managing a project, productivity is more focused on avoiding red flags instead of checking who is less productive in any given team, measuring it to avoid deviating too much from our goals; it’s easy to fall from a cliff if you aren’t careful with that. We are not interested in using metrics to know if everyone is achieving some arbitrary standard, but rather steering a ship, looking at the productivity of the team as a whole.

To this end, it’s useful to register the progress of every project and map them out to find general trends rather than trying to get exact figures. Robert D. Austin, the author of the book Measuring and Managing Performance in Organizations, said that unless you can measure 100% of something, there’s no point to measure anything at all, but in most cases, you don’t need to have every single data point, just an educated guess about where the project is heading, helped with some metrics that give a clear perspective.

This can be seen in the sprints. With information about how many story points (the metric used to estimate the difficulty of implementing a given improvement) are completed, how many issues surface, how many are solved, and comparing it with past efforts, the red flags are obvious. If the team completed between 5 and 10 story points in a sprint, but only 1 or 2 the next one, you need to dig into the process; you might find some challenges nobody saw coming and had to be solved to move forward, and you didn’t need more than knowing past productivity to compare. 

And often, if you are using Agile Methodologies, the team is the one that realizes when someone is struggling or is free to help and correct the issues themselves. A good team can manage itself, keeping productivity up without needing someone to check their progress daily. This also results in the quality of the product being directly embedded into the productivity of the process, as the team should already know at this point what needs to be measured to plan with the amount of flexibility necessary to succeed.

We help your team deliver more value to the business.

In software development, we could measure how many Final Users are aware of a specific feature, how many support tickets are being sent, how many things are misunderstood, or which things are not working as intended, converting it into data to know if there are issues during development, but you still need to take some subjective measurements, like conversations with the clients to know how they feel about the product, to give context to this information.

That’s the impact we want to have on our clients, and more often than not, they start seeing the benefits of these processes. They take the time to plan their sprints, properly assess the project, and address issues, especially with not very experienced clients, whom we show what a good software development cycle looks like.

After all, developing software is closer to creating art than manufacturing an object, so the question of productivity is similar. Just like writing a novel, it’s hard to estimate exactly how long each step is going to take because human beings are bad at estimating time and effort in the long run. 

We take the time to understand your business and create custom software that helps you grow.

As we know how quickly things can change in a short amount of time, Scio typically plans short-term goals (between 1 – 3 months) and mid-term goals (between 6 – 12 months) at most when we work with our clients during the evolution of the product, in order to ensure it has enough room to grow naturally, focusing on the steps we need to reach a desirable outcome, and even then it’s a challenge to keep every detail under control. There have been occasions where we have to overhaul plans to finish a project in the timeframe we set, and in those situations, the final product is different from how we first envisioned it because of the natural evolution that a project goes through. 

So planning way too into the future is highly risky, shorter steps with a clear idea of every milestone is a method that has shown us the best results to develop a product, which is one of the principles of the Scrum methodology; working with iterations that have defined starting and ending points, and progress is registered at every step.

And even then you can get slightly different results every time. Sometimes a team is very well attuned and can build things faster than a team mostly composed of new developers, or engineers who had never worked together before, so obviously they took a little longer, which is why Scio evolved to focus more on the value we are delivering to our clients, involving them more in the process, deciding together which features were more valuable, and the priorities to establish.

After all, always having the option to say “Okay, let’s stop for a bit, reorganize, plan better retrospectives, and find areas of improvement” depends on knowing your process back and forth, and that’s why measuring productivity is important. 

Measuring productivity is hard, but it’s not impossible. It takes some general metrics and subjective questions dictated by human behavior that are never objective. That’s where Scio comes in – we design teams that fit with the culture and practices of our clients, ensuring that no matter what, we always have the necessary perspective to achieve a successful engagement. If you want help measuring your engineering team’s productivity or just need someone to bounce ideas off of, send us a message. We love talking about this stuff!

The challenge of working smarter: Cognitive inertia and software development. 

The challenge of working smarter: Cognitive inertia and software development. 

By Scio Team

Whether you are coding software or managing a company that creates software, the name of the game is optimization: there’s always a better way to do things, a wrinkle to iron out, a bump to flatten quickly. However, even if we somehow reach a perfect process, it will probably not last long. Technology is always moving forward.

Then why is it often difficult to adjust your development practices to ensure you always obtain a better outcome? Why is it so hard to leave behind “tried and true” methods of development to try new ideas to better the efficiency of any process?

It’s not surprising to find out that the root of a lot of these issues lay within human psychology, specifically a phenomenon that can help us understand how we conceive our practices, and the sooner we can work towards mastering how it works, the better our outcomes will become: cognitive inertia.

The human side of change.

“Cognitive inertia” is a term gaining popularity in software development, and with a good reason: it aptly describes why it might be so hard to change approaches to development, even in the face of an evident need of trying something else:

Changing management is an age-old problem; migrating to a new process with new technologies can represent a big change. The management teams are met with cognitive inertia and a long list of reasons why new methods and technologies will not work. So, instead, they work harder, and the harder they work, the farther behind they get”, points out Barry Hutt, CRO at Viviota Software, in his post “Cognitive Inertia a great challenge to innovation.

It’s a paradoxical outcome, but to begin to understand this issue, we should define clearly what “cognitive inertia” is. Cognitive inertia is not “belief perseverance”, or the phenomenon of maintaining the same belief even when presented with new information. Instead, cognitive inertia is the inability to change how a person processes information, which is a much more complicated framework that involves motivation, emotion, and developmental factors. 

Its consequences can be seen easily in software development when we think of practices like testing or brainstorming, which makes the old adage “work smarter, not harder” a difficult one to implement, especially as a project or an organization grows in complexity.

Cognitive inertia evolved because the brain optimizes energy efficiency. If you keep the same behavior and don’t question it, your brain conserves space and can make faster, simpler decisions. On a social level, maintaining consistent behavior preserves social cohesion by maintaining social roles and responses”, explains the blog “Cognitive Inertia: The Status Quo Bias” by Joseph Adebisi.

However, it’s obvious why in a field like software development this can bring problems in the long run. After all, even if roles in a development team are clearly defined, the multitude of solutions that need to be reached at every step of the process (from the ultimate goal of the client to fixing the smallest of bugs) benefit from the creativity that surges from having multiple approaches.

The key to collaboration

The challenge of working smarter Cognitive inertia and software development.

The approach of Scio to this issue, both internally and in the work, we do with our clients, is knowing that a “solution” is more than having the seemingly right answer for everything; it is developing a process that lets you question and rework the methods you used to arrive at to fine-tune the outcome.

When you build walls, it’s easy to keep piling bricks on, one after another, in every house you build. That might work for a while, but if now you are looking to build something with a different purpose, like a cathedral or a hospital, will that approach still be the best?” comments Luis Aburto, CEO, and Co-Founder of Scio. “What happens when you partner with someone that comes and says ‘hey, maybe this bricklaying will not support the multiple stories we need for a hospital, so what if we try this instead?’

A culture of constant sharing through collaboration, then, might be a way to avoid the pitfalls of cognitive inertia. After all, cognitive inertia, as real inertia does, keeps the same trajectory if nothing initiates a change, so the more different perspectives you have, the stronger the final product may be.

Human beings love to help. Doing it productively and seeing people overcome obstacles it’s a very rewarding experience, and at a company like Scio, where collaboration is a key part of us, you also get the benefit of cross-pollinating different parts of your organization”, says Yamila Solari, Co-Founder and Coaching Leader at Scio. “If you create a culture of mutual help and support, where one person talks to another and so on, your culture is always enriching itself.”

This makes coaching one of the best tools Scio has to keep our organization moving forward, making sure that knowledge gets shared around between collaborators to strengthen the outcomes of every person and every team. This circles back to our earlier article about outputs and outcomes in software development, where we try to understand the purpose and goals of any project we collaborate with before deciding on the approach that will work best for that specific job. Sometimes laying bricks in the usual way will be enough, but that doesn’t mean that developers shouldn’t have an open mind to try new things if they hit a snag during development.

Cognitive inertia in the day-to-day

The challenge of working smarter Cognitive inertia and software development.

However, one should not assume that the issue of cognitive inertia only affects an organization at the macro level, or that it is always a bad thing; it’s part of our daily work whether we notice it or not. For example: if you are focused on a task, and an interruption comes (be it a software update, an Internet outage, an unforeseen meeting, or even a coworker just stopping by to ask something), how difficult is it for you to resume your rhythm at full speed? 

Martin Cracauer, CTO of the software development firm Third Law, holds the opinion that the way our brain absorbs information and uses it in the short term is a form of cognitive inertia, and keeping information properly compartmentalized is a way to ensure a task, or a whole project, doesn’t get derailed:

A lunch break absorbing lots of information that has nothing to do with your work task is relaxing because it does not compete with the work task memory. But a work meeting that touches actual work stuff competes for the same cognitive machinery. […] Your Company makes its money on the programming tasks that are completed today, so you just traded away the brain state needed for Today’s Task in favor of some imaginary later benefit.

What this means is that some form of cognitive inertia (the one that puts a developer “in the zone” when writing code) can be used to the advantage of the development cycle if we structure the project with clear goals and purposes that need minimal interruptions, and let the developer to fully focus in the day to day progress. 

The Agile methodologies, when well implemented, help with this as it lets organizations like Scio maintain a high level of cohesion in the development cycle that doesn’t give enough space for distractions. A well-managed team knows its goals, the potential pitfalls, and biases that can surge in development, and has the support to focus on the tasks that actually get things done, letting the outcome dictate everything else the product might need.

Cognitive inertia, then, is not inherently a good or bad thing in software development; a well-balanced organization can manage, and even use it to its advantage. After all, the software is not about working harder, it’s about implementing the smartest approach and letting the results speak for themselves.

The Key Takeaways:

  1. Cognitive inertia is not stubbornness, it’s the way some people get used to processing information in their day today.
  2. Changing this inertia can be difficult, but is not an insurmountable problem, and it’s a critical need for software development.
  3. Collaboration and tools like coaching can be effective in mitigating the effects of cognitive inertia, feeding constant new information to avoid settling on a single approach.
  4. However, cognitive inertia is not all bad; it helps a developer to focus as long as interruptions and problems derived from sudden changes of course are avoided.
  5. It all comes down to good management. Being aware of bias and cognitive traps, constantly encouraging new knowledge between collaborators, coaching and a good implementation of Agile methodologies can result in a healthy development environment that guarantees a good outcome.