Code Reviews in a SCRUM

This is a little different than many of the items I have posted. But I do have four basic passions: Family, Computers, Health, and Personal Growth/Education. Today, I was thinking about SCRUM and how it relates to past software development methodologies. Since I do usually limit these posts to a single major topic, today is SCRUM and Code Reviews.

Too often people think about a Code Review as a tedious, draw-out event that really has no place in a SCRUM. As I study the Agile process, I am realizing that code reviews are agile also and are an important part of a SCRUM. As Jason Cohen points out in Scrum and Code Review — they go together like beans and cornbread, Ken Schwaber and Jeff Sutherland (the co-founders of SCRUM) say that code is not “done” until it is code reviewed. As a side note, I would highly recommend Jalapeno Corn Bread. Making your code reviews a little more enlivened would not be a bad idea also.

In the 1970s and 1980s, structured development was desired. Structured Analysis and Design was developed to overcome the haphazard development methods used before then. Using SA/SD, every stage was very formal and required so many steps that the overhead prevented meaningful work to get done in a short amount of time. Because of this overhead, Agile programming came into favor. How can work be done in a reasonable amount of time? Unfortunately, some people thought that code reviews are part of the overhead. It is interesting that Ken Schwaber and Jeff Sutherland, the developers of the SCRUM methodology, believe that code reviews are a vital part of the process. Code reviews often help find overlooked problems that could cause havoc later. They can also be used for educating new members of a team. Since the same person does not always work on the same piece of code, it is good to have several people aware of many sections of code. Code Reviews also help improve the consistency of code, improving “best practices” in coding and documentation, and increasing good communication within the team.

I like limiting the reviewers to one or two people. In reviewing critical code that affects many members of the team, larger reviews are required. In this case, I would suggest making this review a separate task or story to make sure it is done correctly. The purpose of the code review can vary. If the developers are new to the development environment, the language, or the application, it is good for a more experienced member of the team to review the code to identify common mistakes of newbies, to share algorithms that work well in the desired environment, or help improve the readability and compactness of the code (no, those are not mutually exclusive). If the developer is experienced, the newer member of the team can learn from the experienced developer and ask questions/make suggestions based on knowledge gained outside of the organization. Even more experienced engineers need to continue to learn.

The most common benefit of having a second person look at code is to spot problems that the developer may not see because errors not seen immediately become part of the “background” and are often overlooked until something in that section of the code changes. It is also much less expensive to find problems in the early stages of development instead of when the code is actually released. Remember that the same person does not always work on the same section of code. Having familiarity with different sections of the project helps each member be able to work on more sections and have a better knowledge of the entire product.

Where mutual code reviews are essential are dealing with code interfaces. If one developer has a function that is called by a second developer, they need to verify the calls match, that any “corner case” will not cause a problem, and that all the caller’s needs are handled properly by the called function.

Code reviews are to verify the functionality and help with the maintainability of the code. If coding tasks are kept to an average of one day to complete, code reviews are  a small part of that time and help improve the quality of the final product. To be “Done” a code review must take place.

This entry was posted in Agile Methodology, Code Reviews, Computers, SCRUM, SCRUM Methodology, Software and tagged , , , , , , . Bookmark the permalink.

7 Responses to Code Reviews in a SCRUM

  1. Hey, are you using WordPress for your site platform? I’m new to the blog world but I’m trying to get started and create my own. Do you require any html coding knowledge to make your own blog? Any help would be really appreciated!

    • Wayne Cook says:

      Hi Gemma,

      That is great that you are interesting in blogging. Yes, I use WordPress. I hope I have your name correct, based on your e-mail address. I normally prefer a name to an organization. From your organization name, are you from South Africa? Beautiful country. In WordPress, it depends on how much formatting you want (like headings and tables) on how much HTML you need to know. None is needed for the basic blogs. WordPress does all the Header and basic Body formatting for you. For special functions, YouTube gives you the code to embed a video. You can search how to do almost anything in HTML on the Internet. Good luck. Let me know how it all goes.

      Wayne

  2. Very nice post. I just stumbled upon your blog and wished to say that I have really enjoyed surfing around your blog posts. After all I’ll be subscribing to your feed and I hope you write again soon!

  3. I am in fact grateful to the holder of this website who has shared this fantastic article at here.

  4. life says:

    Undeniably believe that which you said. Your favorite justification seemed to be on the web the simplest thing to be aware of. I say to you, I certainly get annoyed while people think about worries that they just don’t know about. You managed to hit the nail upon the top as well as defined out the whole thing without having side effect , people can take a signal. Will probably be back to get more. Thanks

  5. Jake Rainha says:

    hello!,I like your writing so so much! share we communicate more approximately your article on AOL? I need a specialist on this house to solve my problem. Maybe that is you! Taking a look forward to peer you.

    • Wayne Cook says:

      Hi Jake,

      For what sort of help are you loo0king. Please write to me via the Contact page and we can start a discussion.

      Wayne

I would enjoy hearing from you.

This site uses Akismet to reduce spam. Learn how your comment data is processed.