unified process,agile process,process assesment ppt
DESCRIPTION
TRANSCRIPT
PRESENTED BY:SHWETA GHATETRUPTI DIWAN
PRATIMA JADHAVSAPNA VASAVE
MIT COLLEGE OF ENGINEERING,PUNE.
Unified Process, Agile process,Process Assessment
Agenda
Unified Process
Agile Process
Process Assessment
What is Process ???
SEP i.e. Software Engineering Process
Defines who, what, when and how of developing software.
Software Engineering Process
New or Changed
requirements
New or Changedsystem
What is Unified Process ??
Unified process (UP) is an architecture-centric, use-case driven, iterative and incremental development process that leverages unified modeling language and is compliant with the system process engineering metamodel.
A popular iterative modern process model (framework) derived from the work on the UML and associated process.
Unified Process
The leading object-oriented methodology for the development of large-scale software
Maps out when and how to use the various UML techniques
Develop high-risk elements in early iterations
Deliver value to customer
Creating the Unified Process
Rational Unified Process 5.01998
Rational Objectory Process 4.11996-1997
Objectory Process 1.0-3.81987-1995
Ericsson Approach
Rational Approach
IBM Approach
Unified Process 1998
OO Approach
The Unified Process
The Unified Process is an adaptable methodology.
The Unified Process is a modeling technique.
UML stands for unified modeling language.
• The object-oriented paradigm is iterative and incremental in nature
Unified Process PhasesInception
Establish the business case for the system, define risks, obtain 10% of the requirements, estimate next phase effort.
Elaboration Develop an understanding of the problem domain and the
system architecture, risk significant portions may be coded/tested, 80% major requirements identified.
Construction System design, programming and testing. Building the
remaining system in short iterations. Transition
Starts when beta testing is completed, Deploy the system in its operating environment. Deliver releases for feedback and deployment
The Phases/Workflows Of Unified Process
lPhase is Business context of a step
Workflow is Technical context of a step
The Phases/Workflows Of Unified Process
l NOTE: Most of the requirements work or workflow is done in the inception phase.
l However some is done later.
The Phases/Workflows Of Unified Process
l NOTE: Most of the implementation work or workflow is done in construction
l However some is done earlier and some later.
Example roles in UP
Stake Holder: customer, product manager, etc.
Software Architect: established and maintains architectural vision
Process Engineer: leads definition and refinement of Development Case
Graphic Artist: assists in user interface design, etc.
Agile Process
Agenda
Manifesto for Agile Software DevelopmentWhat is Agility?Agile Teams Agility and the Cost of ChangeAn Agile ProcessThe principles of agile methods Human FactorsAgile Process ModelsAgile ModelingConclusion
Manifesto for Agile Software Development“We are uncovering better ways of developing software by
doing it and helping others do it. Agile values:1. Individuals and interactions- in agile development, self
organization & motivation are important
2. Working software- working software will be more useful and welcome than just presenting documents to clients in meetings
3. Customer collaboration-requirements cant be fully collected at the beginning of the software development cycle, therefore continuous customer involvement is important
4. Responding to change- agile development is focused on quick responses to change and continuous development
Agility
Effective response to changeEffective communication among all
stakeholdersDrawing the customer into the team. Organizing a team so that it is in control of the
work performed
In order to yield rapid, incremental delivery of software
Agile Teams
Responsive to changes during project development
Recognize that project plans must be flexible
Eliminates the separation between customers and developers
Agility and the Cost of Change
Conventional wisdom is that the cost of change increases nonlinearly as a project progresses. It is relatively easy to accommodate a change when a team is gathering requirements early in a project.
Agility and the Cost of Change
An Agile Process
Is driven by customer descriptions of what is required (scenarios). Some assumptions: Recognizes that plans are short-lived (some requirements will
persist, some will change. Customer priorities will change) Develops software iteratively with a heavy emphasis on
construction activities (design and construction are interleaved, hard to say how much design is necessary before construction. Design models are proven as they are created. )
Analysis, design, construction and testing are not predictable. Thus has to Adapt as changes occur due to unpredictabilityDelivers multiple ‘software increments’, deliver an operational
prototype or portion of an OS to collect customer feedback for adaption.
Human Factors
The process molds to the needs of the people and team, not the other way around
key traits must exist among the people on an agile team : Competence. ( talent, skills, knowledge) Common focus. ( deliver a working software increment ) Collaboration. ( peers and stakeholders) Decision-making ability. ( freedom to control its own destiny) Fuzzy problem-solving ability.(ambiguity and constant
changes, today problem may not be tomorrow’s problem) Mutual trust and respect. Self-organization. ( themselves for the work done, process for
its local environment, the work schedule)
Agile Process Models
Extreme Programming (XP)Adaptive Software Development (ASD)Agile Modeling (AM)
Extreme programming
The most widely used agile process.Defines 4 framework activities
PlanningDesignCodingTesting
Extreme programming
24
planningplanning
designdesign
codingcoding
testtest
refactoring
user stories values acceptance test criteriaiteration plan
simple design CRC cards
spike solutions prototypes
pair programming
unit test continuous integration
acceptance testing
software increment project velocity computedsoftware increment project velocity computed
Release
Extreme programming
XP Planning Begins with the creation of “user requirements” Agile team assesses it and assigns a
cost They are grouped to form a deliverable
increment A commitment is made on delivery date After the first increment “project velocity” is used to help
define subsequent delivery dates for other increments
Extreme programming
XP DesignFollows the KIS principleFor difficult design problems, suggests the
creation of “spike solutions”—a design prototype
Encourages “refactoring”—an iterative refinement of the internal program design
Extreme programming
XP CodingRecommends the construction of a unit test
for a store before coding commences.Encourages “pair programming”.
XP TestingAll unit tests are executed daily“Acceptance tests” are defined by the
customer and executed to assess customer visible functionality
Adaptive Software Development (ASD)
Self-organization arises when independent agents cooperate to create a solution to a problem that is beyond the capability of any individual agent
Adaptive cycle characteristics Mission-driven planning Component-based focus Uses “time-boxing” Explicit consideration of risks Emphasizes collaboration for requirements gathering Emphasizes “learning”
Three Phases of ASD
adaptive cycle planning uses mission statement project constraints basic requirements time-boxed release plan
Requirements gathering J AD mini-specs
components implemented/ tested focus groups for feedback formal technical reviews postmortems
software incrementadjustments for subsequent cycles
Release
Three Phases of ASD
1. Speculation: Project is initiated and adaptive cycle planning
is conducted.Adaptive cycle planning uses project initiation
information.Based on the information obtained at the
completion of the first cycle, the plan is reviewed and adjusted.
Three Phases of ASD
2. Collaborations
Are used to multiply their talent and creative output
beyond absolute number (1+1>2).
It encompasses communication and teamwork, but it
also emphasizes individualism.
Three Phases of ASD
3. Learning:As members of ASD team begin to develop the
components, the emphasis is on “learning”.Learning will help them to improve developers level of
real understanding.Three ways: focus groups, technical reviews and project
postmortems
Process Assessment
What is Process Assessment
An objective model-independent method to assess the capability of an organization to meet the process goals
About collecting information
A way to demonstrate program effectiveness
Assessment Method
Assessment StagesKey PlayersInitiationPreparationAssessmentAnalysis and ReportingClosure
Assessment Stages
Initiation
Preparation
Assessment
Analysisand
Reporting
Closure
Initiation (stage 1)
Define theinputs
• identify the assessment purpose• select the assessment model• define goals for the assessment• identify the business drivers• identify constraints• document assumptions• identify additional information gathering requirements• identify feedback and output requirements• complete the assessment brief
Sanctionthe
business case
• costs and benefits• decision to proceed
Select the Resources
Outputs• assessment purpose• constraints• assessment goals• confidentiality agreements• quality measures to be collected
Assessment (stage 3)
Gather Information
• conduct interviews• study documentation• document findings
• consolidate the findings• rate the goals• rate the process• feedback initial conclusions• determine the Organizational Unit’s Capability Level
Reach Consensus
• on ALL ratings!
Conduct• according assessment plan• adapt plan for changes and feedback• data collection by interview or document• data review for process ratings• assessors agree on ratings before submitting them to the Lead Assessor
Types• measurement only (no analysis)• Findings & Recommendations• Findings & Action Planning
Analysis & Reporting (stage 4)
AnalyseFindings
DisseminateFindings
IdentifyAction Plan
issue Final Report
• Strengths & Weaknesses• Gap Analysis• Identify Improvement Opportunities
• semi-formal interactive feedback session
• prioritise improvements according impact & effort against business drivers• Cost/benefit Analysis• Schedule of improvement roll-out
• management findings & recommendations• summary assessment process & key players• results compared with targets• detailed process findings
Closure (stage 5)
Post-AssessmentReview
• results of the analysis of the participants feedback forms• the assessments’ achievements against its goals• the overall level of confidence in the assessments results• any problems the assessors experienced during the assessment including problems with the use of the method• the successes achieved• the techniques used during the assessment• the organizational unit and the Sponsor's response to the results
• Lead Assessor ensures that the Assessment Conformance Checklist is complete and signed-off.
Thank You