It’s been a long time since I wrote “10 things to drive your Scrum Master crazy” and it’s about time to give you some new weapons. So, here they are:
It’s been a funny transition the past few years as agile has gone more and more mainstream. You used to have to start every talk with an explanation of the Agile Manifesto… you don’t have to do that anymore, people generally get it.
Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Peter Zaitsev, MySQL performance specialist and Founder, CEO of Percona.
There are many facets to software design. A common example is loss aversion, which refers to "people's tendency to strongly prefer avoiding losses to acquiring gains." Armed with this knowledge, more informed decisions are possible throughout the software development cycle. The following list details a few examples where loss aversion can play a role in software development:
You hear a lot about “change the ratio” and encouraging young people, especially young women, into technology. Njeri “Martha” Chuomo is 19 years old, a Ruby programmer living in Nairobi, and changing more than just the ratio.
There are many ways to learn but teaching might be the best one.
Recently, Dan wrote a great piece on testing network failures with NuoDB's support for geo-distribution. If you haven't read it, then go do that right now. It's cool, and it illustrates pretty clearly how you can tune the rules for durability based on awareness of regions.
Let me ask you a question; why do agile frameworks recommend limiting team size to 7±2? If you answered “communication” or "collaboration", congratulations you're correct. But do you understand why?
Increase your business value with agile project management
Agile project management is an incremental approach of managing and guiding software processes. It enables organization to deliver highly flexible, high quality product to their clients with the constant focus on continuous improvement, flexibility, team input.
// Private members
private SPSite site = null;
private SPWeb web = null;
/// This method is called through the delegate elevatedGetSite which is definend in button2_Click
private void EstablishSharepoint()
site = new SPSite("http://localhost/Site1");
web = site.OpenWeb();
/// Click the event of a Windows form button
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
SPSecurity.CodeToRunElevated elevatedGetSite = new SPSecurity.CodeToRunElevated(EstablishSharepoint);
// Path to the MSG file stored in Shared Documents folder
SPFile msgFile = web.GetFile("Shared Documents/Test.msg");
// Read the file into a memory stream.
MemoryStream fileStream = new MemoryStream();
byte currentFileContent = msgFile.OpenBinary();
fileStream.Write(currentFileContent, 0, currentFileContent.Length);
fileStream.Position = 0;
// Create an instance of the MailMessage class
// and pass the memory stream of the MSG file to it
MailMessage msg = MailMessage.Load(fileStream, MessageFormat.Msg);
// Access the MailMessage class' public properties
Console.WriteLine("Subject: " + msg.Subject);
Console.WriteLine("From: " + msg.From.ToString());
Console.WriteLine("Text Body: " + msg.TextBody);
' Private members
Private site As SPSite = Nothing
Private web As SPWeb = Nothing
''' This method is called through the delegate elevatedGetSite which is definend in button2_Click
Private Sub EstablishSharepoint()
site = New SPSite("http://localhost/Site1")
web = site.OpenWeb()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim elevatedGetSite As New SPSecurity.CodeToRunElevated(AddressOf EstablishSharepoint)
' The path to the MSG file stored in the Shared Documents folder
Dim msgFile As SPFile = web.GetFile("Shared Documents/Test.msg")
' Read the file into a memory stream.
Dim fileStream As New MemoryStream()
Dim currentFileContent As Byte() = msgFile.OpenBinary()
fileStream.Write(currentFileContent, 0, currentFileContent.Length)
fileStream.Position = 0
' Create an instance of the MailMessage class
' and pass the memory stream of the MSG file to it
Dim msg As MailMessage = MailMessage.Load(fileStream, MessageFormat.Msg)
' Access the MailMessage class' public properties
Console.WriteLine("Subject: " & msg.Subject)
Console.WriteLine("From: " & msg.From.ToString())
Console.WriteLine("Text Body: " & msg.TextBody)
When people are doing a physical task, it’s easy to assess how hard they are working. Recognizing and rewarding hard work is a pretty fundamental human instinct, it is one of the reasons we find endurance sports so fascinating. This instinctive appreciation of physical hard work is a problem when it comes to managing creative-technical employees. Effective knowledge workers often don’t look like they are working very hard.
The topic of perfection is a common discussion at the programming dinner table. Is it good? Is it bad? Is it healthy? Is it possible? Is it realistic? With that in mind, the following section outlines the benefits and pitfalls of perfectionism in software development:
How does one change the world? One random act of kindness at the time. But I’m a software engineer. It’s hard to do random acts of kindness when it comes to doing IT related stuff. I often think I should do something about this. The ultimate solution would be that you could do this with a group of software engineers.
Recently I was working with a customer where we noticed that Seconds_Behind_Master fluctuating from an expected value of 0 seconds behind to a fairly high six figure value. So what was the fix? We leveraged the CHANGE MASTER TO syntax to utilize IGNORE_SERVER_IDS setting:
I had a little problem last week. I built a very small website – really just a one pager with a single API – whacked it up on an Azure website and then promptly had a quarter of a million people visit it in three days. Uh, bugger? There are a whole different set of challenges involved when optimising for large traffic volumes, let me walk you through how I tackled it.
One of the variations we always propose in our local edition of the Code Retreat is forbidding the use of return statements (or of method whose type is not void in languages where return isn't present). The goal the inventor of this variant had in mind was to stimulate the development on an extreme Tell Don't Ask solution where there are no getters and all state is shared by sending messages between objects.
For every “best practices” team, there is an equal (in magnitude) and opposing “worst practices” team silently going round the organization making things worse. Here's an example: Printer names...
Spring framework is widely used as a dependency injection container, and that’s for good reasons. But there is also a very useful feature that might get overlooked and is therefore worthy of discussion: bean aliasing.
In this post, I will be focusing on local search, which is a very popular technique in searching for an optimal solution based on a series of greedy local moves. The general setting of local search is as follows ...
There are beautiful, simple ideas in today’s Agile development methods that work really well. And some that don’t. Like defining all of your requirements as User Stories. I don’t like the format that most teams use to write stories. And I don’t like how they use them.