SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Using Agile Methods for creating better
                     products faster
Using Agile Methods for creating better products faster
  In the recent past, a new class of software development methodologies has found favor - Agile methods.


  We can apply the term "Agile" to a group of specific approaches that include Extreme Programming,
  Scrum, DSDM and Adaptive Software Development. While these methods may vary at a detailed level, they
  embody a common philosophy - adaptive, iterative, methodologies built around the themes of "just enough"
  and constant communication. Agile methods ensure faster and better outcomes especially in scenarios of
  varying requirements and fast time to market.



  The origin                                                         interactions they have
                                                                     • A good perspective on the market worthiness of the
  Developers began experimenting with Agile methods                    product idea
  through the '90s owing to a growing dissatisfaction with           • They also have a broad idea of the scope of the
  the conventional waterfall method. The waterfall method              product
  had its uses, but the sequential, structured method tried          • They have a fair idea of must have and nice to have
  improving the predictability by discouraging changes                 features
  during the design and development process. In
  addition, traditional software development methods                 They now come up with a "time-boxed" software product
  stress heavily on documentation as a means of freezing             development plan that ensures there are releases of
  and elaborating requirements, and this in turn added to            working software to the customers at frequent intervals
  the time lines.                                                    of time. Now, what exactly is time boxing? A time box
                                                                     has a duration of a week to four weeks typically with a
  This made it unsuitable for scenarios where the user               deliverable or outcome at the end. The important point
  was unsure of the requirements at the start. Thus,                 to note is the deadline is fixed up-front - a release may
  traditional methods were found to be unsuitable for                comprise more than one time box, depending on the
  enterprise        software   development         as      dynamic   complexity of the development effort.
  requirements and short turnaround times were the order
  of the day. The Agile Manifesto sought to get around the           The development team "releases": the software after
  various pitfalls of traditional methods by stressing on:           each time box to the set of customers/ users, who then
                                                                     use it and give feedback. In fact, even while developing
  • Individuals and communication over processes and                 the product, they constantly interact with the customer
    tools                                                            community to decide what is necessary and when.
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation                 At the end of the exercise, this process leads to a more
  • Responding to change over following a plan                       market driven and relevant product for two reasons-
                                                                     collaborating with users and often giving users working
  Software product development and Agile                             versions that allows them to "touch and feel" the product.
  methods
                                                                     For a moment, superimpose the waterfall method on this
  Consider the case of building an enterprise software               scenario and the answer is evident- it is infeasible to
  product. Imagine there is a bunch of developers with a             mesh this real life scenario with the structured and
  "great" product idea they have validated by talking to             change resistant waterfall method.
  select customers and prospects. Through these
On the other hand, Agile methods allow you to do                  Agile outcomes can be predicted
precisely the above- follow an iterative, collaborative
approach that involves users and assumes that                     One may infer that Agile methods lead to a chaotic
software development needs to consider change                     and unstructured way of software development- while
rather than discourage it.                                        that may seem like an intuitive inference, in reality, a
                                                                  well implemented Agile methodology leads to more
Clearly, such a method, as explained above, leads to              predictability and this is how-
a superior product, as well as one that can hit the               One of the banes of traditional methods is that it does
market quicker.                                                   not allow for change and delivers the product in an
                                                                  almost fully finished form. In a complex development
                                                                  effort, the time elapsed between freezing a design and
What Agile is and what it is not                                  delivering a product may be significant. Meanwhile,
                                                                  the business environment may have changed, new
In software jargon, we term Agile variously as a                  challenges may have cropped up, and users may
movement or philosophy and its interpretation has also            have identified new needs. Now, when the product
been subjective. In this section, we offer our                    finally does arrive, they find, contrary to their
interpretation, as practitioners of this method -                 expectations, the product has not turned out the way
                                                                  they now envisage.


Agile methods are adaptive rather than                            This either leads to their "canning" the initiative or
predictive                                                        asking for large rework- certainly not the predicted
                                                                  outcome of the exercise.
 <--Agile--> <-- Iterative--> <-- Waterfall-->
 <----|--------------|-----------------|----->
                                                                  Switch back to Agile now- how would the development
 AdaptivePredictive
                                                                  team go about the process? They would elicit high-
Source: Wikipedia                                                 level and high priority needs of the user and market
                                                                  and estimate a date by which the user needs these
