Our consultants are well versed in a variety of software development methodologies. Most of our current experience is with Agile or Lean methodologies but we also practice RUP and more traditional methodologies depending on the environment. In our opinion, Agile or Lean methodologies are more efficient than RUP or the traditional methodologies at implementing new software requirements in a cost effective and qualitative way.
The Agile Software Development Manifesto values the following:
o Individuals and interactions over processes and tools
o Working software over comprehensive documentation
o Customer collaboration over contract negotiation
o Responding to change over following a plan
While there is value in the items on the right, we value the items on the left more.
Agile/Lean
We start by building a list of stories the business wants the software to do. Then we rank or priorities the stories in order of business importance. Once ranked, we form teams of software engineers and business experts to describe the stories in greater detail. It's important that all team member understand the story purpose, goal or objective, as well as the process, work-flow or navigation flow envisioned by the business and design experts. The goal of the initial meetings between the business experts and the software engineers is to provide estimates associated with implementing the story or stories.
Once the estimation process is complete and the stories are reprioritized based on the estimates, we begin the iteration planning sessions for the stories that fit into the first development sprint or iteration given the available software engineering capacity. The purpose of these iteration or sprint planning meetings are for refining the details of the story and the tasks that need to be completed by the engineers to make the story a business success. The stories become the requirements of the work effort or software development iteration. The stories are grouped logically based on related themes and then broken up into manageable software engineer tasks of about 8 hour units.