SlideShare a Scribd company logo
Final
Proposal




      Agile vs. Prescriptive
      Software Engineering 1
           Muhammad Muzammil

               BSCS 4th B

               Reg # 17104/Aut-07/M


      Submitted to: Mr. Abdul Rasheed




            Federal Urdu University, of Arts, Science & Technology
                      G-7/1, Near Zero Point, Islamabad
Abstract:
                    It is a very glad full moment that I am submitting my final
proposal documentation. It is not easy and first attempt work to complete this,
but in the whole time my respected teacher MR. Abdul Rasheed has given me
full of confidence and some important guideline to complete this document.
So this is the result of all of his effort. According to me this topic is quite
difficult but I enjoy a lot.


                                                                      Muhammad Muzammil




Table of Contents:

Software Processes...........................................................................................................................3
Prescriptive Approach......................................................................................................................3

Agile.................................................................................................................................................4
Agile VS Prescriptive.........................................................................................................................5
Principle Based VS Rule Based..........................................................................................................6

To be Prescriptive or Less prescriptive..............................................................................................6
Prescriptive VS Agile Process Models................................................................................................7
Waterfall VS Agile Methodology.......................................................................................................7
References .....................................................................................................................................12




                         Agile VS Prescriptive
                                                                                                                                            Page 2
Software Processes:

   •   A set of interrelated activities, which transform inputs into outputs

   •   A function that must be performed in the software life cycle.

   •   A Process is composed of activities

Definition of Prescriptive

   •   Indicating how things should be , rather than how things are

   •   Making or giving injunctions, directions, laws, or rules

   •   A prescriptive process model is a model that describes "how to do" according to a
       certain software process system.

Prescriptive Process Models:

             A prescriptive model prescribes how a new software system should be
developed. Prescriptive models are used as guidelines or frameworks to organize and
structure how software development activities should be performed, and in what order.
Typically, it is easier and more common to articulate a prescriptive lifecycle model for how
system should be developed. This is possible since most such models are intuitive or well
reasoned. This means that many idiosyncratic details that describe how a software system is
built in practice can be ignored, generalized, or deferred for later consideration. This, of
course, should raise concern for the relative validity and robustness of such life cycles models
when developing different kinds of applications systems, in different kinds of development
settings, using different programming languages, with differentially skilled staff, etc.
However, prescriptive models are also used to package the development tasks and techniques
for using a given set of software engineering tools or environment during a development
project.

             Within prescriptive software process models, any explicit element which
constraints the process performance.

           People dealing with software processes may adopt a prescriptive attitude of mind.
They define desired processes to answer the question "how software should be developed?
                                                                                           Page 3
They may aim at:

   •   Guiding Software process performers (developers, managers,) receive indirect
       support through information which helps them to perform their work, such as the
       current status of the process, the appropriate next steps to be executed, the decision
       points and their meanings, etc. Guidance is provided through manual or mechanical
       interpretation of software process descriptions simultaneously and synchronously with
       the actual software process performance.
   •   Enforcing Software process performers (developers, managers, ...) receive direct
       support .through enact able software process descriptions which are mechanically
       interpreted by process engines within a process-centered software engineering
       environment, to orchestrate the performance of the actual development and to
       automatism it as far as possible. What cannot be programmed for machine
       interpretation is left for humans to perform; for instance, the support system can await
       represent able results of the intermediate human process.




Definition of Agile:

    Characterized by quickness, lightness, and ease of movement; nimble.
    Mentally quick or alert: an agile mind




Agility:

           o Agility is the ability to change the body's position efficiently, and requires the
              integration of isolated movement skills using a combination of balance,
              coordination, speed, reflexes, strength, endurance, and stamina.

           o In sports, agility is described in terms of response to an opposing player,
              moving target, as seen in field sports and racket sports. Sheppard and Young
              (2006) define agility as "a rapid whole body movement with change of
              velocity or direction in response to a stimulus."


                                                                                         Page 4
o In business, agility means the capability of rapidly and cost efficiently
               adapting to changes. Recently agility has been applied e.g. in the context
               of agile software development and agile enterprise

Need for agile approach:

