Our Agile Process
In software development, the term "agile" is used to mean a lean
process which allows teams to quickly adapt to changes. Our custom
agile process is one derived from a mixture of two agile models:
Scrum and Extreme Programming.
Scrum is all about setting quick, weekly goals and accomplishing
them as quickly as possible through teamwork, collaboration, and
communication. The team works a week at a time accomplishing the
highest priority tasks of the week; not the top priority when the
project was started months ago.
Extreme programming (XP) is designed to maintain software
quality while responding quickly and effectively to changing
requirements. This methodology values Simplicity, Communication,
Feedback, Courage, and Respect.
Embracing Change
Our entire process is all about embracing change. Change is
inevitable in all software projects. Priorities should shift
quickly and easily depending on the direction that things must go.
By standing together and tackling challenges as they arise, agile
teams are able to keep projects on task.
Test-Driven-Development and Continuous
Integration keep a safety net on the project. Automated
tests that run every time someone integrates their work with the
project prevent regressions from occurring.
Accurate Requirements are maintained by making
requirement decisions at the latest possible moment instead of
months in advance.
Frequent Releases keep risk to a minimum by
allowing changes to happen gradually instead of all at once.
Communication Is Key
Any successful project is thriving through the communication of
all involved individuals. By integrating practices focused on
building strong communication an agile team is able to tackle even
the toughest of software projects.
Pair Programming keeps the whole team mixing
and sharing information about the project, so everyone has an
understanding of the bigger picture.
Daily Standups get everyone on the same page.
Nothing is left unhandled, and everyone knows what everyone else
has and will be working on.
Having a Co-located Team keeps everyone working
together towards the success of the project.
Face-to-Face communication is the best way to
discuss anything. Some teams try to communicate using messaging
clients and telephones, but there is no substitute for being able
to sit down and work through challenges as a team.
Focus on Feedback
Teams should give and receive feedback constantly during any
project.
Weekly Customer Reviews bring everyone together
including the customers to review how things are going and to
decide the next week's direction for the project.
Weekly Team Retrospectives give the development
team time to reflect on what went well and what could be improved
the next week, keeping the team focusing on improving their methods
and practices constantly.
To discuss our process more deeply and see if it is the
right fit for your custom software development or
training/mentoring needs, ask us for a quote or give us a call
toll-free: 888-364-3364.