SE CH 2
SE CH 2
DEVELOPMENT
SOFTWARE ENGINEERING
• Agile SDLC model is a combination of iterative and incremental process models with
focus on process adaptability and customer satisfaction by rapid delivery of working
software product.
• Agile Methods break the product into small incremental builds.
• Every iteration involves functional teams working simultaneously on various areas like
planning, requirements analysis, design, coding, unit testing, and acceptance testing.
• A simple meaning of Agile is -> ready to move in quick and easy way.
•Agile is being very popular now a days in software development area.
•It includes constant stakeholder collaboration and continues improvements at each phase.
• The project can easily get “off track” if the customer representative is not
clear about final outcome, that they want.
• A developer focuses on the framework activities like planning, design, coding and
testing.
XP values
Following are the values for extreme programming:
1. Communication
2) Simplicity
• XP focuses on the current needs instead future needs to incorporate in the design .
• The feedback for the software product cab be obtained from the developers of the
software ,customers, and other software development team.
4. Courage/Trust
In every development process there will always be a pressure situation. The courage
or the discipline to deal with it surely makes the task easy.
5. Respect
Agile process should inculcate the habit to respect all team members, other stake
holders and customer.
EXTREME PROGRAMMING (XP)
1. XP – PLANNING
• Planning starts with the requirements gathering which enables XP team to
understand the rules for the software.
•Here instead of making larger document user stories are written by the customer in
which what they need is mentioned.
•The customer and developer work together for the final requirements.
•The developer breaks down the user stories into small release and a plan for
releasing small functionalities is prepared.
•Divide the development into small iteration. iterative development helps in quick or
agile development.
2. XP – DESIGN
• The XP design follows the 'keep it simple' principle.
•Simple design always takes less time than the complex design .It
is always good to keep the things simple to meet the current
requirements.
3. XP – CODING
•After the initial design work is done, the team creates a set of unit tests which can test
each situation that should be a part of the release.
•Two people are assigned to create the code. It is an important concept in coding
activity, this will increase the quality of coding.
4. XP – TESTING
•Validation testing of the system occurs on a daily basis. It gives the XP team a
regular indication of the progress.
•All the code must be tested using unit testing before its release.
Face book, Google, Twitter, and
Microsoft are all real-life examples
of extreme programming and have
successfully used them to grow
their businesses.
2) ADAPTI V E SOFTWARE DEVELOPMENT
(ASD)
•In this agile method, the project deadline is met using the incremental
prototyping approach.
•This is an iterative development process.
•Various phases of this life cycle model
•Feasibility study
•By analyzing the business requirements and constraints the
viability of the application is determined
DYNAMIC SYSTEMS DEVELOPMENT METHODS
(DSDM)
•Business study
•The functional and informational requirements are identified and
then the business value of the application is determined
2. Sprint
• These are the work units that are needed to achieve the requirements
mentioned in the backlogs.
• Typically the sprints have fixed duration or time box (of 2 to 4 weeks).
• Thus sprints allow the team members to work in stable and short-term
environment.
3. Meetings/Daily Srum
• There are 15 minutes daily meetings to report the completed activities,
obstacles and plan for next activities.
• Following are three questions that are mainly discussed during the meetings.
• 1) What are the tasks done since last meeting ?
• 2) What are the issues that team is facing ?
• 3) What are the next activities that are planned ?
4. Srum Masters
5. Product Owner
Advantages
Disadvantages
• Stephen Palmer and John Flesing has extended and enhanced Coad’s work.
• In FDD, the feature means client valued function.
• It is an iterative and incremental software process model.
• Various phases in the FDD life cycle
1. Develop overall model
• The high-level walkthrough of scope and detailed domain walkthrough are conducted to
create overall models.
2. Build feature list
• List of features is created and expressed in the following form
• <action> the <result> <by for of to> a(n) <object>
• For Ex. “Display product-specifications of the product”
3. Plan by feature
• After completing the feature list the development plan is created
4. Design by feature
• For each feature the sequence diagram is created
5. Build by feature
• Finally the class owner develop the actual code for their classes
6) CRYSTAL
•Alistair and Highsmith suggested the crystal family of agile methods.
•In this method, a set of methodologies are defined which contains the
core elements that are common to all.
•This method also contains roles, process patterns, work products and
practice that are unique to each.
•Thus the crystal family is actually a set of agile processes that are
useful for different types of projects.
•The agile team has to select the members of the crystal family that is
most appropriate for their ongoing project and environment.
THANK YOU