SDLC - Agile - Process For Dev
SDLC - Agile - Process For Dev
--------------------------------------------------------------
It is a systematic approach to develop any software application OR products. It starts
from requirement collection & ends with quality deliverables.
Waterfall Model:
-------------------------
- It is a traditional model.
- It is also known as Sequential model OR Linear model
BA Requirement Collection
Requirement freezing
Architect HLD
Design LLD
Dev Coding
Dev/QA
Testing
Dev/QA
Maintenance
Requirement collection:
The BA (Business Analyst) from different company will go to customer location to
gather the requirements after proper feasibility study.
Feasibility study includes:
- Resource availability
- Infrastructure OR Lab
- Profit
The BA will bid & get the project. Initially the Requirements are in the form of CRS/BRS. After
collecting the requirements, they make an agreement with the customer to freeze the Requirements.
Note:
Requirement freezing: means no more new Requirements will be considered for development apart
from the collected ones.
Design Phase:
- Once the SRS is created, it will be shared with Architect.
- The Architect/ Sr. Dev (senior Dev) will go through the SRS & creates a Design Document.
It has 2 types:
Coding Phase:
The Dev will start converting the design into actual software by writing the programing
languages. Once all the design is converted into software, we will move to a testing phase.
Testing Phase:
As waterfall model is a traditional model, the testing was done by developer. Sometimes QA
can also perform testing. During testing if you find any defects it should be informed to Dev.
Once testing is completed & the s/w is defect free, then it will be released to customer.
Deployment Phase:
- It is a process of deploying/Installing the software in the customer location is known as
deployment. The deliverables will be kept in FTP machine.
Note: Deliverables: It means any artifacts which are shared with the customer.
Once the deliverables are placed in FTP machine, we send out a release mail to customer. which
includes following details:
- FTP machine name OR IP address
- Credentials (UN/PWD)
- Location
- Contents
Customer will go through the release mail & install the s/w in staging environment by following
Installation Guide doc. After installing the s/w customer will perform one round of testing which is
known as User Acceptance Testing (UAT). If UAT goes fine the same software will be moved to
PROD or production environment.
Maintenance:
As per the agreement the company will provide support to the customer for a given period of time.
Assignments:
Spiral model:
-------------------
It is also known as Iterative & incremental model.
1. Requirement Phase:
BA (Business Analyst) from different companies goes to customer location to collect the
requirements after proper feasibility study. They bid and get the requirements. Initially
requirements are in the form of CRS/BRS. BA will convert the CRS into SRS. If required FS
also.
2. Design Phase:
Once SRS is ready it will share with Architect. The architect will start converting SRS into
design document.
3. Coding phase:
The developer will start converting the design into actual software by writing the
programming languages. Once all the design is converted into software, it is given to tester
for testing purpose.
4. Testing phase:
Once the build (software) is ready it will be given to tester/Dev for testing purpose.
Once the testing is over & the software is defect free, it will give to the customer through
deployment process.
Note:
- The duration of each iteration in spiral model ranges from 6 months to 2 years.
- They collect the new set of requirements hence second Iteration OR subsequent iterations will
start.
- Any Production OR PROD issues will be addressed through patch/hot fixes OR Updates
Note:
(a) What is patch/hot fix?
Ans: It is a piece of code which can fix the existing issues in the software.
(c) When testing iteration 2, do we need to test the iteration 1 features as well?
Ans: Yes, it is done through regression (testing the old features of an application) testing.
(d) What if the problem is too big that the patch/hot fix is not enough to address the issue?
Ans: It is a rare OR never happening scenario. If in case it takes place then we need to stop the new
iteration & redo the current iteration only & then release to the market.
OR
They stop the current version and immediately come up with new updated version to the market.
Ex: VISTA OS---> Window8 and later window 10
Agile process
- User stories collection (Requirements)
- Agile team formation
- Sprint planning
- Product backlog review
- Sprint kick-off meeting
- Sprint
(a) Daily Scrum meeting OR Daily Standup meeting
(b) Implementations OR Coding
(c) Unit Testing OR White Box Testing
(d) Review
(e) Testing
(f) Release
- Sprint Review OR Sprint Retrospect meeting
- Next Sprint
Sprint: It is a total duration period of time in which all the selected user stories (US) are developed is
known as Sprint.
Sprint Window: A fixed duration for the sprints. Usually, it will be 3 weeks.
• It is a process of identifying the feature/User stories/fixes which are part of the current sprint.
• It may include new user stories, Defects from the previous sprint, the user stories pending
from the last sprint etc.
QA checklist:
- Documentation is ready (Test case & Test plan)
- Risk outlined and understood
- Preparation for the QA activities
Dev checklist:
- Design understood
- Ready with plan and documentation etc
Note: ScrumMaster will share the meeting details with all the stake holders
6. Sprint:
• All the scrum team members will attend the Daily scrum meeting OR Daily standup meeting.
• This meeting should be completed within 15-20 min.
The following things will be discussed by the individuals during the Daily Scrum meeting:
- What we have done yesterday
- What we are going to do today
- Any challenges OR impediments OR Crux
After the meeting QA goes to their desk, write/update the test cases as per the discussion.
Once the test cases are written, it should undergo review process. In Agile BA, Dev will
involve in the review meetings along with the QA.
QA has to talk to BA & Dev, get their availability & setup a review meeting with them. After
the review, the QA has to fix all the review comments, Baseline the test cases and store them
in test case repository. (It is a centralized place in which the test cases are stored is k.a., Test
case repository).
Once Dev completes the coding for the discussed features, they will create a build & give to
QA for testing purpose along with Release Note (RN) doc.
The same process will be repeated for the next subsequent days until all the sprint features are
developed and tested. (Usually 3 weeks)
Note: consolidated Test execution report: it is the collective or set of all the test cases which are
executed, in that how many will passed, failed and any blockers etc is k.a consolidated Test execution
report
• Once the sprint is completely developed and tested, we will perform deployment process OR
release the s/w to the customer.
• After the release of the software, all the agile team members will perform a Sprint Review OR
Sprint retrospect meeting.
During Sprint review meeting all the individuals should talk about following things:
- what are the best practices we have followed
- Any process which requires improvement.
- Any challenges faced and how did you overcome.
- Any suggestions
The SM will document the retrospect discussions. So that the documentation will act as a base for
the next upcoming sprints.
After completion of Sprint 1 we may perform product backlog review & Sprint kick-off meetings for
Sprint2. So that the moment Sprint1 completes we are ready for the sprint2 activities.
In Sprint2/subsequent sprints we can have new features, defects from previous sprint, backlog from
previous sprint etc.
Recommended Practices:
Development:
- TDD - Test Driven Development
- Weekly Code Reviews for critical fixes with the Agile team (including QA).
QA:
- Review of Risk analysis with the Agile team.
- Review of test coverage/plan with the Agile team.
- Discuss all critical defects found, at the earliest, with the Agile team, and with stake holders
Note:
a) It is highly desirable to have automated test cases both at unit level (Dev) and at system level (QA).
This helps in becoming agile.
Advantages OR Principles of Agile:
Dis-Advantages:
- it is not useful for small development projects.
- There is a lack of intensity on necessary designing and documentation.
- It requires an expert project member to take crucial decisions in the meeting.
- cost of agile development methodology is slightly more as compared to other development
methodology.
- The project can quickly go out off track if the project manager is not clear about requirements
and what outcome he/she wants.
Q&A
4. What is SCRUM?
Ans: Scrum is a development phase. It defines "It is an iterative and incremental approach of
developing a s/w product"
2. After the DSM, QA goes to his desk update/write the test cases. Once done it should under go
review process. In agile review should be done F2F. Hence QA will setup a meeting with Dev & BA.
3. After review, fix all the review comments, baseline the test cases and store them in Test case
repository
4. When build comes select and execute the test cases against the build based on the Build scope.
During execution we perform Manual execution (wherever required) and automation execution as
well.
5. If you find any defects, log the defect against dev in a defect tracking tool
6. Finally prepare a consolidated test execution report.
Similarly multiple builds can happen in every sprint until all the sprint features are implemented.