In certain business environment, it is often difficult (or impossible) to predict as to how a
software product will evolve over time

       •   Market conditions change

       •   Users needs evolve

       •   Competitive forces prevail

       •   Technology keeps changing

Under the above mentioned environment, it is not possible to define all the software
requirements in early stages of the project.

       •   The developer, therefore, needs to be agile enough to respond to this fluid
           business environment.

Weakness of prescriptive approaches includes:

       •   Emphasis on discipline (not a strong point for people)

       •   Lack of realization that all developers are not alike

Agile approaches, however, are not applicable to all projects, products, people, and situations.




       Agile vs. prescriptive processes overview:




   •   In general agile method promotes empirical rather than defined processes, a
       categorization used by industrial process experts.




                                                                                          Page 5
•   A defined process (also known as a prescriptive process) has many predefined and
       ordered activities to be followed during development.

   •   Defined process is suitable for predictable manufacturing domains.

   •   Empirical processes are used for high change and unstable domains: rather than many
       sequenced activities, they are based on frequent measurement and dynamic response
       to variable events.

   •   For example, scrum is silent on the activities of iteration, other than the daily scrum
       meeting as the measurement and response mechanism. The up, on the other hand,
       strikes a middle way; it list common activities (e.g. write release notes), but the team
       is welcome to ignore or do them in any order.

   •   Agile methodologies understand that the degree of “method weight” and predefinition
       of ordered activities are functions of the project type. An agile method or project lies
       on a continuum of more or less empirical, driven by need. A medical device under
       FDA approval requires more formal, predefined activities.

Principle based vs Rule-based:

           Agile methods are more principle-based than rule-based. Rather than a predefined
set of rules regarding the many roles, team organization, responsibilities, relationships, and
activities, the team and manager are primarily guided by the principles embodied in the agile
manifesto and principles. Agile project management is more than a set of practices – it is a
mindset.

To be prescriptive or less prescriptive:

Generic framework for software process encompasses the following:

   •   Communication

   •   planning

   •   modeling

   •   construction

   •   deployment


                                                                                          Page 6
Prescriptive process models advocate an orderly approach to software engineering.

         •   In reality, these models “need to be adapted” to meet the unique needs of a
             project.

An old contradictory questions about software development…

         •   If a prescriptive process models strive for structure and other, are they
             inappropriate for a software (creative) world?

         •   If “less structures” models are used for software development will it be possible to
             coordinate and manage this work?

There are no easy answers to these questions.

         •   Each approach may be appropriate under certain circumstances.

Note: When in doubt, be more prescriptive.

Prescriptive vs. agile process models:

         •   Prescriptive models:

        They are indicated

    •     Facilitating planning

    •     Improving system quality

    •     Improving control

    •     Guiding project teams

    If they are applied dogmatically and without adaption, they tend to be bureaucratic.




•   Agile models:

    •    They are tending to be informal.

    •    They are emphasizing on maneurability, adaptability, and speed.

    •    They are appropriate for many types of projects, e.g. web based development.

                                                                                           Page 7
Note: Excessively agile processes may be as risky as the excessively rigid processes


Waterfall VS Agile Methodology:



               There is no IT meeting that does not talk and debate endlessly about Waterfall vs.
Agile development methodologies. Feelings run strong on the subject with many

considering Agile ‘so of the moment’, just so right, while Waterfall is thought to be
passé! But, before deciding which is more appropriate, it is essentially important to provide a
little background on both.




Prescriptive


                                              Wate
                                              r fall


                                          XP,ASD
                                             Agile
                                                                                     More value,
                                       Lean Thinking                                 Idea based




Waterfall

A classically linear and sequential approach to software design and systems development,
each waterfall stage is assigned to a separate team to ensure greater project and deadline
control, important for on-time project delivery. A linear approach means a stage by stage
approach for product building, e.g.



                                                                                          Page 8
1. The project team first analyses, then determining and prioritizing business requirements /
needs.

2. Next, in the design phase business requirements are translated into IT solutions, and a
decision taken about which underlying technology i.e. COBOL, Java or Visual Basic, etc. etc.
is to be used.




3. Once processes are defined and online layouts built, code implementation takes place.

4. The next stage of data conversion evolves into a fully tested solution for implementation
and testing for evaluation by the end-user.

