Embrace the Challenge

Embrace the Challenge

During my 17 years in software development, I have learned that I really enjoy taking on new challenges. I especially love being dropped onto an existing team or project that is struggling and figuring out how to turn things around.

Below I have listed the steps that I take when facing the challenge of joining an existing team or project that is struggling.

Step 1: Getting Started

It is extremely tempting to move too fast too quickly. When joining an existing team, you should be very cautious to not come in and make a lot of changes right away. What I have found is that most of the time if a team or project is struggling, they aren't nearly as far off course as most people assume. These are the things I would tackle first:

  • Build relationships - meet with everyone on the team as well as all of the stakeholders to start building relationships. Learn about them, share about yourself, and be sure to take notes that you can reference back to often
  • Listen and ask questions - every project and team meeting is an opportunity to learn. If asking questions during a meeting might be too disruptive, write down a list of questions and follow up with your team outside of the meeting
  • Identify problems or gaps - as you begin to plug yourself into the team more, start to write down any issues or gaps that you see and start thinking of ideas to address them

Every project and team is unique so it is hard to say how long it will take you to get started. In some situations it may only be a week or two, other times it might take months. Either way, be patient and learn all that you can.

Step 2: Take Action

In my opinion, this is where the hard stuff begins. You will make many mistakes along the way, but you have to start somewhere. Use all of the information that you gathered in step 1 and pick a place to start. Here are the things that I focus on when beginning to take action:

  • Pick off some quick wins - Just like a basketball shooter who gains confidence by seeing that first shot go through the net, an engineering team can gain momentum by completing or delivering something small
  • Communicate, communicate, communicate - as you begin to make changes, ensure that nothing is ever a surprise. If your team experiences a failure or new risks are identified, let stakeholders know. If stakeholders wish to change direction, make sure to let the team know and be prepared to answer the question "Why?". Too much communication is MUCH better than too little communication
  • Address gaps - in step 1, we identified the gaps and now it is time to fill them. If additional resources are needed, begin those conversations with management. If processes are missing, define and implement them
  • Delegate - this one is especially hard for me, but it is crucial to sustained success. By this point you should have identified who you can lean on and rely on. Ask those team members to take on a higher level of responsibility and leadership within the team. Often these things end up being great career development opportunities as well

At this point, things are starting to head in the right direction, but you cannot let up. Change is very difficult and you might lose some people or spin in a few circles during this step but stick with it.

Step 3: Follow Through and Deliver

Now that you have sorted things out, it is time to focus on taking the momentum gained in step 2 and building consistency within the team. Here are some of the things that I focus on in this step:

  • Consistent iteration - Continue to build out bigger and bigger chunks of work. Ensure processes are being followed and changed as needed
  • Develop an end-to-end plan - you probably started this in step 2, but now it is time to extend the plan further out and identify risks. Write the plan down, and share it with the team and stakeholders. Try to plan the work faster than the team is delivering. Get feedback as you go and adapt the plan as you learn more
  • Proactively Burn Down Risks - it is likely that realizing a risk in the past would have completely derailed the team. Now that you have a plan, ensure that risks are called out and you allot time to burn them down before the team runs into them
  • Continuous Improvement - don't be fooled by the iterative nature of step 3. Work should not be progressing in a flat line. While we want consistency from the team, we should be striving to become better and more efficient as we go. The progression of work should have an upward trajectory with fewer peaks and valleys
  • Deliver! - this is pretty self explanatory. Now that the team is headed in the right direction. Let's deliver on the plan

This step will most likely be the longest one because it is where most of the work is done. This is where a good team can become a great one. Due to the nature of work, it is important to incorporate logical breaks and celebrate successes along the way.

Step 4: Evaluate and Celebrate

This is the single most important step, but often the one that gets the least focus. After delivering on a big project or getting a team working consistently everyone is usually tired and ready to be done. It's easy to start focusing on the next challenge, but if you don't take the proper time to celebrate success and evaluate how things went then you are setting yourself up for future failures.

  • Celebrate - this is the time to reward the team for success. Celebration can happen in a lot of ways. A team outing or team lunch, bonuses, public recognition or awards, and a lot of other ways
  • Evaluate - while the team should take an iterative approach to continuous improvement, the end of a big project or challenge is a great opportunity to look at the bigger picture. Hold a retrospective meeting with the team and stakeholders. What worked and what didn't work? Is there anything you want to try differently going forward?
  • Share - It is good to have 1 high performing team, it's even better to have many. Encourage the team to find opportunities to share knowledge that they have gained with other teams and/or projects. Sharing may also take the form of certain team members being promoted into different roles or moving on to different teams

Every team and project is different but each is an opportunity to learn. The steps and knowledge that I shared in this article have been developed through a lot of trial and error and will continue to evolve as I move through the remainder of my career.


要查看或添加评论,请登录

Patrick O'Connell的更多文章

  • Overcoming Ambiguity at Work

    Overcoming Ambiguity at Work

    Ambiguity is inevitable in nearly every project and team. Communicating a vision or requirement with a group of people…

    2 条评论
  • Overcoming Fear of Failure

    Overcoming Fear of Failure

    Nothing stifles innovation and creativity more than the fear of failure. I have found that software engineers do their…

    1 条评论
  • The Power of Collaboration is Unmatched

    The Power of Collaboration is Unmatched

    The longer that I work in software development, the bigger and more complex the problems we need to solve. Early in my…

  • Lead by Example

    Lead by Example

    As an engineering manager, I am always looking for new ways for my to improve our software delivery process. This…

    1 条评论
  • Small Things Make a Big Difference

    Small Things Make a Big Difference

    Early in my career I thought that the only way to be successful was to do something huge to set myself apart. Develop a…

  • Building a Strong Team Culture

    Building a Strong Team Culture

    I learned a long time ago that a team working together can almost always outperform a group of individuals working…

  • Applying the Agile Manifesto to People Management

    Applying the Agile Manifesto to People Management

    I was a senior software developer at Dupont Pioneer when the transition to Scrum and Agile came sweeping through the…

    1 条评论
  • Managing the Individual

    Managing the Individual

    Teams are made up of individuals, and it is the uniqueness of those individuals that unlocks the true potential of the…

  • Empowering Employees Through Opportunities

    Empowering Employees Through Opportunities

    I'll start this one off by saying I absolutely despise the word "opportunity" in a corporate setting. Throughout my 17…

  • Building Trust as an Engineering Manager

    Building Trust as an Engineering Manager

    In this article, I'm going to focus specifically on building trust with my direct reports. Trust truly is the…

社区洞察

其他会员也浏览了