Measures of Central Tendency: Mean, Median and Mode
Jharna Software
1. SQM Assignment 2 Submitted By: Jai Ganesh Girinathan
1) What are the differences between plan-based and agile software development methods?
Discuss the conditions that favor plan-based or agile software development methods.
Some of the major differences between the two methodologies and the favorable conditions are listed
below:
Plan Based Method Agile Method
1. Sequential phase-wise development. 1. Incremental, parallel and iterative development.
2. Predictive in nature. Low tolerance for 2. Adaptive in nature. Accommodates requirement
requirement volatility. volatility.
3. Process Oriented. Focus on well formed 3. People Oriented. Focus on people’s expertise and
practices. competency. Focus on mutual trust.
4. Stakeholders are involved in the initial stages 4. Stakeholders are continuously involved to provide
(requirements gathering) and during final and drive the developed software throughout the
stage (software acceptance) of the lifecycle. lifecycle so as to meet their current requirements.
The product release is a big-bang. The product release is iterative and incremental.
5. Cost due to change in requirement, bug fixes 5. Cost due to change/bugs is lower and more flatter as
are higher and exponential. they are identified and fixed earlier.
6. Specialized teams separated by roles. 6. Self-organized and de-specialized teams
7. Management by command and control. 7. Management by leadership-collaboration.
Centralized decision process. Decentralized decision process.
8. Focus on formal and often less media rich 8. Focus is on frequent direct and media rich channels
channels of communication like of communication like video-conferencing.
documentation, emails. Knowledge sharing is Knowledge sharing is tacit.
explicit.
Favorable Conditions: Favorable Conditions:
a) When project scope & requirements are a) When scope & requirements evolve continuously
stable and can be accurately gathered initially. during the project lifespan.
b) When development can be split into distinct b) When development focuses on features to be
phases comprising of tasks and activities and delivered and there is overlap between phases.
there is no overlap.
c) When teams are co-located or communication is
c) When teams are dispersed i.e., when some instantaneously possible.
form of communication barrier exists. When
team size is big. d) When teams can adapt quickly as per the situation
demands. When team size is small but more cross-
d) When teams are specialized in a particular skilled.
layer or work process.
e) When it is acceptable that risk identification and
e) When all risks are identified and mitigation resolution will happen with software evolution.
plans are formulated.
2. f) Life critical projects. f) Mission critical projects.
g) When organizational culture & environment is g) When organization culture & environment is informal.
bureaucratic.
2) What are the considerations for offshore companies in adopting the agile methods?
Some considerations to evaluate while adopting Agile development process are:
a) Is there support from both onsite and offsite teams? Development teams must understand and
appreciate the agile way (incremental, iterative) of building the software.
b) Is there a feasible media rich communication channel between the distributed teams? Is
communication/feedback amongst developers and with stakeholders feasible on a regular basis
through instant-messaging, wikis, telephone lines, video-conferencing etc.
c) Is there a cross-functional team comprising of business analysts, project managers, developers
and testers present at the offshore site?
d) Are there collaborative tools available for smooth development? Do we have a Software
Configuration Management (SCM) tool to manage code changes and releases across
locations? Are there tools to support continuous integration, automated testing and issue
tracking?
e) Is it feasible for teams to travel between offshore and onshore sites?
f) Is there a need for flexible and responsive processes? Does the nature of projects handled
offshore depend on these?
g) Is there a need for offshore site to improve its deliverables in terms of cost, time, quality, service
and productivity?
3) Evaluate the full benefits and challenges of adopting the agile approach for Jharna software.
Holistically, benefits mentioned below are measured in terms of customer satisfaction and employee
morale (factors that govern the future of a company):
a) The development team need not wait for 50% of total project time taken for requirement
analysis and design before the coding starts. They can work in parallel. Instead of just focusing
on improved time-to-market, the teams would strive to deliver quantitative business value early
and often.
b) The estimation accuracy would be better as work is broken down into features and aspects.
This would allow the organization to have better competitive pricing model.
c) Since the development methodology is iterative and incremental, they can be more responsive
to stakeholders’ expectations. This would help manage business relationships with customers in
a better way and also create transparency about the product actually being developed. The
sense of ownership and motivation amongst customers/developers would be higher as there is
less ambiguity. Development team morale is higher by dropping the “death march” fear.
3. d) The risk associated with agile model is less as we will have working software most of the time,
unlike in Big-Bang approach where software is deployed in final stages and it may not work.
e) Developed software quality would be higher as tests are moved forward during lifecycle and
done frequently . It would reduce the amount of rework and employee burnout/saturation that
occurs due to extended periods of working hours.
Some challenges in adopting the agile approach are:
a) There would be cultural and mindset change. Change would be strategic, operational and
technology. Changing all together would be very difficult and risky. The adoption and transition
to new way of thinking should be gradual and systematic. Their current slogan of ‘getting it right
the first time’ might have to be changed to ‘getting it right just-in-time’.
b) Communication barriers exist because of different time zones, specialized teams. Since agile
style development process relies heavily on communication this factor must be addressed.
c) Project managers may loose some control on the actual development process as agile
encourages developers/team leaders to make decisions and take responsibility. If these are not
communicated to project managers they would have a different view of the software being
developed. Hence there might be some resistance from project managers in adopting the agile
style.
d) Also since agile style relies on tacit knowledge sharing and not explicit, there might be
knowledge loss with employee turnover. The organization must ensure that employee morale is
high to avoid such situations.
e) Rotation of roles requires highly skilled and experienced people. In Jharna software people were
skilled in a certain discipline only.
f) Rapid knowledge sharing across organization is dependent on trust which may be lacking in
traditional plan-based organizations as they create islands of knowledge bank.
g) Emphasis on documentation is not paramount in agile style and that might lead to lesser
documentation done. This might cause concerns to Jharna Software since it’s a CMM Level 5
and needs to maintain them.
To summarize Jharna software must blend both their existing experience in plan-based, traditional
software management practices with new innovative agile techniques to better their current competitive
edge.