5. The last and final stage involves evaluation and maintenance, with the latter
ensuring everything runs smoothly.

         However, in case a glitch should result, changing the software is not only a practical
impossibility, but means c. That’s Waterfall for us! Now, as for minimal risk Agile, it is a
low over-head method that emphasizes values and principles rather than
processes. Working in cycles i.e. a week, a month, etc., project priorities are re-evaluated and
at the end of each cycle. Four principles that constitute Agile methods are:

1. The reigning supreme of individuals and interactions over processes and tools.

2. As does, working software over comprehensive documentation.

3. Likewise, customer collaboration over contract negotiation.

4. And again, responding to change over plan follow-throughs.

    To summarize the difference between the two, one can say the classic waterfall method
stands for predictability, while Agile methodology spells adaptability. Agile methods are
good at reducing overheads, such as, rationale, justification, documentation and meetings,
keeping them as low as is possible. And, that is why Agile methods benefit small teams with
constantly changing requirements, rather more than larger projects.



                                                                                         Page 9
Agile, based on empirical rather than defined methods (Waterfall) is all about light
     maneuverability and sufficiency for facilitating future development. By defined methods
     what one means is that one plans first and then enforces these plans. However, Agile
     methods involve planning what one wants and then adapting these plans to the
     results. Extreme Programming (XP) is an excellent example of Agile methodology i.e.:

     1. Communication between customers and other team members;

     2. Simple, clean designs;

     3. Feedback given on Day 1 of software testing;

     4. Early delivery and implementation of suggested changes.

     Agile methodology means cutting down the big picture into puzzle size bits, fitting them
     together when the time is right e.g. design, coding and testing bits. So, while there are
     reasons to support both the waterfall and agile methods, however, a closer look clarifies why
     many software and web design firms make the more appropriate choice of employing Agile
     methodology. The following points define to choose Agile methodology over the Waterfall
     method.

1. Once a stage is completed in the Waterfall method, there is no going back, since most
      software designed and implemented under the waterfall method is hard to change according
      to time and user needs. The problem can only be fixed by going back and designing an
      entirely new system, a very costly and inefficient method. Whereas, Agile methods adapt to
      change, as at the end of each stage, the logical program, designed to cope and adapt to new
      ideas from the outset, allows changes to be made easily. With Agile, changes can be made
      if necessary without getting the entire program rewritten. This approach not only reduces
      overheads, it also helps in the upgrading of programmers.

2.    Another Agile method advantage is one has a launch able product at the end of each tested
      stage. This ensures bugs are caught and eliminated in the development cycle, and the
      product is double tested again after the first bug elimination. This is not possible for
      the Waterfall method, since the product is tested only at the very end, which means any
      bugs found results in the entire program having to be re-written.



                                                                                             Page 10
3. Agile’s modular nature means employing better suited object-oriented designs and
   programs, which means one always has a working model for timely release even when it
   does not always entirely match customer specifications. Whereas, there is only one main
   release in the waterfall method and any problems or delays mean highly dissatisfied
   customers.

4. Agile methods allow for specification changes as per end-user’s requirements, spelling
   customer satisfaction. As already mentioned, this is not possible when the waterfall method
   is employed, since any changes to be made means the project has to be started all over
   again.

5. However, both methods do allow for a sort of departmentalization e.g. in waterfall
   departmentalization is done at each stage. As for Agile, each coding module can be
   delegated to separate groups. This allows for several parts of the project to be done at the
   same time, though departmentalization is more effectively used in Agile methodologies.

  In conclusion, though on the plus side, waterfall’s defined stages allow for thorough
  planning, especially for logical design, implementation and deployment, Agile methodology
  is a sound choice for software development and web design projects. More and more firms
  are becoming Agile

            Most agile methods share iterative development's emphasis on building releasable
  software in short time periods. Agile methods differ from iterative methods in that their time
  period is measured in weeks rather than months. Most agile methods also differ by treating
  their time period as a strict time box.




                                                                                          Page 11
References:



[1] www.eflnet.com/vocab/advvoclist25.php

[2] http://www.answers.com/topic/prescriptive

