The value (?) of Technical Debt

I could say “What is technical debt and how to avoid it”, but that is less clickbaity 😀 Working on some open source projects now (like Compose), our aim to avoid inserting it is sometimes overtaking delivery velocity as well. Technical debt refers to the cost of maintaining and updating a codebase as it grows and evolves over time. It is often incurred when shortcuts are taken during development in order to meet deadlines or budget constraints. Some dreadful examples of technical debt include:

  • Using hacky or poorly-designed code that is difficult to understand or modify
  • Not properly commenting or documenting code
  • Not following established coding conventions or best practices
  • Not properly testing code
  • Not refactoring code as it becomes more complex
Fighting Technical Debt

To avoid technical debt, it is important to prioritize maintainability and readability in the codebase, as well as to properly plan and budget for ongoing maintenance and updates. Some fun strategies for avoiding technical debt include:

  • Following established coding conventions and best practices
  • Writing clear and well-commented code
  • Implementing automated testing and continuous integration
  • Regularly reviewing and refactoring code to ensure it remains maintainable and readable
  • Prioritizing long-term goals over short-term gains
  • Allowing enough time for code reviews, testing and documentation
  • Building and following a clear process with defined milestones
  • Building a culture of ownership and accountability of the codebase

By following these practices, organizations can minimize the amount of technical debt they incur, making their codebase easier to maintain and less expensive to update over time. So in my series of posts on Agile, it’s now the time to see, how these (debt and agile) are related. They are closely related, as both concepts deal with the maintenance and evolution of software over time. Agile development is a methodology that emphasizes flexibility, collaboration, and rapid iteration, with a focus on delivering working software as quickly as possible. Technical debt, on the other hand, refers to the cost of maintaining and updating that software over time. In an agile development environment, technical debt can be incurred when shortcuts are taken in order to meet deadlines or deliver features more quickly. For example, if a developer is under pressure to meet a sprint deadline, they might choose to use a hacky or poorly-designed solution that is quick to implement but difficult to maintain. This can lead to an accumulation of technical debt over time, as the codebase becomes more complex and harder to update.However, when agile development is done correctly and with the right mindset, it can help to minimize technical debt. Agile development methodologies prioritize continuous improvement, which helps to keep the codebase maintainable and readable. Agile also encourages regular reviews and refactoring of code, which can help to identify and address issues with technical debt.

In summary, Agile development and technical debt are closely related, as both deal with the ongoing maintenance and evolution of software. Agile development methodologies can help to minimize technical debt by encouraging continuous improvement, regular reviews and refactoring, but it can also be a source of technical debt if not done properly. Therefore, it is important to balance the speed of delivery with the long-term maintainability of the codebase.

Luckily, there are several ways to fight technical debt:

  • Code review tools: These tools allow developers to review and approve code changes before they are merged into the codebase. Examples include Gerrit, Review Board, and Crucible, and of course the native tools of GitHub, GitLab, BitBucket and more.
  • Linting tools: These tools check the codebase for adherence to coding conventions and best practices. Examples include Roslyn, Resharper, ESLint and Pylint.
  • Refactoring tools: These tools assist developers in restructuring and reorganizing code to make it more maintainable. Examples include Resharper, Rascal and JDeodorant.
  • Automated testing tools: These tools automatically run tests on the codebase, ensuring that changes do not break existing functionality. Examples include XUnit, JUnit, TestNG, and Selenium.
  • Code coverage tools: These tools measure how much of the codebase is covered by automated tests, helping to identify areas where testing is insufficient. Examples include dotCover, Coverlet, Cobertura and Jacoco.
  • Code quality tools: These tools analyze the codebase and provide feedback on areas that need improvement. Examples include NDepend, SonarQube, and CodeClimate.
  • Dependency management tools: These tools help track the dependencies of a project and its sub-dependencies and ensure that the project is using the latest and most stable versions of the dependencies. Examples include Nuget, Maven, Gradle, and npm.

And this is the point I am going to break – some – people. Believe or not, sometimes technical debt can be useful too 😀 Mainly, it allows an organization to quickly deliver a working product or feature, even if it may have some long-term maintenance costs. Some situations where technical debt might be useful include:

  • Rapid prototyping: When an organization needs to quickly create a prototype of a product or feature to test its feasibility, it may be acceptable to incur some technical debt in order to get the prototype up and running quickly.
  • Meeting tight deadlines: When a project has a tight deadline and there is not enough time to properly plan and implement all the features, taking shortcuts can be useful to deliver a working product in time.
  • Experimentation, Tryouts: Incurring some technical debt can be a good way to try out new technologies or features, as it allows an organization to quickly test the waters and see if they are viable before committing to a full-scale implementation.
  • Short-term projects: In some cases, technical debt may be acceptable for short-term projects that will be phased out or replaced in the near future.

It is important to note that technical debt should not be taken lightly, as it can quickly accumulate and become a burden on the development process. Therefore, it should be used strategically, and with a clear plan to minimize and pay off the debt in the future. Furthermore, when incurring in technical debt, it is important to have a clear plan on how to address and pay off the debt in the future, it is also important to communicate to the stakeholders the risks of incurring in technical debt and the plan to pay it off.

