SDLC Methodology

Software Development Life Cycle (SDLC)

A framework that describes the activities performed at each stage of a software development project. It is process of developing software through business needs, analysis, design, implementation and release & maintenance.

Here at SDLC we work on following phases of software development life cycle

  • Feasibility Study
  • Requirement analysis & Specification
  • Quick Designing
  • Build Prototype
  • User Evaluation
  • Functional testing and maintenance

Feasibility Study

We evaluate and analyze the potential of the proposed project by doing Market research, studies to support decision making process. Output of this study gives us a report detailing evaluation criteria, study findings and recommendations.

Planning

Developing project plan, resource planning, deadlines, client meetings and deliverables, staff the project,control and direct the project.

Requirement analysis & Specification

Understanding business needs, who uses system, what will it do, where and when the system will be used, breaking down the system, requirements gathering, writing functional specifications. We create spec to get set of requirements satisfied by product or service.

Design

Determining how will the system works, transforming requirements into system design document, determining functionality of each component in a system, describe set of software features.

Build Prototype

We build prototypes to test concepts & process. Prototyping is done in terms of wireframes, mockups and Interactive User experience techniques.

User Evaluation

Deliverables are reviewed by the client; their feedback is taken regarding projects and if needed then rebuilding of prototype is done.

Scrum Methodology

Agile is a software development method that follows phase wise but incremental software development methods to deliver quality product by analyzing requirements and by providing solution to business problems.

We use agile methodology as follows-

We divide the product into smaller tasks. These tasks are developed into iteration manner. In each iteration all stakeholders work together. Each iteration goes into phases of software development life cycle. In case of issues, tester discuss with developer for the purpose of solving those issues. Tester retests issues, once resolved by developer. At the end of the iteration product is demonstrated to senior stakeholders

For projects that involves more complex and dynamically changing requirements and also which involving lot of client collaboration we suggest clients to use agile methodology. Our clients are involved in each step of every process to make sure that product meet their needs Agile process makes us able to receive feedback and verify that we are building the right solution. We use Scrum methodology of Agile and our model is as follows:

At SDLC we follow Scrum methodology of agile process which allows us to focus on delivering the highest value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). Our team manages to determine the best way to deliver highest priority features.

Scrum framework and our role

  • Roles that we offer in Scrum methodology: Product Owner, Scrum Master, Team of business analyst, UI designer and Client team
  • Ceremonies: Sprint Planning, Sprint Review, Sprint Retrospective, & Daily scrum meeting
  • Artifacts: Product Backlog, Sprint Backlog and Burn down chart
  • Product Owner:
  • Communicate with client and understand or gather requirements
  • Our product owner knows what needs to be build and in what sequence this should be done
  • They also act as an interface between the customer and their needs on one side and the team on the other side.
  • Also defines the features of the product and prioritize them in every iteration as needed.
  • Scrum Master- Represents management to the project and are responsible for enacting scrum values & practices. Here main focus is to remove impediments.
  • Team- We have a self organizing cross functional team of Quality Assurance, UI designers and functional tester etc.We analyze, design, functional testing, technical communication, functional documentation. Responsible for giving deliverables at the end of each sprint and before start of the sprint.

Meeting

  • Daily Scrum meeting:Daily it is conducted for 15 minutes in which team member and scrum master discuss on what worked done yesterday, what is to be done today and what are obstacles hindering in path of project development.
  • Sprint Review meeting: This meeting is attended by everyone involved in the scrum and software development process. It is conducted at the end of each sprint. During this meeting, the sprint team shows what they achieved during the sprint and the project is checked against sprint goal.
  • Sprint planning meeting: This meeting is held at start of each sprint. Output of this meeting is Sprint Backlog. The sprint backlog contains a list of product backlog items and a list of tasks to deliver those product backlog items. The team agrees with the commitment for the sprint and sprint goal with the product owner.
  • Sprint Retrospective: This meeting occurs at end of each sprint and is attended by the entire team. The team and the Scrum Master meet and look at what went well and what can be improved.

Artifacts

  • Product Backlog: It is a prioritized list of features, containing brief description of functionality desired in the product.Requirements are described using a technique called user stories. Product backlog is in flux and can be changed as per the project needs.
  • Sprint Backlog: During sprint planning meeting, the team divides the product backlog items into the tasks to be completed. Sprint backlog is a list of tasks identified during sprint planning meeting by scrum team.
  • Sprint Goal: It is an agreement between the team and the product owner. Sprint goal helps the team to meet objectives for the sprint.
  • Sprint Burn down: To track how much work is remaining in a sprint backlog, sprint burn down report is reviewed.It is a visual representation in which horizontal axis shows days in a sprint and vertical axis calculates the amount of work that remains to complete.

How process is done?

  • On Day 1 of Sprint 1, Product Owner presents the Product Backlog items from highest priority to lowest priority. Tasks are written on Sprint Task board. Everyone from Scrum team selects task to work on.
  • On Day 2 of Sprint 1, Daily Scrum meeting is conducted. Everyone gives what they have achieved so far, estimation of remaining hours and if there are any impediments. The Scrum Master updates the Sprint Burn down report. Like this Daily Scrum meeting goes on.
  • On Day 28 of Sprint 1, Sprint Review meeting is held. In this meeting, product is checked against expectations.In the afternoon session, Sprint Retrospective meeting is conducted. In this meeting, what went well and what can be improved is discussed.
  • Product owner calls for second Sprint Planning meeting.
  • On day 1 of Sprint 2, Product owner add the new features discussed with the customer into the Product Backlog list.Product Owner invites Second Sprint Planning meeting and second Sprint Begins.