[3] http://www.informatik.uni-
bremen.de/gdpa/def/def_p/PRESCRIPTIVE_PROCESS_MODEL.htm

[4] http://www.answers.com/topic/prescriptive

[5] http://en.wikipedia.org/wiki/Agility

[6] http://books.google.com.pk/books?id=l9iskVrsP28C&pg=PA150&dq=Prescriptive+vs+agile#PPA149,M1

[7] http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/

[8]   http://www.coderanch.com/t/130626/Agile-Other-Processes/Agile-Vs-Iterative




                                                                                            Page 12

More Related Content

What's hot

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
Agile software development
Agile software developmentAgile software development
Agile software development
Muhammad Amjad Rana
 
L2 support
L2 supportL2 support
L2 support
Ramji Sridaran
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
bizpresenter
 
L22 Architecture and Agile
L22 Architecture and AgileL22 Architecture and Agile
L22 Architecture and Agile
Ólafur Andri Ragnarsson
 
DSDM
DSDMDSDM
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
madhusha udayangani
 
03 fse agiledevelopment
03 fse agiledevelopment03 fse agiledevelopment
03 fse agiledevelopment
Mohesh Chandran
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Suresh Krishna Madhuvarsu
 
Lect7
Lect7Lect7
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
Derek Winter
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
Naresh Gajuveni
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
sunil1993
 
Software Development Model for Startups
Software Development Model for StartupsSoftware Development Model for Startups
Software Development Model for Startups
Martin Verrev
 
SE - Ch.02 - Software Developmnet Process Model.pptx
SE - Ch.02 - Software Developmnet Process Model.pptxSE - Ch.02 - Software Developmnet Process Model.pptx
SE - Ch.02 - Software Developmnet Process Model.pptx
proxymail1
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approaches
dcsunu
 
Dynamic System Development Method
Dynamic System Development MethodDynamic System Development Method
Dynamic System Development Method
Baguio Central University
 
Agile Software Development
Agile Software Development Agile Software Development
Agile Software Development
OwaisAli44
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
IrtazaAfzal3
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
Randy Connolly
 

What's hot (20)

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
L2 support
L2 supportL2 support
L2 support
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
L22 Architecture and Agile
L22 Architecture and AgileL22 Architecture and Agile
L22 Architecture and Agile
 
DSDM
DSDMDSDM
DSDM
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
 
03 fse agiledevelopment
03 fse agiledevelopment03 fse agiledevelopment
03 fse agiledevelopment
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Lect7
Lect7Lect7
Lect7
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environment
 
Software Development Model for Startups
Software Development Model for StartupsSoftware Development Model for Startups
Software Development Model for Startups
 
SE - Ch.02 - Software Developmnet Process Model.pptx
SE - Ch.02 - Software Developmnet Process Model.pptxSE - Ch.02 - Software Developmnet Process Model.pptx
SE - Ch.02 - Software Developmnet Process Model.pptx
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approaches
 
Dynamic System Development Method
Dynamic System Development MethodDynamic System Development Method
Dynamic System Development Method
 
Agile Software Development
Agile Software Development Agile Software Development
Agile Software Development
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
 

Similar to Muzammil Agile Vs Prescriptive

SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
Prof. Dr. K. Adisesha
 
Various Process of Software Engineering notes
Various Process of Software Engineering notesVarious Process of Software Engineering notes
Various Process of Software Engineering notes
Dr Anuranjan Misra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
A Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentA Pattern-Language-for-software-Development
A Pattern-Language-for-software-Development
Shiraz316
 
An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)
Daroko blog(www.professionalbloggertricks.com)
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
Karim Monir
 
Estimation of agile functionality in software development
Estimation of agile functionality in software developmentEstimation of agile functionality in software development
Estimation of agile functionality in software development
Bashir Nasr Azadani
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software development
Shiraz316
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
Abbasgulu Allahverdili
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
Raj vardhan
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development Methodologies
Abdul Basit
 
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems developmentFive benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
IBM Rational software
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
مصعب محمد زكريا
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
MrSDeepakRajAssistan
 
Unit2
Unit2Unit2
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
AbdulMateen516672
 
AGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENTAGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENT
Nat Rice
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
IAEME Publication
 