So, to have a better idea of where you are on the fight with them, you should (yes, Agile!) create KPIs around them and measure them 🙂 Technical debt can be measured in a number of ways, including:

  • Code review metrics: Code review metrics such as the number of comments, the number of issues raised, and the number of defects found can be used to measure the quality of the code and the ease of maintenance.
  • Test coverage metrics: Metrics such as test coverage, that is the percentage of the codebase that is covered by automated tests, can be used to measure the robustness and maintainability of the codebase.
  • Complexity metrics: Metrics such as cyclomatic complexity, which measures the complexity of a piece of code, can be used to identify areas of the codebase that are difficult to understand or maintain.
  • Refactoring metrics: Metrics such as the number of refactoring performed, the number of code smells identified and fixed, can be used to measure the maintainability and readability of the codebase.
  • Technical debt ratios: These ratios express the relationship between the cost of maintaining the system and the cost of developing it. An example is the debt-to-equity ratio, which compares the estimated cost of paying off technical debt to the estimated value of the system after the debt is paid off.
  • User feedback: User feedback on the ease of use, the speed and the reliability of the system can be used to measure the impact of the technical debt on the end-user – nothing beats a good hallway testing.

It is worth noting that there is no one-size-fits-all approach to measuring technical debt, and it may be necessary to use a combination of different metrics to get a comprehensive understanding of the state of the codebase. Additionally, it is important to note that measuring technical debt is not a one-time process, but it should be done regularly, so that progress can be tracked, and improvements can be made over time.

Why focus on Emerging Technologies in Financial companies

I’ll ask for your help, reader. I submitted an idea for a Special Interest Group in FINOS, which is to focus on Emerging Technologies – and I am looking for (special) interest in it 🙂

So, if you can, do comment, like, share, etc. the Special Interest Group – Emerging Technologies link 🙂

Horizon next, from 2020, by Deloitte

But you might ask – what benefits of using emerging technologies like spatial computing, quantum, etc. does have for financial companies? Believe or not, these techs do have the potential to bring significant benefits to financial companies. Like:

  • Spatial computing, which involves the integration of virtual and augmented reality into everyday computing, can be used for financial companies to create immersive and interactive experiences for customers. For example, spatial computing can be used to create virtual branches, enabling customers to interact with banking services in a more natural and intuitive way.
  • Quantum computing has the potential to revolutionize the financial industry by providing much faster and more efficient ways to process complex financial data. Quantum computing can be used for financial companies to perform complex calculations, such as risk analysis, portfolio optimization, and fraud detection, much faster than traditional computers. Additionally, quantum computing can be used for secure communication and data encryption, which is important for financial companies in terms of security.

There are many other technologies that can be used, either specifically at a financial company, or do have benefits for the company through other means:

Technologydescriptionapplications
Artificial IntelligenceThe development of systems that can perform tasks that would normally require human intelligence, such as learning, reasoning, and perception.Predictive analytics, fraud detection, customer service automation.
Blockchain A decentralized and distributed digital ledger used to record transactions across a network of computers.Secure financial transactions, digital identity verification, supply chain management.
Internet of Things (IoT)The interconnectedness of everyday devices, such as smartphones, appliances, and vehicles, through the internet. Smart cities, predictive maintenance, energy management.
Robotics and Robotics Process Automation (RPA)The use of machines to perform tasks that would normally require human intervention. Automation of repetitive tasks, precision manufacturing, healthcare. Automation of back-office tasks, process optimization, cost reduction.
Spatial Computing, also aboveThe use of computer-generated simulations to create immersive or interactive experiences. Training, simulation, entertainment, education.
Quantum Computing, also aboveA type of computing that uses quantum-mechanical phenomena, such as superposition and entanglement, to perform operations on data. Drug discovery, optimization, cryptography.
Neural LinksThe implantation of electronic devices into the human brain, to enhance cognitive abilities or to control prosthetic limbs. Medical treatment, brain-computer interfaces, cognitive enhancement.
Space TechnologiesAdvancements in satellite, rocket and space exploration technologies.Earth observation, telecommunications, scientific research, space tourism.
4D Printing3D printing with the added dimension of time, allowing the printed objects to change shape or properties over time.Smart materials, adaptive structures, self-assembling structures
BiotechnologyThe use of living organisms, cells or their derivatives to create products and technologies. Medical treatments, crop improvement, biofuels, biosensors.
5 & 6GThe fifth / sixth generation of mobile networks, characterized by higher speeds, lower latency, and greater capacity for connected devices.Enhanced mobile broadband, massive internet of things, critical communication.
Graphene A single layer of carbon atoms arranged in a hexagonal lattice, it is a strong, light and highly conductive material.Energy storage, electronics, composites, sensors, etc
Natural Language Processing (NLP)The ability of computers to understand and process human language.Chatbot customer service, sentiment analysis, document analysis
Advanced Data AnalyticsCombination of data visualization, statistical analysis, machine learning and other techniques to extract insights from data.Risk management, fraud detection, customer behavior analysis.
Cloud ComputingThe delivery of computing services, including storage, processing and software, over the internet.Scalability, cost savings, data security, and business continuity.

