Netserv Process and Methodology
TDD: Test Driven Development
- TDD is a powerful way to produce well designed code with fewer defects
- The best way to write a code is to shape it from the beginning with tests
- Fewer defects = lesser debugging, more confidence, better design & higher productivity
Step A : Test First Design (TFD)
- Create a Test Case and create a code small enough to fail the test
- Next, run the test to ensure it fails
- Update the functional code to make it pass the test case
- If it fails update/fix the code to pass the tests
Step B : Refactoring
- Refactor any duplication out of design turning TFD into TDD
TDD = TFD + Refactoring
A TDD team (SDU - Software Development Unit) has many responsibilities and is characterized by the following attributes:
- An exhaustive suite of test scripts are maintained in a centralized test management repository as development progresses
- No code goes into production unless it is associated with tests and test results
- The test is written before the code first and for the smallest possible unit of functionality
- A test case is passed along with the generated code
- The tests determine what code is written
- Users are involved in writing test scripts and they thus become the development specifications
- TDD tests are by definition unit level tests that exercise code across object boundaries in many cases
- Developers test method by method of each class as it is constructed
- All test cases that can be automated should be, using a Unit Testing Framework (UTF) that helps the team in creating, executing and managing the process – this also aids regression testing that must be performed
Agile Methodology & Lean Software Development
Agile Software Development is a style of Software development characterized by an emphasis on people, communication, working software and responding to change. Agile engages an iterative workflow made up of short time box iterations. Iterations have many activities like requirements, coding and testing that occur in parallel.
SCRUM:
Like Rugby, SCRUM has the idea of a team huddling to move the ball toward the goal. Unlike Rugby, scrums happen during accidental infarction. In Agile, it is done on a regular basis once every 2 or 4 weeks.
Scrum meetings are self organized with the following participants - Product Owner, Scrum Master and Team Members . Scrum sessions have the following artifacts - Product Backlog, Sprint backlog and release backlog.
LEAN Principles:
At Netserv, we have successfully implemented Agile Methodology thru SCRUM, TDD & Lean Software Development. Netserv has created what are called SDU (Software Development Units). Each SDU follows the SCRUM Sprints , Lean & TDD.
Netserv Scrum Project LifeCycle Process
Netserv Project Release Process