This is the most fundamental difference or perhaps the            features, to be most relevant and useful.
key differentiator of Agile methodologies. Traditional
methodologies do most of the detailed planning up-                They would then do another exercise of prioritization of
front;   assuming       a    well   thought      through    and   this list too and then commit to a delivery date.
documented design would ensure a perfect product.
This approach is similar to the way one would go                  They would then decide on a suitable architecture and
about a construction. The architect discusses the                 begin the development- along the way, they would
requirements with the client and comes out with a                 involve the users to confirm the detailed assumptions
drawing and detailed design, and once that is signed              and design. Once the developers build the prioritized
off the construction begins. Given that it is a brick and         set of features, the software is shared with the users
mortar exercise, it is hard to consider changes once              for feedback. In addition, users have flexibility to
the building gets underway.                                       change their mind on features the development team
                                                                  is yet to incorporate.
On the contrary, the premise of Agile methods is that
users cannot decide all changes early in the life cycle.
It is likely that once the user sees a version of the
product, they get ideas that may warrant changes to
the original design and scope.
This process may be followed a few times over, before                   This is something they can do if and only if they begin
the final product shapes up. It is not hard to infer that this          to use the product - it is almost impossible to envisage
method leads to a more predictable outcome, even if it                  up-front. Besides, as traditional methods do not allow
does not allow for as predictable a process. And therein                for frequent changes, users may load the requirements
lies the difference- while traditional methods highlight the            with features and functionality which may be mostly
process so much that it reigns supreme, Agile methods                   "nice to have".      Therefore, the product that is an
make the process an enabler rather than an imposition.                  outcome of an Agile methodology would be more
They mandate the process should allow for changes and                   relevant and produced faster as the development
variations to result in a more predictable outcome- the                 method paves the way for a feedback process that
needed software on time.                                                sharpens the product definition along the way.


Agile processes                   highlight        real          time   Agile methods are cost-effective
communication
                                                                        We are always led to believe that good planning and
By their nature, Agile processes are collaborative- they                execution always leads to more efficient outcomes.
work well only when there is high degree of involvement                 True in many real life scenarios, but not with software.
between users and developers. The process assumes                       The challenge with software product development is that users
time    boxes     that   result    in   frequent     intermediary       may come up with requests all the time. In a process
deliverables that users review and provide feedback on.                 that does not cater to this behavior, the cost of
The advantage of this approach is that all users are                    effecting changes becomes high.
almost fully informed of what they will get at the end of
the exercise, and there are no surprises. At the same                   As discussed earlier, traditional methods sometimes
time, they also need to commit time and effort to join in               lead to large-scale rework, costs, as well as time
the reviews and give relevant feedback.                                 escalation leading to the common refrain that X % of
                                                                        software projects do not adhere to their original
Agile processes speed up time                                           budgets.


Given that Agile methods allow requirements to change                   In contrast, Agile methods underscore frequent
all through the process, it is natural to assume that Agile             deliverables, and give an opportunity not just for
methods lead to longer life cycles. However, statistics                 requirement changes, but even for paring down
show that that agile product life cycle management result               requirements based on real need, rather than
in quickened product development . As users are involved
                                                                        "expected need".
through the life
cycle, the chances of a late discovery of the outcome not
matching expectations are low. Also, it gives a chance
for users to review and change the overall scope at every
intermediary step. Besides, users buy in to the product
and feel that they "co-own" the product - which is
important for a successful outcome.


Second, given the method of prioritizing needs and
agile's focus on "working code", users get a feel of the
software far earlier than they would with a traditional
sequential method. In fact, what may even happen at
times is that users prune the requirements and shave off
features that look superfluous and unnecessary as they
go along.
GlobalLogic and Agile

GlobalLogic develops software products for small to            GlobalLogic has defined an estimation, prioritization
medium sized software companies and uses agile yet             and scheduling process to manage this in a
distributed teams around the globe. To ensure success,         distributed and cost-effective manner.
GlobalLogic has created a repeatable methodology called        In addition, GlobalLogic has adapted a web based
"Velocity" based on Agile principles with a platform of open   issue tracker for global teams to manage and oversee
source and commercial tools. We have adapted and               the continuous changes that are part of the Agile
integrated Velocity into a remotely deployable and             method.
manageable platform on which we can develop quality
software products quickly.                                     IP protection:
                                                               GlobalLogic has built a globally deployable platform