Note that this is not a comprehensive list and there are many other emerging technologies that have the potential to disrupt various industries. The specific applications may vary depending on the particular technology and industry. And yes, many of these are now well established technologies – but if I give you this list a decade or two ago, you would not say many of them would ever become reality.

Nevertheless, the way I see this, that these technologies have the potential to help financial companies to increase efficiency, improve customer experiences, and enhance security, as well as providing opportunities for new revenue streams or business models – hence I am imagining that for finding the open standards, for finding the common ground, to understand the regulatory and other implications, there is a clear benefit to have the Special Interest Group mentioned at the beginning.

Agile Estimation. Or #NoEstimation. Who knows?

I already wrote about Agile earlier, but it is a rather important topic for me (I was involved with Agile Alliance very early on). And one of my favorite discussions on the topic is the value of estimation. Whether you are aiming to estimate for the hour, or doing only TShirt estimation, you do know, that estimation is an important part of agile processes because it helps teams plan and manage their work effectively. Estimations are used to determine the amount of time and effort required to complete a task or project, which helps teams prioritize their work and make informed decisions about how to allocate resources. Additionally, estimations help teams set realistic expectations and deadlines for themselves and their stakeholders. In agile methodologies like Scrum and Kanban, estimations are done using techniques such as story points, which are relative measures of complexity rather than absolute measures of time or effort. This allows teams to adapt to changes and uncertainty more easily.

On the other hand, there is a tribe of #NoEstimation practitioners, who say that the value of “no estimation” is that it can eliminate the need for time-consuming and potentially inaccurate estimation efforts, allowing teams to focus on delivering working software and satisfying customer needs. It also promotes a culture of continuous improvement, where teams focus on delivering small, incremental changes and learning from them, rather than trying to predict the future. In “no estimation” approach, the team focuses on delivering smaller chunks of work, called “Minimum viable products” (MVP) which provides the maximum value with minimum effort. This approach is based on the assumption that the customer or stakeholders don’t know exactly what they want, and the team should deliver small increments to gather feedback and iterate on the product. This way, the team can deliver the product with more accuracy and customer satisfaction. This approach is more suitable for companies that have a high degree of uncertainty and volatility in their environment and for projects that have a high degree of innovation.

A quick overview of the pros and cons for this:

ProsCons
Estimation
  • Helps teams plan and manage their work effectively
  • Allows teams to prioritize their work and make informed decisions about resource allocation
  • Helps teams set realistic expectations and deadlines for themselves and their stakeholders
  • Useful for making decisions about project scope and feasibility
  • Can be time-consuming and potentially inaccurate
  • Can lead to unrealistic expectations and deadlines
  • Can be difficult to adapt to changes and uncertainty
  • Can lead to over-engineering or gold-plating
No Estimation
  • Eliminates the need for time-consuming and potentially inaccurate estimation efforts
  • Promotes a culture of continuous improvement and learning
  • Suitable for projects with a high degree of innovation and uncertainty
  • Focuses on delivering smaller chunks of work, called “Minimum viable products” (MVP)
  • May not be suitable for projects with well-defined requirements and constraints
  • May require a significant change in mindset and approach for some teams
  • May result in a lack of long-term planning or goals
  • May lead to delays if the customer or stakeholders need specific features or functionalities

So, where can the ideas of Estimation vs #NoEstimation applied to?

  • Estimation in a software development project: A software development team is tasked with building a new application for a client. The team uses agile methodologies such as Scrum, and they estimate the amount of time and effort required to complete each user story using story points. This allows them to prioritize their work, set realistic deadlines, and manage their resources effectively. However, this process can be time-consuming and may not always be accurate, especially if the requirements change or new information comes to light.
  • No Estimation in a product development project: A product development team is working on a new IoT device. They are using “no estimation” approach. They are focused on delivering small, incremental changes and gathering feedback from customers and stakeholders. They deliver Minimum Viable Product (MVP) that provides the maximum value with minimum effort. They are not trying to predict the future and are continuously improving their product based on customer feedback. This approach allows them to adapt to changes and uncertainty more easily, but it may not be suitable if the project has well-defined requirements and constraints.
  • Estimation in a construction project: A construction company is building a new skyscraper. They use estimation to determine the amount of time and resources required to complete the project. They use Gantt chart and critical path method to plan and manage their work. However, this approach can be difficult to adapt to changes in weather, materials, or other factors, and it may lead to unrealistic expectations and deadlines.
  • No estimation in a research project: A research team is working on a new medical treatment. They use “no estimation” approach and focused on conducting small experiments and gathering data. They are not trying to predict the outcome, instead they are continuously learning and improving their research based on the data they gather. This approach allows them to adapt to new information and uncertainty more easily, but it may not be suitable if the project has specific deliverables and deadlines.

