Home|MethodologySoftware Development at Aress has adopted the Agile Software Development methodology and uses it effectively depending upon the scope of the project and customer requirements. Adapting to Agile methodology has proved to achieve timely delivery of projects, customer satisfaction and moreover welcomes changes in requirements if needed by the customer, even in the late stages of development.Some of the principles behind the Agile Manifesto
Customer satisfaction by rapid, continuous delivery of useful software
Working software is delivered frequently (weeks rather than months)
Working software is the principal measure of progress
Even late changes in requirements are welcomed
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Continuous attention to technical excellence and good design
Simplicity
Self-organizing teams
Regular adaptation to changing circumstance
Feature Driven Development (FDD)
(FDD) is an iterative and incremental software development process. It is one of a number of Agile methods
for developing software.FDD describes five basic activities that are within the software development process:
1Develop Overall Model
Requirements Analysis and documentation of those
Seek approval of the analysis from the client
Define system detailed workflows and documentation of those
Seek approval from client on the workflows defined
Design the system prototypes (screen designs using HTML wireframes)
Seek approval from the client for those
Database design
2Build Feature List
Decompose the requirements/workflows defined into subject areas
Subject areas would each contain business activities
Steps within these business activities would form the categorized feature list.
3Plan By Feature
Produce a development plan
Ordering and assigning features to software developers
4Design by Feature
Selection of group of features that are to be developed within 2 weeks
Detailed sequence diagram for each feature
Class and method prologues are written
5Build by Feature
Programmers develop the actual code for their classes
After unit test and a successful code inspection by QA team
Completed features are submitted to review by client
Some of the principles behind the Agile Manifesto
Agile is an iterative and incremental (evolutionary) approach to software product development which is performed in a highly collaborative manner by self-organizing teams with "just enough" ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.