Proprietary aspects of "Velocity"                              that contains all the collaboration, repository, build and
                                                               tracking databases that contain the intellectual
Collaborative specification:                                   property of our customers.            As our partners are
The qualities, structure and delivery mechanism of all new     sensitive to protecting these assets, GlobalLogic has
features and improvements to the product are specified in      set up a secure network, operating system and
a way that increases the effectiveness of chiefly              managed audit service to manage these assets.
asynchronous communication. Global engineering teams
do not have the luxury of scheduling impromptu meetings        In conclusion:
to seek clarifications. GlobalLogic has defined a method       Agile methods have repeatedly demonstrated getting
and configured a web based collaboration system                quality products to market faster. Agile's intrinsic
specifically designed to improve the effectiveness of          nature of considering and planning for varying
asynchronous thought and knowledge sharing.                    requirements        with     real    time     and      constant
                                                               communication between users and the development
Database-driven work method:                                   team make this possible. It thus offers a sound
Software products developed using an Agile process need        alternative to developers desiring to develop market-
continuous prioritization of all the requirements, tasks and   ready and superior products in quick time.
defect removal activities in each time-boxed release.

Más contenido relacionado

Más de GlobalLogic, Inc.

Importance of Product Engineering
Importance of Product EngineeringImportance of Product Engineering
Importance of Product EngineeringGlobalLogic, Inc.
 
Understanding How A Company Can Benefit From A SAAS Application
Understanding How A Company Can Benefit From A  SAAS ApplicationUnderstanding How A Company Can Benefit From A  SAAS Application
Understanding How A Company Can Benefit From A SAAS ApplicationGlobalLogic, Inc.
 
Better Cohesion and Integration in Supply Chain Management
Better Cohesion and Integration in Supply Chain ManagementBetter Cohesion and Integration in Supply Chain Management
Better Cohesion and Integration in Supply Chain ManagementGlobalLogic, Inc.
 
E commerce solutions - a smart business proposition
E commerce solutions - a smart business propositionE commerce solutions - a smart business proposition
E commerce solutions - a smart business propositionGlobalLogic, Inc.
 
Global logic and rofous software join forces
Global logic and rofous software join forcesGlobal logic and rofous software join forces
Global logic and rofous software join forcesGlobalLogic, Inc.
 
Global logic and rofous software join forces
Global logic and rofous software join forcesGlobal logic and rofous software join forces
Global logic and rofous software join forcesGlobalLogic, Inc.
 
Introduction to IMS-IP Multimedia Subsystem
Introduction to IMS-IP Multimedia SubsystemIntroduction to IMS-IP Multimedia Subsystem
Introduction to IMS-IP Multimedia SubsystemGlobalLogic, Inc.
 
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURE
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURENETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURE
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTUREGlobalLogic, Inc.
 

Más de GlobalLogic, Inc. (8)

Importance of Product Engineering
Importance of Product EngineeringImportance of Product Engineering
Importance of Product Engineering
 
Understanding How A Company Can Benefit From A SAAS Application
Understanding How A Company Can Benefit From A  SAAS ApplicationUnderstanding How A Company Can Benefit From A  SAAS Application
Understanding How A Company Can Benefit From A SAAS Application
 
Better Cohesion and Integration in Supply Chain Management
Better Cohesion and Integration in Supply Chain ManagementBetter Cohesion and Integration in Supply Chain Management
Better Cohesion and Integration in Supply Chain Management
 
E commerce solutions - a smart business proposition
E commerce solutions - a smart business propositionE commerce solutions - a smart business proposition
E commerce solutions - a smart business proposition
 
Global logic and rofous software join forces
Global logic and rofous software join forcesGlobal logic and rofous software join forces
Global logic and rofous software join forces
 
Global logic and rofous software join forces
Global logic and rofous software join forcesGlobal logic and rofous software join forces
Global logic and rofous software join forces
 
Introduction to IMS-IP Multimedia Subsystem
Introduction to IMS-IP Multimedia SubsystemIntroduction to IMS-IP Multimedia Subsystem
Introduction to IMS-IP Multimedia Subsystem
 
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURE
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURENETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURE
NETWORK PROCESSORS OF THE PAST, PRESENT AND FUTURE
 