So, no, I haven’t given a straight answer on Estimations, as there isn’t one. Agile is what you make of it, it is NOT one size fits all 🙂

What makes you a good leader?

This is a topic I touched a few times earlier. In the current era seeing many firms going through a harder period, many cases resulting in layoffs, let’s see what I think makes a good leader? A good leader typically possesses some (most? all?) the following characteristics:

  • Vision: They have a clear idea of where they want to take their organization or team and are able to effectively communicate it to others. Example: Steve Jobs and his vision for Apple, or Martin Luther King Jr. and his vision for a more just and equal society for African Americans in the United States.
  • Integrity: They are honest, ethical, and transparent in their actions and decisions. Example: Nelson Mandela and his commitment to fighting for justice and equality in South Africa, or Malala Yousafzai and her commitment to promoting education for girls and women, despite facing threats and violence.
  • Decisiveness: They are able to make difficult decisions quickly and effectively. Example: Winston Churchill and his leadership during World War II or Abraham Lincoln and his leadership during the Civil War and the abolition of slavery in the United States.
  • Emotional intelligence: They are able to understand and manage their own emotions, as well as the emotions of others. Example: Mahatma Gandhi and his ability to inspire peaceful civil disobedience or Mother Teresa and her ability to empathize with and serve the poorest of the poor in India.
  • Adaptability: They are able to adjust their approach and strategy as needed to achieve their goals. Example: Jack Welch and his ability to transform General Electric into a more efficient and profitable company (inventing Reverse Mentoring) or Barack Obama and his ability to navigate the complex political landscape and successfully implement policies such as the Affordable Care Act.
  • Strong communication skills: They can effectively communicate their vision and ideas to others, and also actively listen to feedback. Example: Jeff Bezos and his ability to communicate his vision for Amazon (I try to use many of his tricks like the year-start year-end memo) or Oprah Winfrey and her ability to connect with her audience and share her message through her talk show and media empire.
  • Empowerment: They give their team members the autonomy and resources they need to succeed. Example: Bill Gates and his leadership at Microsoft or Sir Richard Branson and his leadership style that focuses on giving his team members autonomy and support to achieve their goals.
  • Creativity: They are able to think outside the box and come up with new and innovative solutions. Example: Elon Musk and his companies SpaceX and Tesla or Steve Wozniak and his role in co-founding Apple and developing the first successful personal computer, the Apple I, or Andras Velvart, spatial computing and artificial intelligence ideaman.
  • Passion: They are passionate about their work and this enthusiasm is contagious. Example: Mark Zuckerberg and his passion for connecting people through Facebook or, again, Sir Richard Branson and his diverse business ventures in multiple industries, driven by his passion for entrepreneurship
  • Humility: They are self-aware, and comfortable in acknowledging their own mistakes and learning from them. Example: Sheryl Sandberg and her leadership at Facebook and LeanIn.org, or, again, Mark Zuckerberg, and his willingness to admit mistakes and take accountability for them, such as during the Cambridge Analytica scandal.

I won’t bring examples on the coming section 😀 So, there are particular traits, you will want to avoid if you want to be considered a good leader.

  • Arrogance: An overbearing sense of self-importance that can alienate others and make it difficult to work with them.
  • Lack of empathy: An inability to understand or care about the needs and feelings of others.
  • Indecision: A tendency to avoid making decisions or being unable to make them in a timely manner.
  • Lack of transparency: Being dishonest or withholding information from team members and stakeholders.
  • Inflexibility: An inability or unwillingness to adapt to changing circumstances or incorporate new ideas.
  • Poor communication: Inability to effectively communicate goals, instructions and feedback, or actively listen to others.
  • Micromanagement: An excessive need to control every aspect of a project or team, which can stifle creativity and innovation.
  • Self-interest: Prioritizing personal gain over the well-being of the team or organization.
  • Lack of accountability: Failure to take responsibility for one’s actions and decisions.
  • Lack of emotional intelligence: inability to control one’s emotions or manage the emotions of others.

So, what you think, are you a good leader?

The dilemma of uninventing

