Anyone who is familiar with software development is also knowledgeable
about the Software Development Life Cycle (SDLC) and/or the Waterfall software
development process. These methods seem
to be tried and true in the software community but with all things involving technologies
this is beginning to change. The newest
kid on the block is a method called Agile.
There are many different types of Agile mythologies such as:
- Extreme Programming
- Kanban
- Scrum
- Lean
- Continuous Integration
Some organizations even mix a few different types of Agile
to better suit their needs. No matter
which type of Agile methodology an organization chooses they are looking for a
few common features:
- Ability to change requirements late in development
- Working software sooner and more frequently
- Self-organizing teams, no micro-managing
- Frequent face-to-face conversations
- Close relationships between developers and business managers
These are just a few of the reasons organizations will
choose to try an Agile method over the traditional waterfall approach.
For now I would like to focus on the Scrum framework because
this is one of the most popular of the Agile Methodologies. The teams in Scrum are called Scrum teams and
they are comprised of 3 main roles.
The first role is a Product Owner and this role is usually
held by just one person in the team. The
Product Owner is the voice of the customer and is responsible for the
deliverable.
The next member is the Scrum Master which is usually held by
one team member. This person is
responsible for removing any impediments to the team’s goals. These impediments could be lack of resources,
miscommunications and other issues that distract from team progress.
The final members are the team which is typically 2-12
people. These people are responsible for
the actual work that gets done. These
members can be involved in design, development, testing, documentation,
etc.
This is the typical structure for each team. These teams communicate constantly. One important aspect of the Scrum method is
the daily stand-up meetings. These
meetings should be held by each individual team and should only last about 15
minutes or less. Members will state what
they have accomplished since the meeting 24 hours ago and what they plan to
accomplish within the next 24 hours and finally if they have any impediments or
issues standing in their way. This helps
everyone understand what others are working on so productivity can
increase.
There are other meetings held during each iteration for
planning and improvement reasons but this is the main structure of the Scrum
Agile software development methodology.
In later blog posts I will state some of the pros and cons of the Scrum
team methodology.
Posted by: Leslie P
Posted by: Leslie P