PM Assignment 1
PM Assignment 1
Assignment #1
Traditional methodology follows a sequence of steps i.e. first the requirements from the client
is carefully gathered and documented. Then, the architecture of the software is planned,
designed and then actual coding begins. Then comes the various types of testing and the final
deployment.
Agile came about as a solution to the disadvantages of the traditional methodology. Instead of
a sequential design process, the Agile methodology follows an incremental approach.
Developers start off with a simplistic project design, and then begin to work on small modules.
The work on these modules is done in weekly or monthly sprints, and at the end of each sprint,
project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered,
and customer feedback to be incorporated into the design before the next sprint is run.
Agile methodology suggest that the time has come for project managers to adapt their existing
role into that of a scrum master or product owner in order to remain relevant in agile teams.
Project financials
Status reporting
Project governance
Identification of missing roles and/or resources
Business stakeholder communication
Risk communication and management
Project planning
Roles:
In TDD approach both developers and QA use test cases to develop their code and execute test
cases respectively. So, it can be concluded that the major dependency is on test cases. So,
writing test cases that have good coverage of requirements is important for making TDD
successful.
Beginner Level Tester: able to write a unit test prior to writing the corresponding code.
Intermediate Level Tester: able to decompose a compound program feature into a
sequence of several unit tests to be written.
Advance Level Tester: able to "test drive" a variety of design paradigms: object-
oriented, functional, event-drive.
2) Feature Driven Development (FDD)
It is an iterative and incremental software development method that is business requirements-
driven and emphasizes quality through the process with a timely, accurate and meaningful
status reporting and progress tracking for all levels of leadership.
It consists of five stages:
Roles
Project Manager
Chief Architect
Development Manager
System Administrator
Release Manager
Testers
Deployers
Technical Writer
3) Extreme Programming
Pair programming: two programmers, sitting side by side, at the same machine. This practice
ensures that all production code is reviewed by at least one other programmer, and results in
better design, better testing, and better code.
Roles
The driver (or less commonly pilot) has hands on with the keyboard and is right there,
banging out the code.
The navigator (or observer) is sitting alongside with the reference documents making
sure the code is going the right way.
4) Scrum
It is a subset of Agile. It is a lightweight process framework for agile development, and the most
widely-used one.
The Scrum process framework requires the use of development cycles called Sprints. Sprints are
basically fix length iterations which consist of sprint planning, daily stand-up, sprint demo and
sprint retrospective.
It is lightweight, the overhead of the process is kept as small as possible, to maximize the
amount of productive time available for getting useful work done.
Roles