If I could be uninventing something, what would that be? Some weapons? Or technologies that have been used for destruction or harmful purposes should be un-invented. Ultimately, the decision of what should be un-invented is a complex ethical issue that would require careful consideration from experts and society as a whole. This basic question resulted me thinking about other ethical dilemmas, that are arisen in the field of technology:

  • Privacy and surveillance: With the increasing amount of data being collected and stored by technology companies and government agencies, there are concerns about how this data is being used and who has access to it. We might remember some of the data scandals.
  • Artificial intelligence and bias: Machine learning algorithms can perpetuate and even amplify biases present in the data used to train them, leading to unfair and discriminatory outcomes. We might remember Microsoft’s bot, which became very quickly extremist 🙁
  • Autonomous weapons: As technology advances, the possibility of fully autonomous weapons raises ethical questions about the responsibility for their actions and the potential for them to cause harm without human oversight.
  • Social media and mental health: The impact of social media and technology on mental health is a growing concern, with studies suggesting that excessive use can lead to depression, anxiety and sleep disorders.
  • Digital divide: Access to technology and the internet is not equal across all segments of society, and this digital divide can exacerbate existing social and economic inequalities.
  • Virtual reality and empathy: Virtual reality technology has the potential to create immersive, realistic experiences that allow people to “step into” someone else’s shoes and gain a deeper understanding of their perspectives. However, there are also concerns that this technology could be used to manipulate people’s emotions and exploit their vulnerability.
  • Biotechnology and genetic engineering: Advances in biotechnology and genetic engineering raise ethical questions about the manipulation of life and the potential consequences for future generations.
  • Internet censorship and freedom of expression: Governments and private companies have the power to censor or restrict access to information on the internet, which raises questions about the limits of free speech and the role of technology in shaping public discourse. This with the political angle, and also with the whole question of where a platform’s responsibilities lies, is a separate area on its own.
  • Cyber warfare and cyber security: As the use of technology becomes increasingly integrated into every aspect of society, the potential for cyber attacks and cyber warfare becomes a growing concern. This raises questions about the ethics of cyber weapons and the responsibility of nation-states and private actors to protect against cyber threats. Finding a 0day, would I sell it to a highest bidder, or would I do the right thing and properly disclose?
  • Human augmentation and transhumanism: Advances in technology are allowing for the enhancement of human physical and cognitive abilities, raising ethical questions about the implications of these enhancements for individuals and society as a whole. What if someone gets an augmentation that gives them a benefit in work, sport, etc?

There are many other ethical dilemmas that are related to technology and its impact on society, and they continue to emerge as technology continues to advance. Me, as part of workstreams focusing on ’emerging technologies’, breaking through the Horizon, feels like I do have a kind of unwritten contract with the rest of humanity to avoid creating something that should be un-invented later on. The main example popping to my mind is the ‘Tesla Death Ray’ (although it did NOT transmit any rays as the energy would have dissipated in the air – it was more like a energy wall, a ‘teleforce’ as he called it).

Fun And Positive Attitude

I dedicate this post to Marta – she knows what she said 🙂 So, how to embrace the Power of Fun? One way to embrace the Power of Fun is to incorporate activities and hobbies that you enjoy into your daily routine. This can include things like playing sports, taking up a musical instrument, reading, writing, or spending time outdoors. Additionally, try to surround yourself with people and situations that bring you joy and laughter. It’s also important to not take yourself too seriously and to find humor in everyday moments. Finally, try to maintain a positive attitude and outlook on life, as this can help you to see the fun and joy in even the most challenging situations. And they are there, oh yeah. It can be difficult to maintain a sense of fun and positivity in the face of dark reality. However, there are a few strategies that can help.

  • Practice gratitude: Focus on the things that you are grateful for in your life, no matter how small they may seem. This can help to shift your perspective and remind you of the good things in your life.
  • Connect with others: Surround yourself with supportive coworkers, friends and family members who can offer a listening ear and a shoulder to lean on. Sharing your feelings with others can help to alleviate feelings of isolation and loneliness.
  • Find healthy outlets: Engage in activities that are both fun and therapeutic, such as exercise, art, or meditation. These can help to reduce stress and promote well-being.
  • Reach out for professional help: Be brave with sharing – sometimes, it can be helpful to talk to a mentor, a therapist or a counselor who can help you to navigate difficult feelings and develop coping strategies.
  • Be kind to yourself: Be gentle with yourself and give yourself permission to feel whatever emotions come up, also remind yourself that it is okay to not be okay all the time.

Does it worth having a positive attitude? The power of fun can have a number of positive results, including:

  • Improved mood: Engaging in fun activities can help to boost your mood and reduce feelings of stress, anxiety, and depression.
  • Increased well-being: Fun activities can promote physical, mental, and emotional well-being by releasing endorphins, the “feel-good” chemicals in the brain.
  • Better relationships: Participating in fun activities with others can help to strengthen social connections and build deeper, more meaningful relationships.
  • Enhanced creativity: Engaging in fun and playful activities can help to spark creativity and inspire new ideas.
  • Increased productivity: Taking regular breaks to engage in fun activities can help to refresh the mind and improve focus, which can lead to increased productivity and better performance.
  • Improved physical health: Engaging in fun activities that involve physical movement, such as sports or dancing, can help to improve physical health and fitness.
  • Better sleep: Engaging in fun activities that promote relaxation and reduce stress can help to improve sleep quality and duration.
  • A sense of accomplishment: Fun activities can also give you a sense of accomplishment and boost your self-confidence and self-esteem.

So, everyone, do embrace the Power of Fun, and prevail!

Values of Personal Branding

When I restarted this blog, I got a comment in private saying “this will help you in your personal branding!”. Do I even want that to happen? What is personal branding, anyway?

You are the Brand!

