Archive

Archive for the ‘Agile Development’ Category

Public sprint demo

September 28th, 2009

Imagine that your team is developing product for some market. There is no specific customer yet, so product owner is an internal product manager. And at some point you realize that there is lots of functionality, but from user’s point of view it just doesn’t work at all – bug here, bug there, small, but very important piece of functionality is not implemented because team is comfortable adding data via database. Product owner expresses his concerns from time to time, but it doesn’t help. Developing first version of product is quite difficult task and team loses its enthusiasm as they don’t see real customer. End quality is decreasing. What to do?

In Scrum there is a concept of sprint demo – meeting, when new version is shown to customer (product owner). Usually it is held privately – the team, product owner and possibly some stakeholders. Making sprint demo public is neither prohibited nor promoted by “best practices”.

Public sprint demo can provide the company and the team with several advantages:

  • Awareness of public presentation (especially to peers) creates stronger commitment
  • Awareness of public presentation makes the team think about usage from user point of view – they have to demonstrate it to the public
  • It leads to more stable product – nobody wants to demonstrate how unstable the product is in front of peers
  • Public presentation makes other people aware of what is going on therefore increases transparency and unites company
  • Public sprint demo allows the team to show off their achievements therefore increasing satisfaction
  • It increases presentation skills of the team, makes them used to public attention
  • Attendees can give valuable feedback on the product
  • Successful public sprint demo gives the team strong feeling of great achievement

Read more…

Categories: Agile Development Tags:

Quality assurance

June 15th, 2009

Software quality assurance is usually understood as ensuring that a process is adhered to. But does just following a process guarantee sufficient quality? Perhaps, if a process contains focus on quality and means to maintain it. And there are right people.

Of course, theorists would say that a process guarantees quality, that all problems are caused by violation of procedures or the project is “wrong” or all mistakes because of people not of the process. But in reality people are the most important part of success and even thorough formal adherence to the process can result into failure. Therefore software quality assurance is a misleading term. It doesn’t ensure quality of a product; it merely ensures compliance with the process.

Let’s focus on ensuring quality of a product, not just adherence to a process. Quality can be controlled or it can be built into the process of product’s creation. These approaches complement each other. If there is only control then a company will have to spend much resource on rework of low-quality stuff, if there is no control at all then risk of producing a product of inadequate quality is higher.

To increase quality the team can use some tools and techniques. It’s important to assure that we know what is to be built, how to build it properly and how to test that a product built is what the customer needs.

Quality assurance is quite a big topic. There is lots of information about each of tools mentioned below; this article is aimed at providing brief overview. Bearing in mind focus on quality one should pay attention to at least the following areas:

  • Requirements gathering and analysis
  • Development
  • Preventing problems in the future

Read more…

Retrospective as a way to get better

May 19th, 2009

Retrospective is one of the most ignorable practices from agile processes. Why people don’t use retrospective? Mostly they don’t see the value yet they see difficulties that it causes.

No doubt any practice which provides no value should be cancelled. But some practices provide long-term value which some people don’t take into consideration.

Some obvious goals of retrospective:

  • Gather feedback
  • Improve situation using gathered data

Unfortunately it is not so easy. Main problems are:

  • Insincere atmosphere prevents useful and thorough feedback, in such team (or even entire organization) retrospective can transform into “witch hunting”.
  • Team members don’t take into account long-term benefits of retrospective, they look only for short-term ones, and stop conducting retrospective very quickly (or even don’t start)
  • Improperly organized retrospective without clear goals produces no real results, it’s a waste of time

There are several important hidden advantages which outweigh potential problems:

  • Such meeting can make the atmosphere more open, because people get used to give and get feedback
  • As soon as project team see that process can be tailored to them company-wide standards meet less resistance (although any standard which usefulness can’t be explained to a team will meet resistance)
  • It can help to improve company-wide processes
  • It helps to react to changes

This article doesn’t cover organization strategy in part of reflection and improvement. It is mostly about how to conduct useful retrospectives. It includes:

  • Benefits from different point of views
  • How to conduct
  • Tools for retrospective
  • Company-wide retrospective

Read more…