Skip to content

Recent Articles


Scrum Values: Predictability

As Scrum becomes ever-so-popular among software development teams, some people may actually wonder why. Certainly increased productivity and improved quality are on the list, but predictability is a huge benefit that is often over-looked. Whether your product development is driven by schedule, scope, or budget, being able to accurately and consistently predict when a set of features will be done is often critical to a successful product launch. And considering how often Waterfall projects miss their mark, it should be no surprise why Scrum has been so successful (when done correctly). Read more »


A Dozen Ways to Fail at Scrum

Scrum provides a process framework to help realize the benefits of Agile principles. The value of Scrum has been demonstrated many times, on numerous projects, throughout various industries. It is a fairly simple and straightforward set of practices and guidelines that will (usually) result in greater adaptability to change, improved productivity, high quality products, and happier customers (over waterfall methods). Read more »


What makes a good ScrumMaster?

The role of a Scrum Master requires skills in a variety of disciplines. But for starters, good soft skills are a must. A good Scrum Master must be able to communicate effectively and be able to relate well to all team members. He/She must be able to influence others and constantly sell the value Scrum to team members and other stakeholders. Everyone has an opinion on how Agile principles should be applied and Read more »


Scrum Values: Visibility

One value of Scrum that is often overlooked is visibility, which actually enables critical Scrum practices. Visibility is realized by communicating project status to all stakeholders, which includes the status of individual and team commitments, impediments, progress, along with other project metrics and indicators. Scrum is based on empirical process methods, which demands process transparency to enable inspection and adaption at all stages of development. Read more »


Conducting Effective One-on-Ones

As a manager, you are faced with a variety of responsibilities and expectations, from above your position and below, that need to be fulfilled every day. Through all the challenges and roadblocks, you need to drive your team(s) to deliver results while retaining and growing your team members. But if you don’t have good relationships with your people, you will struggle to achieve these goals.

Read more »


Adding Spikes to Gain Knowledge

Planning an Agile project can be rather simple when all is known. When the market is predictable, requirements are clear, the technology is well understood, and the team is experienced in using all of the required tools, there isn’t much research required to complete a project. But for those times when all of the stars are not aligned and (God forbid) there is something the team does not fully understand, the team will need to dedicate some time to investigation or experimentation in order to complete the project. Read more »


Scrum Methods: Defining the User Role

Software development teams new to Scrum often struggle with writing user stories.  And the biggest challenge is usually incurred right from the beginning; defining the user role.  While this can be challenging in any type of development, it is especially difficult in systems development.  Defining the user roles for application software is fairly straightforward, but user roles for systems software is often more complicated. Read more »


Scrum Methods: User Story Authorship

Scrum is not just a change in methodology; it is a change in culture. It is not simply a practice of iterative development; it embraces the principles defined in the Agile Manifesto and places the customer at the center of product development. For organizations that adhere to Agile practices, their highest priority is to satisfy the customer through early and continuous delivery of valuable software.1 Read more »


Planning for Failure

Quality software is built around the expectation of failure. To deliver reliable software, you must always plan on things breaking. In designing and building software for critical systems, such as air traffic control or nuclear power plants, runtime reliability is absolutely critical. And while human life may not hang in the balance of a business application, the life of the business may. Read more »