Personal branding is the process of creating and promoting a recognizable and memorable image or impression of oneself, in the minds of others. The values of personal branding include:

  • Differentiation: personal branding can help an individual stand out in a crowded marketplace.
  • Credibility: a strong personal brand can create trust and credibility with potential employers, clients, and customers.
  • Career advancement: a well-defined personal brand can open up new opportunities and help an individual advance in their career.
  • Confidence: having a clear understanding of one’s personal brand can increase an individual’s confidence in their abilities and value.
  • Authenticity: personal branding should reflect who you are and what you stand for, which can help to build authenticity. Don’t try to be different than you actually are!
  • Control: Personal branding is about taking control of how you want to be perceived. Might worth getting your mentor read your blog too!
  • Reputation management: Personal branding can help you build and maintain positive reputation.

However, it is not roses and pink everywhere. When developing a personal brand, it’s important to avoid certain pitfalls that can damage your reputation and undermine your efforts. Some pitfalls to avoid include:

  • Inauthenticity: Being inauthentic in your personal brand can be damaging to your reputation. And it will be figured out quickly – I seen edge cases when someone’s mother posted a comment explaining that the kid is nothing like what was according to the brand 😀
  • Lack of consistency: Inconsistencies in your messaging and image can confuse your audience and make it difficult for them to understand who you are and what you stand for.
  • Overpromising and underdelivering: Making promises you can’t keep or not living up to your branding can damage your credibility and reputation. Like promise to write more posts and you don’t (this is post 14 this year)
  • Ignoring your online presence: Your online presence is an important part of your personal brand, and ignoring it can be detrimental to your efforts. If you have an Instagram account where you keep getting messaged that you ignore – should you even have that account?
  • Not monitoring and adjusting: Your personal brand should be an ever-evolving process and you should regularly monitor and adjust it as necessary.
  • Not being prepared for criticism: As you put yourself out there, you should be prepared for criticism and know how to handle it. Yes, this is the internet, there are going to be trolls, naysayers, etc.
  • Not being aware of the legal issues: You should be aware of the legal issues, such as intellectual property and trademark laws, that can impact your personal branding efforts.

Luckily, you likely are not the first one wanting to do something with their branding. There are a variety of resources available to help individuals develop their personal brand, including:

  • Books: There are many books available on the topic of personal branding, such as “Personal Branding for Dummies” by Susan Chritton and “The Personal Branding Phenomenon” by Peter Montoya.
  • Websites: There are several websites dedicated to personal branding, such as personalbrandingblog.com, brandingstrategyinsider.com and brandingpersonality.com. There are also tons of other websites to check out on this.
  • Social media: Platforms like LinkedIn, Twitter, Mastodon and Instagram can be used to build and promote your personal brand.
  • Conferences and workshops: Conferences and workshops on personal branding can provide valuable insights and networking opportunities.
  • Personal branding coaches and consultants: Personal branding coaches and consultants can provide personalized advice and guidance on developing your personal brand.
  • Online courses: Many online platforms offer personal branding courses and can be upped by certifications, like Coursera, Udemy, LinkedIn Learning.
  • Networking: Networking with other professionals in your industry is a great way to learn about personal branding and get inspiration for your own efforts.

So let’s pretend I convinced you to follow the steps of many and start the journey 🙂 Starting to develop your personal brand can seem daunting, but breaking the process down into smaller steps can make it more manageable. Here are a few steps you can take to start developing your personal brand:

  • Define your target audience: Identify the people you want to reach with your personal brand, and consider what they are looking for in a professional.
  • Assess your strengths and unique selling points: Consider what makes you stand out from others in your field and how you can highlight those strengths in your personal brand.
  • Create a mission statement: Develop a clear and concise mission statement that sums up your personal brand and what you want to achieve.
  • Develop your visual identity: Create a consistent visual identity for yourself, including a professional headshot, a logo or personal symbol, and a color scheme. This is somewhat lacking for me, never have the time (and the skills!) for it.
  • Build your online presence: Create a professional-looking website or blog and build a presence on social media platforms that are relevant to your industry.
  • Consistency is key: Develop a consistent message and image across all platforms and make sure all the elements of your personal brand work together.
  • Network: As also mentioned above, networking is key.
  • Measure and adjust: Measure the results of your personal branding efforts and adjust your strategy as necessary. Like I recently moved from Google Analytics to Jetpack for better measurements on this blog.

So, let me know in the comments, what you think about my journey on building a better personal branding, for now 😀

Overworking and Burnout: Issues & Effects

Overworking and Burnout are affecting many of us, and definitely something that has be talked about. But first of all, despite mentioned in the same sentences over and over, overworking and burnout are not necessarily the same thing, and to accurately handle them, we have to make the distinction. There are several issues associated with overworking, including:

