Marxent @ Work is a monthly column on company culture from the Marxent team.

There are beautiful software development projects, and then there are decidedly less beautiful projects. So what makes software beautiful? The best place to start is with what makes software messy.


What makes software messy?

After ten years of working as a software engineer and a myriad of projects, I can easily say that the number one thing that makes software messy is a lack of accountability and the failure of  team members to personally invest themselves in their work. No matter how talented or ingenious an individual is, if team members don’t take personal responsibility for their deliverables, software can get messy very quickly.


How to build beautiful software

After a decade in the consulting business I’ve naturally been drawn into the mentality of an owner.  An owner measures accomplishment by achievement and not the act of producing deliverables. And as a result, an owner is relentless in the completion of tasks.  The best method for ensuring that projects come out beautifully is to be responsive, engaged and for each team member to proudly take ownership of both the big and small details of projects.  To build beautiful software, everyone involved in a project needs to assume the risk and mentality of ownership in order for a project to move forward successfully. This mentality is often the difference between beautiful software and messy development.


The beauty of owning your failures

Like mining for gold, with the great risk of ownership comes the great reward of satisfied clients.  This means that we have to own our failures, not just our successes. This honest and straightforward approach helps us to gain the trust of our clients. An owner is concerned about his or her own accomplishments as well as those of the team. A team that practices ownership  is highly motivated to identify and resolve  roadblocks, mistakes and problems quickly. When everyone working on a project applies a results-oriented focus, distractions become background noise. This focus and commitment makes room for beautiful software.


How to know whether you’re taking ownership

Are you taking ownership of your deliverables? Here are three questions you can ask yourself to see where your head is with regard to ownership:

  1. Am I treating project commitments as personal commitments?
  2. Did I say what I would do and then deliver on it?
  3. Has the expected functionality been documented with specifications, test cases and screen shots so that we can effectively review and communicate that ultimately we have accomplished what we set out to do?

At Marxent Labs, we  practice and encourage the discipline of personal ownership as essential to the software development process. This commitment to ownership is how we’re able to deliver beautiful software every time.