Justin York – Simdesk

“Del's leadership was instrumental in bringing agile methodologies to our development team. While transitioning to scrum, I often consulted with Del about how to handle things in the scrum framework. Once our team was fully running on scrum, I felt that we were at least twice as productive as we had been in the past.”

Matt Willson – Pervasive Software

“As Delmar's manager for over a year, I was very impressed with the simplicity of his designs, the quality of his software, and the tenacity he brought to problem solving, especially customer issues. Delmar provided strong leadership for the developers who worked under his tutelage.”

Steve Mook – Pervasive Software and Simdesk

"Del is experienced,enthusiastic and tenacious - an excellent team lead with expertise in UI design and development and Scrum project management. He is willing to learn new technologies, challenge assumptions, take risks, and be accountable for results. His skill and leadership would benefit any team that seeks to improve its ability to deliver value to customers and to the business."
Feb
03

Definition of Done – How to ensure quality in a product

By Delmar Hager

Agile requires a change in our mindset in regards to quality. We all have given lip service to quality but are we really ready to make a commitment to quality. As usual Agile concepts are simple but hard to implement.

Quality starts first of all with the backlog. The customer’s highest priority user story is what is developed first. A quality product must first meet the customer’s expectation of what is important.

We will make the assumption that we have chosen the top priority user stories for a  sprint. How do we decide when we have finished the user story and it is ready to presented to the “world”.

There are three major areas of acceptance:

1.       Code quality

2.       Functionality

3.       Presentation (usability)

1. Code quality

a)      Is the design reasonable?

b)      Is the user story testable?

c)       Is the code well written?

d)      Have we followed a consistent data model?

e)      Are we following the best practices?

2. Functionality

a)      Is the code unit tested?

b)      Is the test data available?

c)       Have we worked on creating test fixtures?

d)      Does it meet the data requirements?

e)      Does it meet the logic requirements?

f)       Have we automated our testing?

3. Presentation (usability)

a)      Is the layout correct?

b)      Are all of the UI assets in place?

c)       Are all of the interaction components working properly?

d)      Is the data displayed correctly?

e)      Are the screens being displayed in the correct order?

f)       Is there valid wording all text fields?

Who is responsible for “signing” off on these acceptance criteria:

1.       Product Owner

2.       Quality assurance developer

3.       User interface designer

4.       The team

We all work together as a team to build the unit tests, automation tests and making sure the presentation in correct. The product owner creates high level acceptance tests. The quality assurance developer assures  the story in testable and creates the function test tasks. The software engineers work with the QA developers when creating the unit tests and automation tests. All during the process the team is working together to make sure the user story is acceptable at all levels.

We should not wait until the end of the sprint to have the quality assurance developers begin their testing. Once a section of code has been develop the QA developer should be consulted to make sure software engineers are meeting the requirements. Once a UI component is finished the user interface designer should be consulted to make sure it meets the requirements.

When all of these acceptance criteria are meet the story is done. It is very important the team does not over commit to the number of user stories that can be completed in the sprint.

The goal is a quality product that we are proud of and an our customers are very pleased with.

Categories : General