Either burnout or overworking can cause such exhaustion!
  • Increased stress and (lol?) burnout: Long hours and high workloads can lead to feelings of stress and exhaustion, which can make it difficult to perform effectively on the job.
  • Health problems: Overworking can lead to a range of physical and mental health issues, such as high blood pressure, heart disease, and depression, and can have a lasting effect on your health.
  • Reduced productivity: Despite working longer hours, overworked individuals may not be as productive as they would be if they were working more reasonable hours. There is a maximum of effort in a day (around 8-10 hours) that you can be productive in – no matter how many energy drinks you consume.
  • Relationship problems: Overworking can also lead to problems in personal relationships, as it can take time away from loved ones and make it difficult to maintain healthy connections, or just not having time to chat with our friends.
  • Lack of work-life balance: Overworking can make it difficult for individuals to achieve a healthy balance between their work and personal lives, which can lead to feelings of dissatisfaction and unhappiness.

On the other hand, burnout is a state of emotional, physical, and mental exhaustion caused by prolonged and excessive stress. It can be caused by a number of factors, including:

  • High workload: A heavy workload or unrealistic expectations can lead to burnout itself, as individuals may feel overwhelmed and unable to keep up with the demands of their job.
  • Lack of control: A lack of autonomy or control over one’s work can lead to feelings of helplessness and powerlessness, which can contribute to burnout. Getting ticket overwhelmed is not helping at all. Fight with WIP limits and more!
  • Unclear expectations: A lack of clear goals or expectations for one’s role and responsibilities can lead to confusion and uncertainty, which can contribute to burnout. Make sure goal setting is real – you can try to define SMART goals, but really try to put the effort into making them real.
  • Inadequate support: A lack of support from supervisors or colleagues can lead to feelings of isolation and frustration, which can contribute to burnout. If you interested, you can pick a mentor
  • Constant exposure to stress: Constant exposure to high-stress situations, such as working in a high-pressure environment or dealing with difficult clients or patients, can lead to burnout.
  • Imbalance work-life balance: Not having enough time to relax, pursue hobbies and spending time with family and friends can lead to burnout. Do feel free to take a day off here and there. The world and the firm won’t stop.
  • Personal factors: Personal factors such as perfectionism, a lack of self-care, and negative coping mechanisms can also contribute to burnout. As an example, I don’t try to plan to be my blog posts to be perfect 🙂 They are full of grammar mistakes and typos all the time 😀

Brrr, neither of them looks great. So there has to be a way to prevent burnout and overworking, aren’t they? I think, there are:

  • Prioritizing self-care: Taking care of your physical and mental well-being is important in preventing burnout. This can include taking breaks throughout the day, getting enough sleep, eating a healthy diet, and engaging in regular exercise.
  • Setting boundaries: Setting clear boundaries between work and personal life can help prevent overworking. This can include setting specific times to check work-related emails or turning off your phone or computer when you’re not working.
  • Managing stress: Finding effective ways to manage stress can help prevent burnout. This can include techniques such as meditation, yoga, or deep breathing exercises, or something like this 🙂
  • Communicating effectively: Communicating with your supervisor or colleagues about your workload and any concerns you have can help prevent burnout.
  • Finding a balance: Finding a balance between work and personal life can help prevent burnout. This can include taking time off work when needed, making time for hobbies and interests, and spending quality time with friends and family.
  • Seeking support: Seek support from supervisors, colleagues, friends, family and mental health professionals if you need it. See mentoring as well.
  • Re-evaluating your goals: Re-evaluating your goals, expectations, and priorities in your life can help you to ensure that you are not overworking yourself. These might be your work goals, or your goals, generally.

Remember, it is important to take preventative steps to avoid burnout and overworking, and take action as soon as possible if you notice signs of stress or burnout. There are many factors that can contribute to burnout and overworking – at the same time, it’s worth noting that different people may have different risk factors to burnout and overworking, and it is important to understand and identify the factors that affect you the most.

Agile vNext (in 2023+)

In 2023, we still speak about how to introduce Agile? That seems to be pretty slow with today’s standards, everyone is already doing agile 😀 So, what the future of Agile looks like?

Future of Agile in a diagram

The future of Agile development methodologies is likely to involve increased focus on collaboration and communication among team members, as well as continued evolution of Agile practices to better support remote and distributed teams. Additionally, it is possible that we will see a greater emphasis on integrating Agile principles with other methodologies, such as Design Thinking, to create more holistic and effective approaches to software development. Additionally, with more and more companies adopting Agile methodologies, Agile is becoming a part of mainstream. Next to Agile itself, Design Thinking is the big other technology getting to mainstream.

Agile and Design Thinking are both iterative, user-centered approaches that prioritize flexibility and collaboration. Agile focuses on the rapid development and delivery of working software through the use of cross-functional teams and incremental, iterative development cycles. Design Thinking, on the other hand, is a problem-solving approach that emphasizes empathy for the user, rapid prototyping, and iterative testing to arrive at innovative solutions.

While Agile and Design Thinking have different origins and are used in different contexts, they share many common principles and can be used together to create a more holistic approach to software development. For example, a Design Thinking-inspired approach can be used to generate ideas for new features or functionality, which can then be rapidly developed and tested using an Agile methodology.

Combining Agile and Design Thinking can also be beneficial for creating a more seamless and efficient workflow, as well as ensuring that the end product is not only functional but also user-friendly and satisfying. However, Agile and Design Thinking both have their own set of potential drawbacks.