Último

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Último (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

Using Agile methods to develop better products

  • 1. Using Agile Methods for creating better products faster
  • 2. Using Agile Methods for creating better products faster In the recent past, a new class of software development methodologies has found favor - Agile methods. We can apply the term "Agile" to a group of specific approaches that include Extreme Programming, Scrum, DSDM and Adaptive Software Development. While these methods may vary at a detailed level, they embody a common philosophy - adaptive, iterative, methodologies built around the themes of "just enough" and constant communication. Agile methods ensure faster and better outcomes especially in scenarios of varying requirements and fast time to market. The origin interactions they have • A good perspective on the market worthiness of the Developers began experimenting with Agile methods product idea through the '90s owing to a growing dissatisfaction with • They also have a broad idea of the scope of the the conventional waterfall method. The waterfall method product had its uses, but the sequential, structured method tried • They have a fair idea of must have and nice to have improving the predictability by discouraging changes features during the design and development process. In addition, traditional software development methods They now come up with a "time-boxed" software product stress heavily on documentation as a means of freezing development plan that ensures there are releases of and elaborating requirements, and this in turn added to working software to the customers at frequent intervals the time lines. of time. Now, what exactly is time boxing? A time box has a duration of a week to four weeks typically with a This made it unsuitable for scenarios where the user deliverable or outcome at the end. The important point was unsure of the requirements at the start. Thus, to note is the deadline is fixed up-front - a release may traditional methods were found to be unsuitable for comprise more than one time box, depending on the enterprise software development as dynamic complexity of the development effort. requirements and short turnaround times were the order of the day. The Agile Manifesto sought to get around the The development team "releases": the software after various pitfalls of traditional methods by stressing on: each time box to the set of customers/ users, who then use it and give feedback. In fact, even while developing • Individuals and communication over processes and the product, they constantly interact with the customer tools community to decide what is necessary and when. • Working software over comprehensive documentation • Customer collaboration over contract negotiation At the end of the exercise, this process leads to a more • Responding to change over following a plan market driven and relevant product for two reasons- collaborating with users and often giving users working Software product development and Agile versions that allows them to "touch and feel" the product. methods For a moment, superimpose the waterfall method on this Consider the case of building an enterprise software scenario and the answer is evident- it is infeasible to product. Imagine there is a bunch of developers with a mesh this real life scenario with the structured and "great" product idea they have validated by talking to change resistant waterfall method. select customers and prospects. Through these
  • 3. On the other hand, Agile methods allow you to do Agile outcomes can be predicted precisely the above- follow an iterative, collaborative approach that involves users and assumes that One may infer that Agile methods lead to a chaotic software development needs to consider change and unstructured way of software development- while rather than discourage it. that may seem like an intuitive inference, in reality, a well implemented Agile methodology leads to more Clearly, such a method, as explained above, leads to predictability and this is how- a superior product, as well as one that can hit the One of the banes of traditional methods is that it does market quicker. not allow for change and delivers the product in an almost fully finished form. In a complex development effort, the time elapsed between freezing a design and What Agile is and what it is not delivering a product may be significant. Meanwhile, the business environment may have changed, new In software jargon, we term Agile variously as a challenges may have cropped up, and users may movement or philosophy and its interpretation has also have identified new needs. Now, when the product been subjective. In this section, we offer our finally does arrive, they find, contrary to their interpretation, as practitioners of this method - expectations, the product has not turned out the way they now envisage. Agile methods are adaptive rather than This either leads to their "canning" the initiative or predictive asking for large rework- certainly not the predicted outcome of the exercise. <--Agile--> <-- Iterative--> <-- Waterfall--> <----|--------------|-----------------|-----> Switch back to Agile now- how would the development AdaptivePredictive team go about the process? They would elicit high- Source: Wikipedia level and high priority needs of the user and market and estimate a date by which the user needs these This is the most fundamental difference or perhaps the features, to be most relevant and useful. key differentiator of Agile methodologies. Traditional methodologies do most of the detailed planning up- They would then do another exercise of prioritization of front; assuming a well thought through and this list too and then commit to a delivery date. documented design would ensure a perfect product. This approach is similar to the way one would go They would then decide on a suitable architecture and about a construction. The architect discusses the begin the development- along the way, they would requirements with the client and comes out with a involve the users to confirm the detailed assumptions drawing and detailed design, and once that is signed and design. Once the developers build the prioritized off the construction begins. Given that it is a brick and set of features, the software is shared with the users mortar exercise, it is hard to consider changes once for feedback. In addition, users have flexibility to the building gets underway. change their mind on features the development team is yet to incorporate. On the contrary, the premise of Agile methods is that users cannot decide all changes early in the life cycle. It is likely that once the user sees a version of the product, they get ideas that may warrant changes to the original design and scope.
  • 4. This process may be followed a few times over, before This is something they can do if and only if they begin the final product shapes up. It is not hard to infer that this to use the product - it is almost impossible to envisage method leads to a more predictable outcome, even if it up-front. Besides, as traditional methods do not allow does not allow for as predictable a process. And therein for frequent changes, users may load the requirements lies the difference- while traditional methods highlight the with features and functionality which may be mostly process so much that it reigns supreme, Agile methods "nice to have". Therefore, the product that is an make the process an enabler rather than an imposition. outcome of an Agile methodology would be more They mandate the process should allow for changes and relevant and produced faster as the development variations to result in a more predictable outcome- the method paves the way for a feedback process that needed software on time. sharpens the product definition along the way. Agile processes highlight real time Agile methods are cost-effective communication We are always led to believe that good planning and By their nature, Agile processes are collaborative- they execution always leads to more efficient outcomes. work well only when there is high degree of involvement True in many real life scenarios, but not with software. between users and developers. The process assumes The challenge with software product development is that users time boxes that result in frequent intermediary may come up with requests all the time. In a process deliverables that users review and provide feedback on. that does not cater to this behavior, the cost of The advantage of this approach is that all users are effecting changes becomes high. almost fully informed of what they will get at the end of the exercise, and there are no surprises. At the same As discussed earlier, traditional methods sometimes time, they also need to commit time and effort to join in lead to large-scale rework, costs, as well as time the reviews and give relevant feedback. escalation leading to the common refrain that X % of software projects do not adhere to their original Agile processes speed up time budgets. Given that Agile methods allow requirements to change In contrast, Agile methods underscore frequent all through the process, it is natural to assume that Agile deliverables, and give an opportunity not just for methods lead to longer life cycles. However, statistics requirement changes, but even for paring down show that that agile product life cycle management result requirements based on real need, rather than in quickened product development . As users are involved "expected need". through the life cycle, the chances of a late discovery of the outcome not matching expectations are low. Also, it gives a chance for users to review and change the overall scope at every intermediary step. Besides, users buy in to the product and feel that they "co-own" the product - which is important for a successful outcome. Second, given the method of prioritizing needs and agile's focus on "working code", users get a feel of the software far earlier than they would with a traditional sequential method. In fact, what may even happen at times is that users prune the requirements and shave off features that look superfluous and unnecessary as they go along.
  • 5. GlobalLogic and Agile GlobalLogic develops software products for small to GlobalLogic has defined an estimation, prioritization medium sized software companies and uses agile yet and scheduling process to manage this in a distributed teams around the globe. To ensure success, distributed and cost-effective manner. GlobalLogic has created a repeatable methodology called In addition, GlobalLogic has adapted a web based "Velocity" based on Agile principles with a platform of open issue tracker for global teams to manage and oversee source and commercial tools. We have adapted and the continuous changes that are part of the Agile integrated Velocity into a remotely deployable and method. manageable platform on which we can develop quality software products quickly. IP protection: GlobalLogic has built a globally deployable platform Proprietary aspects of "Velocity" that contains all the collaboration, repository, build and tracking databases that contain the intellectual Collaborative specification: property of our customers. As our partners are The qualities, structure and delivery mechanism of all new sensitive to protecting these assets, GlobalLogic has features and improvements to the product are specified in set up a secure network, operating system and a way that increases the effectiveness of chiefly managed audit service to manage these assets. asynchronous communication. Global engineering teams do not have the luxury of scheduling impromptu meetings In conclusion: to seek clarifications. GlobalLogic has defined a method Agile methods have repeatedly demonstrated getting and configured a web based collaboration system quality products to market faster. Agile's intrinsic specifically designed to improve the effectiveness of nature of considering and planning for varying asynchronous thought and knowledge sharing. requirements with real time and constant communication between users and the development Database-driven work method: team make this possible. It thus offers a sound Software products developed using an Agile process need alternative to developers desiring to develop market- continuous prioritization of all the requirements, tasks and ready and superior products in quick time. defect removal activities in each time-boxed release.