Who broke the build?

Topic(s)
Audience

Everyone

BuildIcon_Large

I recently sent round a list of broken builds at SSW and asked for them to be fixed or deleted if they are not being used. My colleague Peter came back with a couple of questions which I love as it tells me that at least one person reads my email Smile

I think first we need to answer a couple of other questions related to builds in general.

 

Why do we want the build to pass?

  1. Any developer can pick up a project and build it
  2. Standards can be enforced
  3. Constant quality is maintained
  4. Problems in code are identified early

What could a failed build signify?

  1. Developers have not built and tested their code properly before checking in.
  2. Something added depends on a local resource that is not under version control or does not exist on the target computer.
  3. Developers are not writing tests to cover common problems.
  4. There are not enough tests to cover problems.

Now we know why, lets answer Peters questions:

Where is this list? (can we see it somehow)

You can normally only see the builds listed for each project. But, you have a little application called “Build Notifications” on your computer. It is installed when you install Visual Studio 2010.

clip_image001
Figure: Staring the build notification application on Windows 7.

Once you have it open (it may disappear into your system tray) you should click “Options” and select all the projects you are involved in.

This application only lists projects that have builds, so don’t worry if it is not listed. This just means you are about to setup a build, right?

I just selected ALL projects that have builds.

image
Figure: All builds are listed here

In addition to seeing the list you will also get toast notification of build failure’s.

How can we get more info on what broke the build? (who is interesting too, to point the finger Smile but more important is what)

The only thing worse than breaking the build, is continuing to develop on a broken build!

image
Figure: I have highlighted the users who either are bad for braking the build, or very bad for not fixing it.

To find out what is wrong with a build you need to open the build definition. You can open a web version by double clicking the build in the image above, or you can open it from “Team Explorer”.

Just connect to your project and open out the “Builds” tree. Then Open the build by double clicking on it.

image
Figure: Opening a build is easy, but double click it and then open a build run from the list.

clip_image004
Figure: Good example, the build and tests have passed

image
Figure: Bad example, there are 133 errors preventing POK from being built on the build server.

For identifying failures see:

  1. Solution: Getting Silverlight to build on Team Build 2010 RC
  2. Solution: Testing Web Services with MSTest on Team Build
  3. Finding the problem on a partially succeeded build

So, Peter asked about blame, let’s have a look and see:

image
Figure: The build has been broken for so long I have no idea when it was broken, but everyone on this list is to blame (I am there too)

The rest of the history is lost in the sands of time, there is no way to tell when the build was originally broken, or by whom, or even if it ever worked in the first place. Build should be protected by the team that uses them and the only way to do that is to have them own them. It is fine for me to go in and setup a build, but the ownership for a build should always reside with the person who broke it last.

Conclusion

This is an example of a pointless build. Lets be honest, if you have a system like TFS in place and builds are constantly left broken, or not added to projects then your developers don’t yet understand the value. I have found that adding a Gated Check-in helps instil that understanding of value. If you prevent them from checking in without passing that basic quality gate of “your code builds on another computer” then it makes them look more closely at why they can’t check-in.

I have had builds fail because one developer had a “d” drive, but the build server did not. That is what they are there to catch.

 

If you want to know what builds to create and why I wrote a post on “Do you know the minimum builds to create on any branch?

 

Upcoming Training Opportunities

These are the next five classes we have, and you can check out our full public schedule of classes.

Timezone:
Live Virtual PAL Evidence-Based Management Online on 19th June 2023
Virtual
19-20 Jun, 2023
09:00-13:00 BST
2 half-days
APS 19th June 2023
Virtual
19-22 Jun, 2023
09:00-13:00 EDT
4 half-days
Professional Scrum Product Owner Immersion (PSPO-I) online 3rd July 2023 over 8 weeks
Virtual
3 Jul-21 Jul, 2023
13:00-17:00 BST
8 weekly half-days
PSPO-A 10th July 2023
Virtual
10-13 Jul, 2023
09:00-13:00 BST
4 half-days

We can deliver any of our courses as private in-house training over Microsoft Teams & Mural. We also recommend training based on your accountabilities or role, you can go directly to recommended courses for Scrum MastersProduct OwnersDevelopers and Agile Leaders.

Create a conversation around this article

Share on Facebook
Share on Twitter
Share on Linkdin

Related Courses

No items found

Read more

Martin Hinshelwood nkdAgility.com
https://youtu.be/_fFs-0GL1CA Why do you encourage people to follow a certification path in their career journey? I would encourage you to follow a scrum certification path for the same reason that people go to university. The same reason that people do any course or certification. It gets you a foot in …
Martin Hinshelwood nkdAgility.com
https://youtu.be/QGXlCm_B5zA What will you learn on the PSM II course? There are two main things that most scrum masters will learn on the PSM II or Advanced Professional Scrum Master course. That they haven’t been working effectively as a scrum master to date. That they are there to empower and …
Martin Hinshelwood nkdAgility.com
In Scrum Events across the world, I hear repeated the phrase “that’s how agile works” when describing behaviours that are both unprofessional and the very opposite of an agile mindset. These behaviours will inhibit agility and are a result of a lack of understanding of the underlying principles. We need …
Martin Hinshelwood nkdAgility.com
https://youtu.be/klBiNFvxuy0 What is the most common Aha moment people have in a scrum course? It depends on the scrum course they are attending. The content presented in the Applying Professional Scrum (APS) course leads to very different epiphanies when compared to the content presented on an Advanced Professional Scrum Master …

OUR TEAM

We believe that every company deserves high quality software delivered on a regular cadence that meets its customers needs. Our goal is to help you reduce your cycle time, improve your time to market, and minimise any organisational friction in achieving your goals.

naked Agility Limited is a professional company that offers training, coaching, mentoring, and facilitation to help people and teams evolve, integrate, and continuously improve.

We recognise the positive impact that a happy AND motivated workforce, that has purpose, has on client experience. We help change mindsets towards a people-first culture where everyone encourages others to learn and grow. The resulting divergent thinking leads to many different ideas and opportunities for the success of the organisation.