An Introduction to Agile Game Development with Scrum, XP and Lean
Agile and XP
-
Upload
vishwas-sutar -
Category
Documents
-
view
33 -
download
0
Transcript of Agile and XP
Software Development Methodology
An Insight into “Agile” and “XP”
Software Development MethodologyCurrent Challenges
Rapid Changes in the technology – availability of frameworks, tools technologies etc
“Change is constant” - Frequent Changes in client requirements
Increasing customer awareness about software development and
tools & technologies
Traditional methodologies (like waterfall) not scaling to changes,
focus on documentation and are predictive & prescribed
heavily regimented, regulated and micromanaged.
Software Development MethodologyGoals of Software development Organization
Responsiveness to changes
Being competitive with quality and timeliness
Sustenance and Growth
Profitability
Establish ROI
Software Development MethodologyImportance of choice of methodology
The software development methodology can be thought of mechanism to meet challenges simultaneously achieving goals
TCO (total cost of ownership) can be said to be largely depending on
methodology chosen
Different methodologies have different efficiencies (Efficiency can be
decided by the quality of ultimate software product, the number of bugs
and the development time consumed)
Software Development MethodologyAgile (Philosophy & Characteristics)
Adaptive
Iterative
Incremental
Fundamental issue is communication and not documentation
Document the stable things, not speculative things.
Evolutionary approach to documentation development (seeking and
acting on feedback)
Software Development Methodology Agile (Philosophy & Characteristics)
Preference to executable work products such as customer test over static work products such as plain old documentation
Concise documentation – product overviews/road maps preferred over
detailed documentation (describing more than nitty-gritty)
High quality source code and test suite – needing a lot less system
documentation
Documentation shall be barely just good enough.
Software Development Methodology Agile (Philosophy & Characteristics)
Primary goal is developing software , secondary goal is to enable next development efforts
The benefit of having documentation must be greater than the cost of
creating and maintaining it.
Create documentation only when you need it at the appropriate point in
the life cycle.
Software Development Methodology Agile (Philosophy & Characteristics)
Update documentation only when it hurts
It is recognized that documentation is an intrinsic part of any
system, the benefits should outweigh the increased burden on
the team. It’s important to note that sometimes the benefits
are received by someone else other than the people
experiencing the costs, e.g. the development team is impacted
by the costs of creating system documentation that the
maintenance developers benefit from.
Software Development MethodologyXP (Philosophy & Characteristics)
Enough design Up front
On-Site customer
Pair Programming
Coding Standards
Simple design
User stories, CRC cards, sketches, test suite, acceptance tests
Concrete experiments
Software Development Methodology XP (Philosophy & Characteristics)
If you need it to do it – simple artifacts (documents etc)
Collective Ownership
Travel light
Communication – open and honest communication
Software Development MethodologySummary
Traditional software development methodologies were inherited from
hardware manufacture and strategies. In these methodologies, the
production cycle progresses sequentially. The basic belief is that the
considerable time spent in initial design effort would help correcting
bugs in advance. These were successfully implemented by many
organizations but the software industry has experienced the
limitations of these methods such as low ability to embrace changes,
overall quality not in correspondence with initial design efforts and
overall cost & efficiency.
Software Development MethodologySummary
Rise of new methodologies like Agile which represents the agility
and adaptability have given new direction to software
development. Efficiency of these methodologies have been
established to be better than traditional and also its resulting in
better client communication and satisfaction. Of course all such
methodologies have benefits and limitations and many a times
the combination of these methodologies could serve the purpose.
Software Development MethodologyConclusion
Given the dynamics of current businesses, frequent changes,
increased competitiveness and awareness, the agile (and XP)
methodologies can be the best bet which would give ability to
remain ahead of the curve. Such methodologies can adapted to
specific environments and some characteristics from traditional
methodology can be combined to find a good match and
suitability. Employing such methodologies would have impact on
organization structures, architectures and employees and of
course the business.
Software Development MethodologyReferences
Wikipedia
IBM - resources
Software Development Methodology
Big Thanks