Agile Software Development Methodologies

The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used in software development to help businesses respond to unpredictability. Agile development provides opportunities to assess the direction throughout the development lifecycle. This is achieved through regular cadences of work, known as Sprints or iterations, at the end of which teams must present a potentially shippable product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental”. In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited. When a team stops and re-evaluates the direction of a project every two weeks, there’s time to steer it in another direction.

The software development life cycle is a combination of various processes or methodologies that are being selected for the development of the project depending on the project’s aims and goals. We at Cryptex follow a standard cycle for almost all our projects:

  • Step-1: After receiving project details from client we create a SRS (Software requirements specification) document. The document comprise of all the details we have got about the project, along with the queries we have. This document is then sent to client for approval.
  • Step-2: After receiving approval from the client we freeze the document.
  • Step-3: Once the document is frozen, we create wireframes and send them to clients. Wireframes are a set of images which displays the functional elements of a website or page, typically used for planning a site’s structure and functionality.
  • Step-4: After receiving confirmation from client team planning is done, where developers, testers, team lead and project manager are assigned the project.
  • Step-5: Project is divided in to different modules, time and a milestone is set for every module.
  • Step-7: After receiving approval from the tester, developers start with coding. As the development starts, we share a staging server with the client where he/she can take a direct look on project’s progress status. Here clients can see how their website is being developed and if required can suggest some required changes.
  • Step-8: After the completion of the first module, it undergo testing and bug free module is sent to client. Further, whole of the process starts again for the second module. After the completion of the whole project, all the modules again undergo testing and finally the project is then deployed to client’s server.
  • Step-9: Proper and timely communication with the client is very important, so we use project management tools where clients will get timely update of their project.
  • Step-10: Further, if any enhancement or change request comes we work on that as well.