One potential drawback of Agile is that it can be difficult to plan and budget for longer-term projects, as the focus is on delivering working software in short, incremental cycles. This can also make it challenging to accurately predict when a project will be completed, as requirements and priorities may change during the course of development. Additionally, Agile methodologies can be challenging to implement in organizations that are not used to working in a highly collaborative and adaptive way.

Design Thinking can also have its own set of drawbacks. One of the most significant challenges is that it can be time-consuming and resource-intensive, as it requires a lot of user research, prototyping, and testing. Additionally, Design Thinking can be difficult to integrate with more traditional, linear development processes, such as Waterfall, which can create challenges for organizations that are trying to adopt Design Thinking practices.

Furthermore, Design Thinking-inspired approaches can also be criticized for being too focused on the user and neglecting other important stakeholders or factors such as budget, timeline, and feasibility of the solution.

Overall, Agile and Design Thinking are powerful approaches that can help organizations to develop innovative solutions and create better products, however, careful consideration of the potential drawbacks and a good understanding of the context of the project is required to make sure they are implemented effectively.

Speaking about Agile, we cannot walk past the question, how to choose a framework among Scrum, Kanban, etc. Choosing an Agile framework can be a complex process, as there are many different options available, each with its own set of benefits and drawbacks. Here are a few key factors to consider when choosing an Agile framework:

Kanban VS Scrum
  • Team size and composition: Different Agile frameworks are better suited to different team sizes and compositions. For example, Scrum is often used by small, co-located teams, while Kanban is better suited to larger, more distributed teams.
  • Project complexity: Some Agile frameworks, such as Scrum, are better suited to handling complex projects with multiple dependencies and rapidly changing requirements. Others, such as Kanban, are better suited to more straightforward projects with well-defined requirements.
  • Organizational culture: The Agile framework you choose should be compatible with the culture and values of your organization. For example, if your organization values predictability and stability, Scrum may not be the best choice.
  • Prior experience: If your team has prior experience with a particular Agile framework, it may be a good idea to stick with it, as it can take time to fully understand and implement a new framework.
  • Goals and priorities: Different Agile frameworks have different strengths and weaknesses, so it’s essential to choose a framework that aligns with your project goals and priorities. For example, if you’re looking to improve team collaboration, Scrum might be a better choice than Kanban.

It’s important to remember that Agile is not a one-size-fits-all solution, and there’s no perfect Agile framework. The best framework for you will depend on your specific situation and context. It’s also important to note that Agile frameworks are meant to be flexible and adaptable to the needs of the team and project, so even if you choose one framework, it’s important to keep an open mind to adjust and adapt as needed. And same goes for choosing Agile and/or Design Thinking – it might be not the best fit for your team.

(Reverse) Mentoring in 2023

The concept of reverse mentoring is often attributed to Jack Welch, the former CEO of General Electric. In the late 1990s, Welch implemented a reverse mentoring program at GE to help senior executives learn about new technologies and the perspectives of younger employees. The program was seen as a success and inspired other companies to adopt similar programs.

Mirror or Reverse Mentoring

There are several potential benefits of reverse mentoring:

  • Transfer of knowledge: Younger employees can share their expertise in areas such as technology and digital media with more experienced colleagues.
  • Improved communication: The mentoring relationship can foster open and honest communication across generations, breaking down barriers and fostering a more inclusive work culture.
  • Expanded perspective: Senior executives can gain a fresh perspective on the company and its operations from a younger employee’s point of view, helping to promote innovation and change.
  • Career development: Younger employees can benefit from the guidance and mentorship of more experienced colleagues, helping them to develop their careers.
  • Increased productivity: Reverse mentoring can improve cross-functional collaboration and increase overall productivity by leveraging the strengths of employees across all levels of the organization.
  • Improving diversity and inclusion initiatives: Reverse mentoring can be a tool to create an inclusive culture. It can facilitate learning, understanding and mutual respect between different generations and also different cultures, promoting diversity in the workplace.
  • Improved understanding of generational differences: Reverse mentoring can help to bridge the gap between different generations, allowing for better understanding and communication between employees of different ages.
  • Increased job satisfaction: Reverse mentoring can provide a sense of fulfillment for both the mentor and mentee, as both parties can learn from one another and grow as individuals.
  • Building networks: Reverse mentoring can also help employees to build a strong professional network, connecting them with individuals across different departments and levels of the organization.
  • Developing leadership skills: Reverse mentoring can be an opportunity for both the mentor and mentee to improve their leadership skills, as they learn to communicate effectively, manage their time, provide feedback, and resolve conflict.
  • Improving organizational culture: Reverse mentoring can also foster a positive organizational culture by promoting collaboration, mutual respect and understanding, and a shared sense of purpose across the organization.
  • Enhancing brand image: Reverse mentoring can be great internal and external recruitment tool. It can enhance the company’s brand image as a progressive organization that values the contributions of all its employees, regardless of their age or experience level.

I recently got involved in reverse mentoring – but I do not think I could be sharing more on this 🙂