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."

Archive for General

Mar
01

Sit with the team

Posted by: Delmar Hager | Comments (0)

Teams are core to agile practices and a ScrumMaster plays a critical role in optimizing team execution. One of the common impediments that interfers with this is the team work area or lack thereof. Without a common workarea it is very difficult to really understand what is going on with a team. The daily standups are a very inadequate way of tracking team progress. So much more is learned when you hear the intra-team discussions. It is these informal times expose what is really going one with a team.

We as ScrumMaster need to keep in continuous touch with the team. It is imperative that we sit with our teams as much as possible. This is the only effective way you can be an effective gate keeper.

Categories : General
Comments (0)

Teams are powerful entities. They are much more powerful then just a group of individuals. This in itself can be a major deterrent in changing the culture. Once a team is formed, stays together for six or more months and becomes self-organizing it can become very influential.

It is very difficult for managers to ignore the requests of the team especially when it is very productive and working toward the corporate goals. It is interesting that teams usually request changes that will make them more productive. These changes such as a team work area, change in performance review procedures, setting goals and self-governance are actually better for the company.

But all of this runs contrary to most companies management hierarchy. How does one manage a self-organized work team? You don’t!  Good teams need to be guided to where they should be going. The manager needs to make sure they do not go off track and provide the best environment for the team to excel. This leadership is very important for a team to function at optimal levels.

Categories : General
Comments (0)

Does a company really believe that is team is more productive than individual contributors? Take a look at the how a company does performance reviews and compensation.

Most performance reviews focus on how the individual performed in the last year. After the review the individual is informed as to what their new compensation with be. Very little is considered about the team they are working on. The following are some of the issues this causes for a team:

  1. The individual’s performance is more important than the team’s performance.
  2. Individuals feel reluctant to share their knowledge with the team.
  3. The team is not rewarded for performing well.

In most companies the culture is based on the individual not the team. So the individual is concerned that they will not receive the appropriate recognition if contributing to the success of a team.

Categories : General
Comments (0)
Feb
08

Team Building and Focus

Posted by: Delmar Hager | Comments (0)

When there is a lack of focus this is a lack of teamwork. When each developer has other projects to work on they are not working together.

In an Agile team it is critical that each member has the same vision and goal. Unless the team is first the team will not succeed. When team members are more concerned about their own individual gaols instead of team goals you have lost the team focus.

Unless we can all capture the same vision we will fail. Oh, we may get a product out the door but will it be the best product we could have produced if we were focus.

In order to produce quality team work  and capture the vision we have to spend quantity time together. This means working side by side with each other for hours a day. Time spent together ends up creating a team works together well an helps keep them focused on the vision.

Categories : General, Work
Comments (0)

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
Comments (0)

Companies seem to want to increase productivity of their workers by making sure they are fully utilized by putting developers on multiple projects and forcing them to multi-task. Manager fear “down” time for their directs. But is it wise to schedule 100% of an employee’s time?

What are the perceived benefits of multitasking:

  1. A developer will always have a task to work on.
  2. More projects can be staffed.
  3. More development hours are recorded against projects.

But are benefits producing a good return on investment? Let’s look at each one of these benefits.

1. A developer will always have a task to work on

Every time one changes tasks especially on another project there is a problem of context switching. First one must take the task they are working on and save the information that is needed to work on it in the future. When starting a new task, previous information about the new task must be gathered and the task started. This may create considerable overhead with large tasks in different projects.

Also, a developer may choose tasks that are “easier” to do and avoid project critical tasks when making a switch. This makes them look more productive because tasks are getting done.

2. More projects can be staffed

It does look like company resources are be used more efficiently because more hours can be allocated. But are these really productive hours?

3. More development hours are recorded against projects.

We can all look busy but are we really productive.

One of the foundations of Scrum is that the team is able to focus on a project for a sprint.  This quote is from Scaling Lean and Agile Development page 142:

