SlideShare uma empresa Scribd logo
1 de 12
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

Mais conteúdo relacionado

Mais procurados

Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
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 developmentbizpresenter
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their applicationmadhusha udayangani
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek Winter
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
Requirements Engineering in an Agile Environment
Requirements Engineering in an Agile EnvironmentRequirements Engineering in an Agile Environment
Requirements Engineering in an Agile Environmentsunil1993
 
Software Development Model for Startups
Software Development Model for StartupsSoftware Development Model for Startups
Software Development Model for StartupsMartin 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.pptxproxymail1
 
Agile Software Development Approaches
Agile Software Development ApproachesAgile Software Development Approaches
Agile Software Development Approachesdcsunu
 
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 MethodologiesRandy Connolly
 

Mais procurados (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
 

Semelhante a Muzammil Agile Vs Prescriptive

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
A Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentA Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentShiraz316
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxKarim 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 developmentBashir 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 developmentShiraz316
 
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 & 2Raj vardhan
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesAbdul 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 developmentIBM Rational software
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
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.pdfJayanthi Kannan MK
 
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).pptxMrSDeepakRajAssistan
 
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.pptxAbdulMateen516672
 
AGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENTAGILE PROJECT MANAGEMENT
AGILE PROJECT MANAGEMENTNat 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 methodologyIAEME Publication
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3Ashley Fisher
 

Semelhante a Muzammil Agile Vs Prescriptive (20)

SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
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
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3
 

Mais de 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
 

Último

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Último (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

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