Page 74 - DCAP405_SOFTWARE_ENGINEERING
P. 74

Unit 5: An Agile View of Process




          knowledge is hard to put on paper. Left alone programmers must assume they know everything  Notes
          they need. When asking questions is difficult or slow the knowledge gap grows. The system will
          get built, but it won’t solve the problem like one guided by an expert on a daily basis.
          Perhaps the biggest problem with software development is changing requirements. Agile
          processes accept the reality of change versus the hunt for complete, rigid specifications. There
          are domains where requirements can’t change, but most projects have changing requirements.
          For most projects readily accepting changes can actually cost less than ensuring requirements
          will never change.
          We can produce working software starting with the first week of development so why not show
          it to the customer? We can learn so much more about the project requirements in the context of
          a working system. The changes we get this way are usually the most important to implement.
          Agile also means a fundamental change in how we manage our projects. If working software is
          what you will deliver then measure your progress by how much you have right now. We will
          change our management style to be based on getting working software done a little at a time.
          The documents we used to create as project milestones may still be useful, just not as a measure
          of progress.




             Notes  Instead of managing our activities and waiting till the project ends for software, we
            will manage our requirements and demonstrate each new version to the customer. It is a
            hard change to make but it opens up new ways to develop software.
          “Agile process model” refers to a software development approach based on iterative
          development. Agile methods break tasks into smaller iterations or parts and do not directly
          involve long term planning. The project scope and requirements are clearly laid down at the
          beginning of the development process. Plans regarding the number of iterations, the duration
          and the scope of each iteration are clearly defined in advance.
          Each iteration is considered as a short time “frame” in Agile process model which typically lasts
          from one to four weeks. The division of the entire project into smaller parts helps to minimize
          the project risk and to reduce the overall project delivery time requirements. Each iteration
          involves a team working through a full software development life cycle including planning,
          requirements analysis, design, coding and testing before a working product is demonstrated to
          the client.
          Agile process model can be implemented with the help of various methods such as Extreme
          Programming, Essential Unified Process, DSDM, Agile Data Method, Agile Modeling, Agile
          Unified Process and so on. Most models promote a business approach that maps software
          development with customer needs and company goals.
          “Flash Application Development” is a professional IT solutions company committed to deliver
          higher-end IT solutions based on Agile process model. Agile methods help minimize overall
          risk and lets the project adapt to changes quickly, which is very critical if business has to succeed
          in today’s competitive world.

          5.2.1 XP (Extreme Programming)

          The first Extreme Programming project was started March 6, 1996. Extreme Programming is one
          of several popular Agile Processes. It has already been proven to be very successful at many
          companies of all different sizes and industries world wide.







                                           LOVELY PROFESSIONAL UNIVERSITY                                   67
   69   70   71   72   73   74   75   76   77   78   79