Do your job. Focus all your efforts and skills on doing the work that you’ve committed to doing. Don’t worry about anything else. In Scrum, work is not arbitrarily forced on people, and work cannot be added during the iteration. Nor is there any multitasking or distraction, because each team is 100 percent committed to the set of small achievable items chosen for the short iteration. There is no partial allocation on different projects; partial allocation means partial results. Each person’s time is 100 percent allocated to the goals of the iteration for the product. This provides the foundation for the focus and reduction in multitasking that leads to quick delivery and productivity

When a team can focus on a single goal they will be more productive. Assigning team members to multiple projects is a sure way of decreasing productivity.

Categories : General
Comments (0)

When doing sizing with story points people will get hung up on the details. They want all of the acceptance test requirements understood. The beauty of story points is that they have no units of time associated with them. We are just look at relative complexity compare to other stories in our back log. So if each story is at the same level of understanding it all works out.

It is not necessary to do detailed acceptance criteria before sizing. The acceptance criteria should be very general. Such as what is the expected result and what are critical negative cases. We do not need to deal with the wireframes or UI at this time. This will be done during the iteration planning. Here is an example from the a team backlog:

Confirm - Email - Indicate email not listed

As an agent, I want the system to provide an option, so that I can indicate that the email that the customer wants to confirm is not listed.

Acceptance:

Expected: Agent enters an email that has not been previously used and the system indicates the email can be confirmed.

Negative: Agent enters a email that is in the system and the system indicates the email cannot be confirmed for the customer.

Categories : General, Uncategorized
Comments (0)
Jan
27

Team Work

Posted by: Delmar Hager | Comments (0)

Agile relies on self organized teams. But most of us do not really understand what it means to work on such a team. The model I see most often is that the ScrumMaster or the Technical Lead will take control of the team.

I have seen one team where the ScrumMaster actually created all of the tasks for a sprint and assigned members of the team to work on these tasks. In other cases the technical lead controlled what tasks are created and made sure the team know who are working on the tasks.

I know that each team members may have special skills and it makes sense that they are the best choice but in doing this we loose the value of the team. A team functions best when we share knowledge with each other. It is great when you have a team in which members will help each other even if they are not the expert in the field. Also, a team protects itself when the knowledge is distributed among the team.

As team members we should be willing to learn new technologies. Also, team is more efficient because there is no “down” time.

When a team creates the tasks they are going to do in a sprint they assume ownership of those tasks. They have created the tasks and will be more likely to see that they get finished.

Categories : General
Comments (0)
Mar
12

Self organizing as a team

Posted by: Delmar Hager | Comments (0)

Have we paralyzed our workers so they do not have any initiative? I recently started forming a new team and ran into several issues. We defined a product backlog and tasks to be done in this sprint. When the planning was finished the tasks that an engineer thought he was going to work on were removed from the sprint. Mind you there is enough work to do in this sprint to keep the team busy. This engineer though he had nothing to do because his tasks were removed. Then the resource manager was upset because they had put the member on the team and they had nothing to do.

This is prime example of the individual not thinking as a team member. This individual must realize they are a member of a team whose goal is to produce a successful product. We need to adjust to the needs of the team.

Categories : Agile, General, Scrum, Work
Comments (0)
Feb
24

What are you reading today?

Posted by: Delmar Hager | Comments (0)

I have alway stressed continuous learning. The constant comment from people who know me is how large my library is. I guess I got this from my father who was constantly purchasing and reading books. Because technical books are outdated so quickly I constantly removing old books from the library. A couple of years ago I joined http://my.safaribooksonline.com/ . This has been a great resource for technical and business books realated to technology. I am no longer filling by books shelves. It helps having a tablet pc because it make reading online more natural.

Today I ran accross an excellent book, 97 Things Every Software Architect Should Know, 1st Edition. I highly recommend this book. It is easy reading but one of those books filled with axioms that we need to reminded of all of the time.

The first maxim is “Don’t Put Your Resume Ahead of the Requirements”. How often do we want to use a new technology because it will look good on our resume?

There are 96 more to go. You may disagree with what these experts are saying but they are thought provoking. Take a look at this book.

Categories : Agile, General
Comments (0)