Project Management
SCRUM: At Congruent we follow SCRUM process. This is a lightweight process
used to manage and control software product development using iterative and incremental
practices. SCRUM is one of the most popular agile methods because it significantly
increases productivity and saves time. It ensures the best possible software to
be constructed from available resources with acceptable quality on required release
dates.
Lifecycle of a SCRUM is organized by brief development iterations called Sprints.
SCRUM closely synchronizes software requirements with a series of iterative prototypes.
Software product development involves a considerable degree of bedlam in the form
of uncertainty and unpredictable behavior. The backbone of the SCRUM projects is
controlled by establishing, maintaining and monitoring key control parameters.
The use of e-SCRUM templates in Team Foundation Server has helped us to follow
SCRUM in a more structured and efficient manner ensuring quality of the software
and productivity of the team is at its best. The reports developed in Team Foundation
Server helps us in monitoring the key control parameters.
TDD – Test Driven Development
Test-Driven Development (TDD) is an evolutionary approach of development which combines
Test-First Development where you first write the test cases, before you write just enough production code
to fulfill that test and refactoring. A key TDD concept is that preparing test cases
before coding facilitates rapid feedback changes.
At Congruent we combine our SCRUM process with TDD. The testers write test cases
(manual / automated) before development and share it with the developers. The automated
unit tests are created in Visual Studio and integrated along with the build. After
the development of the code, the developer shall walk through / execute the test cases
to ensure that they all pass. TDD ensures that the number of cycles of testing
and the bugs can be effectively reduced when the test cases are created before development
and shared to the development team. The challenge here is to come up with an extensive
list of test cases before the development with as little requirements that have
been specified.
|