Similar to Muzammil Agile Vs Prescriptive (20)

SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
Various Process of Software Engineering notes
Various Process of Software Engineering notesVarious Process of Software Engineering notes
Various Process of Software Engineering notes
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
A Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentA Pattern-Language-for-software-Development
A Pattern-Language-for-software-Development
 
An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
 
Estimation of agile functionality in software development
Estimation of agile functionality in software developmentEstimation of agile functionality in software development
Estimation of agile functionality in software development
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software development
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development Methodologies
 
Five benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems developmentFive benefits of agile practices in software intensive systems development
Five benefits of agile practices in software intensive systems development
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
Unit2
Unit2Unit2
Unit2
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 
AGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENTAGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENT
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
 

More from Federal Urdu University

Ntc internship report
Ntc internship reportNtc internship report
Ntc internship report
Federal Urdu University
 
Network security at_osi_layers
Network security at_osi_layersNetwork security at_osi_layers
Network security at_osi_layers
Federal Urdu University
 
Network Security Lec4
Network Security Lec4Network Security Lec4
Network Security Lec4
Federal Urdu University
 
Network Security Lec5
Network Security  Lec5Network Security  Lec5
Network Security Lec5
Federal Urdu University
 
Network Security
Network SecurityNetwork Security
Network Security
Federal Urdu University
 
Unix
UnixUnix
Os Linux Documentation
Os Linux DocumentationOs Linux Documentation
Os Linux Documentation
Federal Urdu University
 
Os Linux
Os LinuxOs Linux
Maria Managment Spectrum
Maria Managment SpectrumMaria Managment Spectrum
Maria Managment Spectrum
Federal Urdu University
 
Zohaib Dfd
Zohaib DfdZohaib Dfd
Zeeshan Estimation
Zeeshan EstimationZeeshan Estimation
Zeeshan Estimation
Federal Urdu University
 
Zahid Asd
Zahid AsdZahid Asd
Umar Erd
Umar ErdUmar Erd
Sohrab Waterfall Vs Rad
Sohrab Waterfall Vs RadSohrab Waterfall Vs Rad
Sohrab Waterfall Vs Rad
Federal Urdu University
 
Sidra Agile Software Process
Sidra Agile Software ProcessSidra Agile Software Process
Sidra Agile Software Process
Federal Urdu University
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
Federal Urdu University
 
Hira Xp
Hira XpHira Xp
G4 Group
G4 GroupG4 Group
Faisal Incremental Model
Faisal Incremental ModelFaisal Incremental Model
Faisal Incremental Model
Federal Urdu University
 
Ather Proactive Vs Reactive
Ather Proactive Vs ReactiveAther Proactive Vs Reactive
Ather Proactive Vs Reactive
Federal Urdu University
 

More from Federal Urdu University (20)

Ntc internship report
Ntc internship reportNtc internship report
Ntc internship report
 
Network security at_osi_layers
Network security at_osi_layersNetwork security at_osi_layers
Network security at_osi_layers
 
Network Security Lec4
Network Security Lec4Network Security Lec4
Network Security Lec4
 
Network Security Lec5
Network Security  Lec5Network Security  Lec5
Network Security Lec5
 
Network Security
Network SecurityNetwork Security
Network Security
 
Unix
UnixUnix
Unix
 
Os Linux Documentation
Os Linux DocumentationOs Linux Documentation
Os Linux Documentation
 
Os Linux
Os LinuxOs Linux
Os Linux
 
Maria Managment Spectrum
Maria Managment SpectrumMaria Managment Spectrum
Maria Managment Spectrum
 
Zohaib Dfd
Zohaib DfdZohaib Dfd
Zohaib Dfd
 
Zeeshan Estimation
Zeeshan EstimationZeeshan Estimation
Zeeshan Estimation
 
Zahid Asd
Zahid AsdZahid Asd
Zahid Asd
 
Umar Erd
Umar ErdUmar Erd
Umar Erd
 
Sohrab Waterfall Vs Rad
Sohrab Waterfall Vs RadSohrab Waterfall Vs Rad
Sohrab Waterfall Vs Rad
 
