Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Agile Software Development

Agile Software development is about fast delivery of software with more ease of development. Classically, “Agile software development is a style of software development that emphasizes customer satisfaction through continuous delivery of functional software”.

Key Features of Agile Software Development:
– Iterative: Entire application is distributed in incremental units called as iteration. Development time of each iteration is small (couple of weeks), fixed and strictly adhered to. Every Iteration is a mini increment of the functionality and is build on top of previous iteration.
– Active Customer involvement: There is lot of client involvement and face-to-face interaction. Every iteration is tested and approved by client. The feedback obtained is implemented in subsequent iterations; thus minimizing risk and ensuring higher client satisfaction.
– Feature driven: More emphasis is on providing the required features in the application.
– Fixed Time: Each iteration has a fixed time span in which it is delivered.
– Priority based delivery: Features are prioritized depending on customer need, development risk etc.
– Adaptive: The methodology in general is very adaptive, so that the application that is developed can cater to inflow of new requirements throughout its development.
– Empowered Teams: The project teams are generally small and have lot of interaction and communication. Since entire team is actively involved, team is empowered to take decisions. No separate team to manage project.
– People Centric: More emphasis is on using the adequately skilled people to do the development than on following the processes.
– Rapid development.
– More disciplined: Being rapid, everything has to be delivered correctly first time.
– Simplicity: Emphasis is on keeping things as simple as possible and being open to change.

Using Agile :
Some of the artifacts that can be used while doing Agile planning, estimation & designing are:
– Domain Model: Domain Model can provide and overview of sample entities involved in the application and their interactions with each other.
– UI Prototype: User Interface Prototype can be created while designing the sample screens. UI prototype can be as simple as screen layouts drawn whiteboard.
– Story Board: Story board depicts the application flow between the screens. It can also be called UI Flow Diagram.
– User Stories: User Stories are simple statements using which user can tell the features needed in the application. They are the system requirements in user’s words.
– Release Plan: After prioritizing the user stories, a release plan will be decided which would include the number of iterations, features to be included in a Iteration.
– Story point Estimate: To estimate the efforts needed for providing the functionality, story points may be allocated against each user story. The story point would indicate the relative complexity of the user stories.
– CRC Card : CRC cards indicate the details of Classes, their Responsibilities and their Collaborations with other classes.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>