Sidra Agile Software Process
Sidra Agile Software ProcessSidra Agile Software Process
Sidra Agile Software Process
 
Khurram Spiral
Khurram SpiralKhurram Spiral
Khurram Spiral
 
Hira Xp
Hira XpHira Xp
Hira Xp
 
G4 Group
G4 GroupG4 Group
G4 Group
 
Faisal Incremental Model
Faisal Incremental ModelFaisal Incremental Model
Faisal Incremental Model
 
Ather Proactive Vs Reactive
Ather Proactive Vs ReactiveAther Proactive Vs Reactive
Ather Proactive Vs Reactive
 

Recently uploaded

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 

Recently uploaded (20)

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 

Muzammil Agile Vs Prescriptive

  • 1. Final Proposal Agile vs. Prescriptive Software Engineering 1 Muhammad Muzammil BSCS 4th B Reg # 17104/Aut-07/M Submitted to: Mr. Abdul Rasheed Federal Urdu University, of Arts, Science & Technology G-7/1, Near Zero Point, Islamabad
  • 2. Abstract: It is a very glad full moment that I am submitting my final proposal documentation. It is not easy and first attempt work to complete this, but in the whole time my respected teacher MR. Abdul Rasheed has given me full of confidence and some important guideline to complete this document. So this is the result of all of his effort. According to me this topic is quite difficult but I enjoy a lot. Muhammad Muzammil Table of Contents: Software Processes...........................................................................................................................3 Prescriptive Approach......................................................................................................................3 Agile.................................................................................................................................................4 Agile VS Prescriptive.........................................................................................................................5 Principle Based VS Rule Based..........................................................................................................6 To be Prescriptive or Less prescriptive..............................................................................................6 Prescriptive VS Agile Process Models................................................................................................7 Waterfall VS Agile Methodology.......................................................................................................7 References .....................................................................................................................................12 Agile VS Prescriptive Page 2
  • 3. Software Processes: • A set of interrelated activities, which transform inputs into outputs • A function that must be performed in the software life cycle. • A Process is composed of activities Definition of Prescriptive • Indicating how things should be , rather than how things are • Making or giving injunctions, directions, laws, or rules • A prescriptive process model is a model that describes "how to do" according to a certain software process system. Prescriptive Process Models: A prescriptive model prescribes how a new software system should be developed. Prescriptive models are used as guidelines or frameworks to organize and structure how software development activities should be performed, and in what order. Typically, it is easier and more common to articulate a prescriptive lifecycle model for how system should be developed. This is possible since most such models are intuitive or well reasoned. This means that many idiosyncratic details that describe how a software system is built in practice can be ignored, generalized, or deferred for later consideration. This, of course, should raise concern for the relative validity and robustness of such life cycles models when developing different kinds of applications systems, in different kinds of development settings, using different programming languages, with differentially skilled staff, etc. However, prescriptive models are also used to package the development tasks and techniques for using a given set of software engineering tools or environment during a development project. Within prescriptive software process models, any explicit element which constraints the process performance. People dealing with software processes may adopt a prescriptive attitude of mind. They define desired processes to answer the question "how software should be developed? Page 3
  • 4. They may aim at: • Guiding Software process performers (developers, managers,) receive indirect support through information which helps them to perform their work, such as the current status of the process, the appropriate next steps to be executed, the decision points and their meanings, etc. Guidance is provided through manual or mechanical interpretation of software process descriptions simultaneously and synchronously with the actual software process performance. • Enforcing Software process performers (developers, managers, ...) receive direct support .through enact able software process descriptions which are mechanically interpreted by process engines within a process-centered software engineering environment, to orchestrate the performance of the actual development and to automatism it as far as possible. What cannot be programmed for machine interpretation is left for humans to perform; for instance, the support system can await represent able results of the intermediate human process. Definition of Agile:  Characterized by quickness, lightness, and ease of movement; nimble.  Mentally quick or alert: an agile mind Agility: o Agility is the ability to change the body's position efficiently, and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, endurance, and stamina. o In sports, agility is described in terms of response to an opposing player, moving target, as seen in field sports and racket sports. Sheppard and Young (2006) define agility as "a rapid whole body movement with change of velocity or direction in response to a stimulus." Page 4
  • 5. o In business, agility means the capability of rapidly and cost efficiently adapting to changes. Recently agility has been applied e.g. in the context of agile software development and agile enterprise Need for agile approach: In certain business environment, it is often difficult (or impossible) to predict as to how a software product will evolve over time • Market conditions change • Users needs evolve • Competitive forces prevail • Technology keeps changing Under the above mentioned environment, it is not possible to define all the software requirements in early stages of the project. • The developer, therefore, needs to be agile enough to respond to this fluid business environment. Weakness of prescriptive approaches includes: • Emphasis on discipline (not a strong point for people) • Lack of realization that all developers are not alike Agile approaches, however, are not applicable to all projects, products, people, and situations. Agile vs. prescriptive processes overview: • In general agile method promotes empirical rather than defined processes, a categorization used by industrial process experts. Page 5
  • 6. A defined process (also known as a prescriptive process) has many predefined and ordered activities to be followed during development. • Defined process is suitable for predictable manufacturing domains. • Empirical processes are used for high change and unstable domains: rather than many sequenced activities, they are based on frequent measurement and dynamic response to variable events. • For example, scrum is silent on the activities of iteration, other than the daily scrum meeting as the measurement and response mechanism. The up, on the other hand, strikes a middle way; it list common activities (e.g. write release notes), but the team is welcome to ignore or do them in any order. • Agile methodologies understand that the degree of “method weight” and predefinition of ordered activities are functions of the project type. An agile method or project lies on a continuum of more or less empirical, driven by need. A medical device under FDA approval requires more formal, predefined activities. Principle based vs Rule-based: Agile methods are more principle-based than rule-based. Rather than a predefined set of rules regarding the many roles, team organization, responsibilities, relationships, and activities, the team and manager are primarily guided by the principles embodied in the agile manifesto and principles. Agile project management is more than a set of practices – it is a mindset. To be prescriptive or less prescriptive: Generic framework for software process encompasses the following: • Communication • planning • modeling • construction • deployment Page 6
  • 7. Prescriptive process models advocate an orderly approach to software engineering. • In reality, these models “need to be adapted” to meet the unique needs of a project. An old contradictory questions about software development… • If a prescriptive process models strive for structure and other, are they inappropriate for a software (creative) world? • If “less structures” models are used for software development will it be possible to coordinate and manage this work? There are no easy answers to these questions. • Each approach may be appropriate under certain circumstances. Note: When in doubt, be more prescriptive. Prescriptive vs. agile process models: • Prescriptive models: They are indicated • Facilitating planning • Improving system quality • Improving control • Guiding project teams If they are applied dogmatically and without adaption, they tend to be bureaucratic. • Agile models: • They are tending to be informal. • They are emphasizing on maneurability, adaptability, and speed. • They are appropriate for many types of projects, e.g. web based development. Page 7
  • 8. Note: Excessively agile processes may be as risky as the excessively rigid processes Waterfall VS Agile Methodology: There is no IT meeting that does not talk and debate endlessly about Waterfall vs. Agile development methodologies. Feelings run strong on the subject with many considering Agile ‘so of the moment’, just so right, while Waterfall is thought to be passé! But, before deciding which is more appropriate, it is essentially important to provide a little background on both. Prescriptive Wate r fall XP,ASD Agile More value, Lean Thinking Idea based Waterfall A classically linear and sequential approach to software design and systems development, each waterfall stage is assigned to a separate team to ensure greater project and deadline control, important for on-time project delivery. A linear approach means a stage by stage approach for product building, e.g. Page 8
  • 9. 1. The project team first analyses, then determining and prioritizing business requirements / needs. 2. Next, in the design phase business requirements are translated into IT solutions, and a decision taken about which underlying technology i.e. COBOL, Java or Visual Basic, etc. etc. is to be used. 3. Once processes are defined and online layouts built, code implementation takes place. 4. The next stage of data conversion evolves into a fully tested solution for implementation and testing for evaluation by the end-user. 5. The last and final stage involves evaluation and maintenance, with the latter ensuring everything runs smoothly. However, in case a glitch should result, changing the software is not only a practical impossibility, but means c. That’s Waterfall for us! Now, as for minimal risk Agile, it is a low over-head method that emphasizes values and principles rather than processes. Working in cycles i.e. a week, a month, etc., project priorities are re-evaluated and at the end of each cycle. Four principles that constitute Agile methods are: 1. The reigning supreme of individuals and interactions over processes and tools. 2. As does, working software over comprehensive documentation. 3. Likewise, customer collaboration over contract negotiation. 4. And again, responding to change over plan follow-throughs. To summarize the difference between the two, one can say the classic waterfall method stands for predictability, while Agile methodology spells adaptability. Agile methods are good at reducing overheads, such as, rationale, justification, documentation and meetings, keeping them as low as is possible. And, that is why Agile methods benefit small teams with constantly changing requirements, rather more than larger projects. Page 9
  • 10. Agile, based on empirical rather than defined methods (Waterfall) is all about light maneuverability and sufficiency for facilitating future development. By defined methods what one means is that one plans first and then enforces these plans. However, Agile methods involve planning what one wants and then adapting these plans to the results. Extreme Programming (XP) is an excellent example of Agile methodology i.e.: 1. Communication between customers and other team members; 2. Simple, clean designs; 3. Feedback given on Day 1 of software testing; 4. Early delivery and implementation of suggested changes. Agile methodology means cutting down the big picture into puzzle size bits, fitting them together when the time is right e.g. design, coding and testing bits. So, while there are reasons to support both the waterfall and agile methods, however, a closer look clarifies why many software and web design firms make the more appropriate choice of employing Agile methodology. The following points define to choose Agile methodology over the Waterfall method. 1. Once a stage is completed in the Waterfall method, there is no going back, since most software designed and implemented under the waterfall method is hard to change according to time and user needs. The problem can only be fixed by going back and designing an entirely new system, a very costly and inefficient method. Whereas, Agile methods adapt to change, as at the end of each stage, the logical program, designed to cope and adapt to new ideas from the outset, allows changes to be made easily. With Agile, changes can be made if necessary without getting the entire program rewritten. This approach not only reduces overheads, it also helps in the upgrading of programmers. 2. Another Agile method advantage is one has a launch able product at the end of each tested stage. This ensures bugs are caught and eliminated in the development cycle, and the product is double tested again after the first bug elimination. This is not possible for the Waterfall method, since the product is tested only at the very end, which means any bugs found results in the entire program having to be re-written. Page 10
  • 11. 3. Agile’s modular nature means employing better suited object-oriented designs and programs, which means one always has a working model for timely release even when it does not always entirely match customer specifications. Whereas, there is only one main release in the waterfall method and any problems or delays mean highly dissatisfied customers. 4. Agile methods allow for specification changes as per end-user’s requirements, spelling customer satisfaction. As already mentioned, this is not possible when the waterfall method is employed, since any changes to be made means the project has to be started all over again. 5. However, both methods do allow for a sort of departmentalization e.g. in waterfall departmentalization is done at each stage. As for Agile, each coding module can be delegated to separate groups. This allows for several parts of the project to be done at the same time, though departmentalization is more effectively used in Agile methodologies. In conclusion, though on the plus side, waterfall’s defined stages allow for thorough planning, especially for logical design, implementation and deployment, Agile methodology is a sound choice for software development and web design projects. More and more firms are becoming Agile Most agile methods share iterative development's emphasis on building releasable software in short time periods. Agile methods differ from iterative methods in that their time period is measured in weeks rather than months. Most agile methods also differ by treating their time period as a strict time box. Page 11
  • 12. References: [1] www.eflnet.com/vocab/advvoclist25.php [2] http://www.answers.com/topic/prescriptive [3] http://www.informatik.uni- bremen.de/gdpa/def/def_p/PRESCRIPTIVE_PROCESS_MODEL.htm [4] http://www.answers.com/topic/prescriptive [5] http://en.wikipedia.org/wiki/Agility [6] http://books.google.com.pk/books?id=l9iskVrsP28C&pg=PA150&dq=Prescriptive+vs+agile#PPA149,M1 [7] http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/ [8] http://www.coderanch.com/t/130626/Agile-Other-Processes/Agile-Vs-Iterative Page 12