SlideShare a Scribd company logo
Making Agile Work for You


Software Engineering Institute
Carnegie Mellon University
Pittsburgh, PA 15213

Timothy A. Chick
SEI Webinar Series
July 2011




                                 © 2011 Carnegie Mellon University
Timothy A. Chick, July 2011
© 2011 Carnegie Mellon University   2
Twitter #seiwebinar
Attend the TSP Symposium 2011 to learn more:
   • Visit www.sei.cmu.edu/tspsymposium and sign up to
     receive email updates

  • Join the TSP/PSP Heroes group on LinkedIn

  • SAVE $100.00 using discount code: TSPBZSN




                                         Timothy A. Chick, July 2011
                                         © 2011 Carnegie Mellon University   3
                                         Twitter #seiwebinar
How to Participate Today




                      Open and close your Panel

                      View, Select, and Test your audio

                      Submit text questions



                      Q&A addressed at the end of today’s session




                                              Timothy A. Chick, July 2011
                                              © 2011 Carnegie Mellon University   4
                                              Twitter #seiwebinar
Today’s Presenter
Timothy A. Chick is a senior member of the technical staff at the Software
Engineering Institute (SEI) where he works on the Team Software Process (TSP)
Initiative.

In this role, Chick is responsible for defining, developing, and transitioning into
practice high-performance software and systems engineering practices based on
the principles and concepts in TSP and Capability Maturity Model Integration
(CMMI). His work includes applied research, product and training development,
education/training delivery, and consulting in the domains of software
engineering and systems engineering process improvement.

Chick is currently an SEI-Certified CMMI Instructor and TSP Mentor Coach, and
he also holds a Lean Six Sigma Black Belt certification. He has published
numerous technical reports and bylined technical articles in top industry
publications on TSP and CMMI.

Prior to joining the SEI, he worked as a project manager for Naval Air Systems
Command (NAVAIR), leading software development projects and software
process improvement efforts for the E-2C Hawkeye Program. Chick has a
bachelor of science degree in computer engineering from Clemson University
and a master of science degree in computer science from Johns Hopkins
University.




                                                                              Timothy A. Chick, July 2011
                                                                              © 2011 Carnegie Mellon University   5
                                                                              Twitter #seiwebinar
Topics

Agile Overview
Selecting the Appropriate Agile Methods
Maintaining Consistency and Agility using TSP




                                                Timothy A. Chick, July 2011
                                                © 2011 Carnegie Mellon University   6
                                                Twitter #seiwebinar
Agile or agile




                 Timothy A. Chick, July 2011
                 © 2011 Carnegie Mellon University   7
                 Twitter #seiwebinar
Agile Manifesto
       Manifesto for Agile Software Development
                             February 2001

             We are uncovering better ways of developing

             software by doing it and helping others do it.

               Through this work we have come to value:


                                        before
       Individuals and interactions over processes and tools

                            before
      Working software over comprehensive documentation

                                      before
         Customer collaboration over contract negotiation


                                        while
           Responding to change over following a plan
       That is, while there is value in the items on the right,
                we value the items on the left more.Timothy A. Chick, July 2011
                                                            © 2011 Carnegie Mellon University   8
                                                            Twitter #seiwebinar
The Twelve Agile Principles
1. Our highest priority is to satisfy the customer through early and continuous delivery of
   valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change
   for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
   preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need,
   and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development
   team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users
   should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
   its behavior accordingly.


                                                                         Timothy A. Chick, July 2011
                                                                         © 2011 Carnegie Mellon University   9
                                                                         Twitter #seiwebinar
Agile Methods

There is no single Agile method, but there are several methods that
are shaped by Agile principles.
 •   Extreme Programming (XP)
 •   SCRUM
 •   Dynamic Systems Development Method (DSDM)
 •   Adaptive Software Development
 •   Crystal
 •   Feature-Driven Development
 •   Pragmatic Programming
 •   TSP


Today, any method that is an alternative to documentation driven,
heavyweight software development processes is probably an
Agile method.

                                                   Timothy A. Chick, July 2011
                                                   © 2011 Carnegie Mellon University   10
                                                   Twitter #seiwebinar
Extreme Programming -1
The Twelve Practices of XP
1. The Planning Game - XP follows an iterative development process and the planning
   game is used to develop an overall plan, the release plan, and the iteration plan.
2. On-site customer - A requirement of XP is to include a customer on the team and the
   customer must be available full-time to answer questions as they arise, preferably face to
   face, and preferably on site.
3. Small releases - The product is built in small releases with very few features
   implemented during each iteration (time boxed).
4. Metaphor - XP discourages defining an architecture or creating a framework for the
   product being developed, instead, XP uses something called a metaphor.
   The metaphor provides an idea or a model for the system, which developers can
   use as guidance during the entire project.
5. Simple design - The design is kept as simple as possible. You only do enough design
   to implement the next feature.
6. Testing - Programmers write automated unit tests for every feature. No new feature is
   implemented without writing the unit test first. The customer writes acceptance tests.
   Acceptance tests are used to test the functionality of individual features of a product.




                                                                Timothy A. Chick, July 2011
                                                                © 2011 Carnegie Mellon University   11
                                                                Twitter #seiwebinar
Extreme Programming -2
The Twelve Practices of XP (continued)
7. Refactoring - Refactoring improves the design of existing code by making it simpler,
   faster, more robust, cleaner, or by eliminating duplication, without changing the
   function of the code.
8. Pair programming - All production code is written with two people using one machine,
   one keyboard, and one mouse. Pairs change constantly. Pair programming also
   includes pair designing and pair unit testing.
9. Collective ownership - Any developer can change any code at any time.
   There is no concept of code ownership. There is no concept of a system architect or
   a keeper of the vision.
10. Continuous integration - The system is integrated, built, and unit-tested several
   times a day. Each time a pair finishes a task, they must integrate and release their
   changes to the team. The guidelines are that no one must go longer than a day
   before they integrate.
11. 40-hour week - XP teams work 40-hour weeks. Teams will never work more than two
   back-to-back weeks that exceed 40 hours per week.
12. Coding standards - Since anyone can make changes to any code at any time,
   the team must use a coding standard. Teams define and evolve their own
   coding standard.

                                                                 Timothy A. Chick, July 2011
                                                                 © 2011 Carnegie Mellon University   12
                                                                 Twitter #seiwebinar
SCRUM
  Scrum is an iterative, incremental methodology for
  managing agile software projects.
                           The Team selects
                                                          The Team builds
                         user stories from the
                                                          the stories in the
                              top of the list,
                                                           sprint, tracking
                          planning enough to
                                                           progress daily
                           fill the 2 to 4 week
                                   sprint

The Product Owner                                                                           At the end of the
creates the backlog,                                                                      sprint the feature(s)
 a prioritized list of                                                                       developed are
desired user stories                                                                      potentially shippable


                                                                                         Team
                                                                                     Retrospective
                                                                                      Refactoring
                                                                                        Tasks

                           The cycle is repeated until the backlog is emptied,
                               the budget is spent, or a deadline arrives

                                                                           Timothy A. Chick, July 2011
                                                                           © 2011 Carnegie Mellon University   13
                                                                           Twitter #seiwebinar
Development Activities Within an Agile Sprint1

  Team members
    • select the next user story from the top of the sprint queue.
    • write the unit tests for the user story, then write and test the code.2
    • interact with the product owner and demo working code.


  At the end of the sprint
    • a retrospective is held to document lessons learned
    • any refactoring work is added to the next sprint
    • unfinished user stories slip to the next sprint




1.Adapted from CMU/SEI-2010-TN-002; Considerations for Using Agile in DoD Acquisition
2.Two team members if pair programming

                                                                              Timothy A. Chick, July 2011
                                                                              © 2011 Carnegie Mellon University   14
                                                                              Twitter #seiwebinar
Measures and Progress in Agile Methods

Working software – the potentially releasable features created during
each sprint.
Burn-down chart – tracks the work completed and work remaining.
• two views – the current sprint and the overall project
• includes the hours of effort remaining and the number of tasks remaining in
  for the sprint or project.
Velocity – measures the number of user stories completed in a sprint
and can be used to predict the completion date range.
Cyclomatic complexity – a measure of the “goodness” of the software
that is used to establish the need for refactoring.




                                                        Timothy A. Chick, July 2011
                                                        © 2011 Carnegie Mellon University   15
                                                        Twitter #seiwebinar
Topics

Agile Overview
Selecting the Appropriate Agile Methods
Maintaining Consistency and Agility using TSP




                                                Timothy A. Chick, July 2011
                                                © 2011 Carnegie Mellon University   16
                                                Twitter #seiwebinar
Traditional and Agile Perspective on Software Development
                             Traditional View                        Agile Perspective

 Design Process              Deliberate and formal, linear           Emergent, iterative and exploratory, knowing and action
                             sequence of steps, separate             inseparable, beyond formal rules
                             formulation and implementation,
                             rule-driven
 Goal                        Optimization                            Adaptation, flexibility, responsiveness
 Problem-solving             Selection of the best means to          Learning through experimentation and introspection, constantly
 Process                     accomplish a given end through          reframing the problem and its solution
                             well-planned, formalized
                             activities
 View of the                 Stable, predictable                     Turbulent, difficult to predict
 Environment
 Type of Learning            Single-loop/adaptive                    Double-loop/generative
 Key Characteristics         Control and direction                   Collaboration and communication; integrates different worldviews
                             Avoid conflict                          Embraces conflict and dialectics
                             Formalizes innovation                   Encourages exploration and creativity; opportunistic
                             Manager is controller                   Manager is facilitator
                             Design precedes implementation          Design and implementation are inseparable and evolve iteratively
 Rationality                 Technical/functional                    Substantial
 Theoretical and/or          Logical positivism, scientific          Action learning, John Dewey’s pragmatism, phenomenology
 Philosophical Roots         method


Dyba, Tore; Torgeir Dingsoyr, What Do We Know about Agile Software Development, Published by the IEEE Computer Society, 0740-7459/09, 2009

                                                                                                       Timothy A. Chick, July 2011
                                                                                                       © 2011 Carnegie Mellon University     17
                                                                                                       Twitter #seiwebinar
Symbiotic Relationship

Agile and traditional methods have a symbiotic relationship, in which the
process selected is based on:
 •   Size of project/application
 •   Application domain
 •   Criticality
 •   Innovativeness

So how does an organization identify the agile practices that improve the
development process without causing any harmful side-effects to the
product, project, system, or organization?




                                                    Timothy A. Chick, July 2011
                                                    © 2011 Carnegie Mellon University   18
                                                    Twitter #seiwebinar
Five Critical Factors

Boehm and Turner identify five critical
factors to guide method selection
and/or tailoring.
 •   Seniority of personnel
 •   Dynamism
 •   Organization’s Culture
 •   Project size
 •   Criticality

“…there will be a higher premium on
having methods available that combine
discipline and agility in situation-
tailorable ways.”

           1. Boehm, B.; R. Turner (2004).
           Balancing Agility and
           Discipline: A Guide for the
           Perplexed.


                                             Timothy A. Chick, July 2011
                                             © 2011 Carnegie Mellon University   19
                                             Twitter #seiwebinar
Three Fundamental Factors

 1. Identifying the ability of the organization to adopt agile practices
 2. Determining the suitability of agile practices in the development of
    a given product or system
 3. Determining the suitability of agile practices for the organization
    developing the product or system.




Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems,
Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12

                                                                                                        Timothy A. Chick, July 2011
                                                                                                        © 2011 Carnegie Mellon University   20
                                                                                                        Twitter #seiwebinar
Ability of the Organization to Adopt Agile

 1. Agile is like any other Process Improvement Initiative
    Successful adoption of agile practices requires the absorption of associated
    costs, as well as expending the required time and effort.
 2. Method for reaching a decision to proceed or not
     a. Identify success factors, such as
       – Level of executive sponsorship
       – Organizational desire to improve
       – Availability of resources
     b. Assess the extent to which the success factors are present
     c. Make a Go/No-go decision based on assessment results




Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems,
Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12

                                                                                                        Timothy A. Chick, July 2011
                                                                                                        © 2011 Carnegie Mellon University   21
                                                                                                        Twitter #seiwebinar
Suitability of Agile Practices

 1. Development and product characteristics play a large role in
     determining the suitability of a particular agile methods
         – For example, life-critical systems are usually characterized as being
           large, complex, and having long development periods
 2. The desired product qualities also play a role in determining
     appropriate agile methods.
         – For example, Maintainability and Reliability



 An agile practice is considered unsuitable and must be discarded when
 it conflicts with integral product/development characteristics, or
 precludes the attainment of desirable qualities


Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems,
Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12

                                                                                                        Timothy A. Chick, July 2011
                                                                                                        © 2011 Carnegie Mellon University   22
                                                                                                        Twitter #seiwebinar
When is this unsuitable or impractical? - 1

  On-site customer - the customer must be available full-time to answer
  questions as they arise, preferably face-to-face, and preferably on-site.
     Many stakeholders who are unable to speak to one another’s requirements
     and priorities (need for a traditional System’s Engineer or Requirements
     Analysis)

  Minimal documentation – The discouragement of writing requirements
  and design because of the cost associated with developing and
  maintaining them and the fact they do not deliver value to the customer,
  only working software does
 1. Staffing flux results in the tacit knowledge of the developers being lost,
    which can result in a considerable slowdown in the work
 2. The lack of documentation demonstrating the origins of some technical
    material can be costly when faced with an intellectual property lawsuit

Source of examples: Emam, Khaled El; Finding Success in Small Software Projects, Cutter Consortium, Agile Project Management, Vol. 4, No. 11.

                                                                                                     Timothy A. Chick, July 2011
                                                                                                     © 2011 Carnegie Mellon University          23
                                                                                                     Twitter #seiwebinar
Suitability of Agile for the Organization
 When mismatches between the agile method and the organization are
    identified before the adoption effort, the probability of failing during the
    adoption effort or introducing undesirable agile practices is reduced.
 1.   (Polling Question 1) Is Test-First Programming (TFP) a mismatch
      when it is determined that TFP will produce the desired quality, but
      your organization already has a dedicated Independent Verification
      and Validation (IV&V) team?
         No, as TFP addresses how the developers do unit testing and has no effect on the dedicated test team

 2.      (Polling Question 2) Is Pair Programming a mismatch when it is
         determined that the method will meet required product qualities, but
         that the organization has major collaborative issues?
          Yes, as Pair Programming works best in a collaborative environment




Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems,
Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12

                                                                                                        Timothy A. Chick, July 2011
                                                                                                        © 2011 Carnegie Mellon University   24
                                                                                                        Twitter #seiwebinar
Usage Varies - Microsoft Agile Study

     An agile practices survey of 2,800 developers, testers, and managers
     was conducted at Microsoft.
       •   Nearly 500 (17%) responded to the survey.
       •   Respondents had an average of 10 years of experience
       •   Average time on their current team was 2.5 years
       •   Testers and developers represented 73% of the respondents
       •   Managers, and managers of managers represented 24% of respondents
       •   More than 60% of the respondents work on legacy products




Nagappan, N; Begel, A, Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study, 2007

                                                                                         Timothy A. Chick, July 2011
                                                                                         © 2011 Carnegie Mellon University   25
                                                                                         Twitter #seiwebinar
Microsoft – Agile Adoption by Practice




                                 Timothy A. Chick, July 2011
                                 © 2011 Carnegie Mellon University   26
                                 Twitter #seiwebinar
Microsoft – Attitude towards Agile




                                 Timothy A. Chick, July 2011
                                 © 2011 Carnegie Mellon University   27
                                 Twitter #seiwebinar
Topics

Agile Overview
Selecting the Appropriate Agile Methods
Maintaining Consistency and Agility using TSP




                                                Timothy A. Chick, July 2011
                                                © 2011 Carnegie Mellon University   28
                                                Twitter #seiwebinar
Maintaining Consistency and Scalability
with Agility
How does the developing organization empower teams to make
these process selections, while maintaining consistency and agility
throughout the organization?




                                                   Timothy A. Chick, July 2011
                                                   © 2011 Carnegie Mellon University   29
                                                   Twitter #seiwebinar
Simple But Not Easy


         "Everything should be made
         as simple as possible, but not
         simpler."




         "For every complex problem,
         there is a solution that is
         simple, neat, and wrong."



                                          Timothy A. Chick, July 2011
                                          © 2011 Carnegie Mellon University   30
                                          Twitter #seiwebinar
Team Software Process
                   The Team Software Process (TSP)
                   is a process framework that was
                   specifically designed for software
                   teams.
                   It’s purpose is to help teams achieve
                   their best performance by showing
                   them how to
                    • accurately estimate and plan
                      their work
                    • negotiate their commitments
                      with management
                    • manage and track projects to a
                      successful conclusion
                    • manage quality to produce better
                      products in less time

                                    Timothy A. Chick, July 2011
                                    © 2011 Carnegie Mellon University   31
                                    Twitter #seiwebinar
TSP and Agile - 1
        Individuals and interactions over processes and tools
          • TSP holds that individuals are the key to product quality and effective
            member interactions are necessary for the team to succeed
             • Project launches strive to create jelled teams
             • Weekly meetings and communication are essential to sustain them
             • Teams define their own processes in the launch
             • Sharing leadership responsibilities helps interaction between members
        Working software over comprehensive documentation
          • TSP teams can choose evolutionary or iterative lifecycle models to deliver
            early functionality – the focus is on high quality working software from the
            start. TSP does not require heavy documentation
             • Documentation should merely be sufficient to facilitate effective reviews
               and information sharing
             • TSP teams can determine the level of documentation produced based on
               organizational standards, customer needs, and system attributes.

Source: Lussier, Frederick, CMMI Agile Processes – PSP/TSP. Alcyonix Inc., http://www.slideshare.net/flussier/psp-tsp-agile-3-0-en

                                                                                                                                     Timothy A. Chick, July 2011
                                                                                                                                     © 2011 Carnegie Mellon University   32
                                                                                                                                     Twitter #seiwebinar
TSP and Agile - 2
        Customer collaboration over contract negotiation
          • Learning what the customer wants is a key focus of the TSP
             • The customer or a representative is required to be present when TSP teams
               start planning the project and first cycle.
             • The customer or a representative can also attend each re-launch to guide
               plans for the next cycle.
             • The TSP has a team member role, the Customer Interface Manager, for the
               purpose of collaboration with the customer.
        Responding to change over following a plan
          • TSP teams expect and plan for change
             • TSP teams re-plan whenever the plan is no longer a useful guide
             • New tasks are added as they are discovered
             • They dynamically rebalance the team workload as required to finish faster
             • The team’s process is adjusted as needed to improve performance
             • The team continuously manages risk and uses early-warning indicators to
               identify and avoid technical and planning issues.
Source: Lussier, Frederick, CMMI Agile Processes – PSP/TSP. Alcyonix Inc., http://www.slideshare.net/flussier/psp-tsp-agile-3-0-en

                                                                                                                                     Timothy A. Chick, July 2011
                                                                                                                                     © 2011 Carnegie Mellon University   33
                                                                                                                                     Twitter #seiwebinar
TSP is Agile and More
Features TSP and Agile Methodologies Support
Agile                                          TSP
Team organization                              Team organization
Project management – planning and estimating   Project management – planning and estimating
Change control                                 Change control
Requirements                                   Requirements
Design                                         Design
Code development                               Code development
Configuration control                          Configuration control
Testing                                        Testing
                                               Specialization of team members
                                               Project management – tracking and control
                                               Reusability
                                               Quality assurance
                                               Inspections
                                               Static analysis
                                               Security
                                               Documentation and training
                                                                       Software Engineering Best Practices, C. Jones, 2010

                                                                                 Timothy A. Chick, July 2011
                                                                                 © 2011 Carnegie Mellon University           34
                                                                                 Twitter #seiwebinar
TSP is a Software Engineering Best Practice
                                                   Start


                                                    Size


             Small                              Medium                          Large

            Methods                              Methods                       Methods
        1) Agile                             1) TSP/PSP              1) TSP/PSP
        2) TSP/PSP                           2) Agile                2) CMMI 3, 4, 5
        3) Waterfall                         3) CMMI 3               3) RUP
        4) CMMI 1, 2                         4) RUP                  4) Hybrid


                 Development practices by size of application[1]

     Software Engineering Best Practices, C. Jones, 2010



                                                           Timothy A. Chick, July 2011
                                                           © 2011 Carnegie Mellon University   35
                                                           Twitter #seiwebinar
Summary

Agile is a means to an end.

Decide upon your goals, how you will measure success, then determine
what strategy, process, and activities help you achieve those goals.

TSP can provide the disciplined, yet flexible, planning, quality, and
process frameworks needed to successfully scale other Agile methods
across your organization.




                                                  Timothy A. Chick, July 2011
                                                  © 2011 Carnegie Mellon University   36
                                                  Twitter #seiwebinar
Contact Information

Timothy A. Chick                    U.S. Mail
Sr. Member of the Technical Staff   Software Engineering Institute
TSP Initiative                      Customer Relations
Telephone: +1 412-268-1473          4500 Fifth Avenue
Email: tchick@sei.cmu.edu           Pittsburgh, PA 15213-2612
                                    USA

Web                          Customer Relations
www.sei.cmu.edu/TSP          Email: info@sei.cmu.edu
www.sei.cmu.edu/TSPSymposium Telephone:      +1 412-268-5800
                             SEI Phone:      +1 412-268-5800
                             SEI Fax:        +1 412-268-6257


                                                  Timothy A. Chick, July 2011
                                                  © 2011 Carnegie Mellon University   37
                                                  Twitter #seiwebinar
NO WARRANTY
THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE
MATERIAL IS FURNISHED ON AN “AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY
MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO
ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR
PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM
USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY
WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT,
TRADEMARK, OR COPYRIGHT INFRINGEMENT.
Use of any trademarks in this presentation is not intended in any way to infringe on the
rights of the trademark holder.
This Presentation may be reproduced in its entirety, without modification, and freely
distributed in written or electronic form without requesting formal permission. Permission
is required for any other use. Requests for permission should be directed to the Software
Engineering Institute at permission@sei.cmu.edu.
This work was created in the performance of Federal Government Contract Number
FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software
Engineering Institute, a federally funded research and development center. The
Government of the United States has a royalty-free government-purpose license to use,
duplicate, or disclose the work, in whole or in part and in any manner, and to have or
permit others to do so, for government purposes pursuant to the copyright license under
the clause at 252.227-7013.

                                                                 Timothy A. Chick, July 2011
                                                                 © 2011 Carnegie Mellon University   38
                                                                 Twitter #seiwebinar

More Related Content

What's hot

SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
OpenLearningLab
 
Oop01 6
Oop01 6Oop01 6
Oop01 6
schwaa
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
guestaa42e9
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
Guang Ying Yuan
 
Selected Aspects of Software Development
Selected Aspects of Software DevelopmentSelected Aspects of Software Development
Selected Aspects of Software Development
Haitham El-Ghareeb
 
Lecture 1 introduction to applied software project management
Lecture 1   introduction to applied software project managementLecture 1   introduction to applied software project management
Lecture 1 introduction to applied software project management
anasz3z3
 
Agile software development
Agile software developmentAgile software development
Agile software development
Hemangi Talele
 
Integrating Quick Test Pro and Hammer – Experience Report
Integrating Quick Test Pro and Hammer – Experience ReportIntegrating Quick Test Pro and Hammer – Experience Report
Integrating Quick Test Pro and Hammer – Experience Report
Brett Leonard
 

What's hot (14)

SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
 
Oop01 6
Oop01 6Oop01 6
Oop01 6
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
5 Must-to-Read Books on DevOps
5 Must-to-Read Books on DevOps5 Must-to-Read Books on DevOps
5 Must-to-Read Books on DevOps
 
Selected Aspects of Software Development
Selected Aspects of Software DevelopmentSelected Aspects of Software Development
Selected Aspects of Software Development
 
Portfolio Task Outlines
Portfolio Task OutlinesPortfolio Task Outlines
Portfolio Task Outlines
 
Lecture 1 introduction to applied software project management
Lecture 1   introduction to applied software project managementLecture 1   introduction to applied software project management
Lecture 1 introduction to applied software project management
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Integrating Quick Test Pro and Hammer – Experience Report
Integrating Quick Test Pro and Hammer – Experience ReportIntegrating Quick Test Pro and Hammer – Experience Report
Integrating Quick Test Pro and Hammer – Experience Report
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
 
No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 

Viewers also liked (8)

Letra de cambio
Letra de cambioLetra de cambio
Letra de cambio
 
Sym18 296 Ae (Dbaccess Case Study)
Sym18 296 Ae (Dbaccess Case Study)Sym18 296 Ae (Dbaccess Case Study)
Sym18 296 Ae (Dbaccess Case Study)
 
Evolucione a la Plataforma Tecnológica Requerida por su Negocio
Evolucione a la Plataforma Tecnológica Requerida por su NegocioEvolucione a la Plataforma Tecnológica Requerida por su Negocio
Evolucione a la Plataforma Tecnológica Requerida por su Negocio
 
DBA Verde - Blue Planet Run
DBA Verde - Blue Planet RunDBA Verde - Blue Planet Run
DBA Verde - Blue Planet Run
 
DBAccess Top 100 IT Companies 2008
DBAccess Top 100 IT Companies 2008DBAccess Top 100 IT Companies 2008
DBAccess Top 100 IT Companies 2008
 
DBAccess; Organizaciones en Red Management 2.0
DBAccess; Organizaciones en Red Management 2.0DBAccess; Organizaciones en Red Management 2.0
DBAccess; Organizaciones en Red Management 2.0
 
La cultura DBAccess: innovar en la gente
La cultura DBAccess: innovar en la genteLa cultura DBAccess: innovar en la gente
La cultura DBAccess: innovar en la gente
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 

Similar to SEI Webinar Series: Making Agile Work for You

James Sullivan CV 2015
James Sullivan CV 2015James Sullivan CV 2015
James Sullivan CV 2015
James Sullivan
 
Cognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptxCognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptx
qqsw1
 
Cognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptxCognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptx
MannuMatamAkash
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
Zeeshan Masood S
 

Similar to SEI Webinar Series: Making Agile Work for You (20)

Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
 
James Sullivan CV 2015
James Sullivan CV 2015James Sullivan CV 2015
James Sullivan CV 2015
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
Unit2
Unit2Unit2
Unit2
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDD
 
Introduction to Lean & Agile Work
Introduction to Lean & Agile WorkIntroduction to Lean & Agile Work
Introduction to Lean & Agile Work
 
Cognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptxCognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptx
 
Cognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptxCognizant Presentation for Task 1.pptx
Cognizant Presentation for Task 1.pptx
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
chapter-03-Agile view of process.ppt
chapter-03-Agile view of process.pptchapter-03-Agile view of process.ppt
chapter-03-Agile view of process.ppt
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Agile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, MumbaiAgile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, Mumbai
 
Unit3.pptx
Unit3.pptxUnit3.pptx
Unit3.pptx
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 

More from La Red DBAccess

Mediciones en la Gestión de Proyectos
Mediciones en la Gestión de Proyectos Mediciones en la Gestión de Proyectos
Mediciones en la Gestión de Proyectos
La Red DBAccess
 
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
La Red DBAccess
 
Presentacion Corporativa DBAccess
Presentacion Corporativa DBAccessPresentacion Corporativa DBAccess
Presentacion Corporativa DBAccess
La Red DBAccess
 
La Importancia de las Preguntas de Café
La Importancia de las Preguntas de CaféLa Importancia de las Preguntas de Café
La Importancia de las Preguntas de Café
La Red DBAccess
 
DBAccess Inicio de la Unidad Prisma
DBAccess Inicio de la Unidad PrismaDBAccess Inicio de la Unidad Prisma
DBAccess Inicio de la Unidad Prisma
La Red DBAccess
 
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
La Red DBAccess
 
Accede Taller de Inserción Laboral USB - 08-10-2010
Accede Taller de Inserción Laboral USB - 08-10-2010Accede Taller de Inserción Laboral USB - 08-10-2010
Accede Taller de Inserción Laboral USB - 08-10-2010
La Red DBAccess
 
Programa de Formación SOA
Programa de Formación SOAPrograma de Formación SOA
Programa de Formación SOA
La Red DBAccess
 
Manifiesto Atención al Cliente DBAccess
Manifiesto Atención al Cliente DBAccessManifiesto Atención al Cliente DBAccess
Manifiesto Atención al Cliente DBAccess
La Red DBAccess
 
DBAccess en la Práctica
DBAccess en la PrácticaDBAccess en la Práctica
DBAccess en la Práctica
La Red DBAccess
 
Presentación Excelencia en Expansión - EDE
Presentación Excelencia en Expansión - EDEPresentación Excelencia en Expansión - EDE
Presentación Excelencia en Expansión - EDE
La Red DBAccess
 
Revista Business Hecho en Venezuela Víctor García
Revista Business Hecho en Venezuela Víctor GarcíaRevista Business Hecho en Venezuela Víctor García
Revista Business Hecho en Venezuela Víctor García
La Red DBAccess
 
Buenas Prácticas en el Diseño de Consultas de Hibernate
Buenas Prácticas en el Diseño de Consultas de HibernateBuenas Prácticas en el Diseño de Consultas de Hibernate
Buenas Prácticas en el Diseño de Consultas de Hibernate
La Red DBAccess
 
DBAccess: Ponencia XII Jornadas de DHS
DBAccess: Ponencia XII Jornadas de DHSDBAccess: Ponencia XII Jornadas de DHS
DBAccess: Ponencia XII Jornadas de DHS
La Red DBAccess
 
DBAccess en el XI Maratón de Programación de la USB
DBAccess en el XI Maratón de Programación de la USBDBAccess en el XI Maratón de Programación de la USB
DBAccess en el XI Maratón de Programación de la USB
La Red DBAccess
 
Servicios DBAccess en IBM SolidDB
Servicios DBAccess en IBM SolidDBServicios DBAccess en IBM SolidDB
Servicios DBAccess en IBM SolidDB
La Red DBAccess
 
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
La Red DBAccess
 

More from La Red DBAccess (20)

Enfoque ágil en gestión de proyectos tecnológicos.
Enfoque ágil en gestión de proyectos tecnológicos.Enfoque ágil en gestión de proyectos tecnológicos.
Enfoque ágil en gestión de proyectos tecnológicos.
 
Mediciones en la Gestión de Proyectos
Mediciones en la Gestión de Proyectos Mediciones en la Gestión de Proyectos
Mediciones en la Gestión de Proyectos
 
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
El Emprendimiento como elemento integral de la Responsabilidad Social Empresa...
 
Presentacion Corporativa DBAccess
Presentacion Corporativa DBAccessPresentacion Corporativa DBAccess
Presentacion Corporativa DBAccess
 
La Importancia de las Preguntas de Café
La Importancia de las Preguntas de CaféLa Importancia de las Preguntas de Café
La Importancia de las Preguntas de Café
 
DBAccess Inicio de la Unidad Prisma
DBAccess Inicio de la Unidad PrismaDBAccess Inicio de la Unidad Prisma
DBAccess Inicio de la Unidad Prisma
 
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
ACCEDE - Innovación en la Organización - Seminario de Innovacion, Caracas 201...
 
Accede Taller de Inserción Laboral USB - 08-10-2010
Accede Taller de Inserción Laboral USB - 08-10-2010Accede Taller de Inserción Laboral USB - 08-10-2010
Accede Taller de Inserción Laboral USB - 08-10-2010
 
Programa de Formación SOA
Programa de Formación SOAPrograma de Formación SOA
Programa de Formación SOA
 
El Nacional: DBAccess Mejor Empresa para Trabajar en Venezuela del sector TI
El Nacional: DBAccess Mejor Empresa para Trabajar en Venezuela del sector TI  El Nacional: DBAccess Mejor Empresa para Trabajar en Venezuela del sector TI
El Nacional: DBAccess Mejor Empresa para Trabajar en Venezuela del sector TI
 
Manifiesto Atención al Cliente DBAccess
Manifiesto Atención al Cliente DBAccessManifiesto Atención al Cliente DBAccess
Manifiesto Atención al Cliente DBAccess
 
DBAccess en la Práctica
DBAccess en la PrácticaDBAccess en la Práctica
DBAccess en la Práctica
 
Presentación Excelencia en Expansión - EDE
Presentación Excelencia en Expansión - EDEPresentación Excelencia en Expansión - EDE
Presentación Excelencia en Expansión - EDE
 
Revista Business Hecho en Venezuela Víctor García
Revista Business Hecho en Venezuela Víctor GarcíaRevista Business Hecho en Venezuela Víctor García
Revista Business Hecho en Venezuela Víctor García
 
Buenas Prácticas en el Diseño de Consultas de Hibernate
Buenas Prácticas en el Diseño de Consultas de HibernateBuenas Prácticas en el Diseño de Consultas de Hibernate
Buenas Prácticas en el Diseño de Consultas de Hibernate
 
DBAccess: Ponencia XII Jornadas de DHS
DBAccess: Ponencia XII Jornadas de DHSDBAccess: Ponencia XII Jornadas de DHS
DBAccess: Ponencia XII Jornadas de DHS
 
Realiza Tu Potencial Emprendedor Maratón Suramericano Programación
Realiza Tu Potencial Emprendedor Maratón Suramericano ProgramaciónRealiza Tu Potencial Emprendedor Maratón Suramericano Programación
Realiza Tu Potencial Emprendedor Maratón Suramericano Programación
 
DBAccess en el XI Maratón de Programación de la USB
DBAccess en el XI Maratón de Programación de la USBDBAccess en el XI Maratón de Programación de la USB
DBAccess en el XI Maratón de Programación de la USB
 
Servicios DBAccess en IBM SolidDB
Servicios DBAccess en IBM SolidDBServicios DBAccess en IBM SolidDB
Servicios DBAccess en IBM SolidDB
 
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
DBAccess - Angelo Burgazzi - ACCEDE - Realiza Tu Potencial Emprendedor - Dipl...
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Intelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfIntelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdf
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

SEI Webinar Series: Making Agile Work for You

  • 1. Making Agile Work for You Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Timothy A. Chick SEI Webinar Series July 2011 © 2011 Carnegie Mellon University
  • 2. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 2 Twitter #seiwebinar
  • 3. Attend the TSP Symposium 2011 to learn more: • Visit www.sei.cmu.edu/tspsymposium and sign up to receive email updates • Join the TSP/PSP Heroes group on LinkedIn • SAVE $100.00 using discount code: TSPBZSN Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 3 Twitter #seiwebinar
  • 4. How to Participate Today Open and close your Panel View, Select, and Test your audio Submit text questions Q&A addressed at the end of today’s session Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 4 Twitter #seiwebinar
  • 5. Today’s Presenter Timothy A. Chick is a senior member of the technical staff at the Software Engineering Institute (SEI) where he works on the Team Software Process (TSP) Initiative. In this role, Chick is responsible for defining, developing, and transitioning into practice high-performance software and systems engineering practices based on the principles and concepts in TSP and Capability Maturity Model Integration (CMMI). His work includes applied research, product and training development, education/training delivery, and consulting in the domains of software engineering and systems engineering process improvement. Chick is currently an SEI-Certified CMMI Instructor and TSP Mentor Coach, and he also holds a Lean Six Sigma Black Belt certification. He has published numerous technical reports and bylined technical articles in top industry publications on TSP and CMMI. Prior to joining the SEI, he worked as a project manager for Naval Air Systems Command (NAVAIR), leading software development projects and software process improvement efforts for the E-2C Hawkeye Program. Chick has a bachelor of science degree in computer engineering from Clemson University and a master of science degree in computer science from Johns Hopkins University. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 5 Twitter #seiwebinar
  • 6. Topics Agile Overview Selecting the Appropriate Agile Methods Maintaining Consistency and Agility using TSP Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 6 Twitter #seiwebinar
  • 7. Agile or agile Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 7 Twitter #seiwebinar
  • 8. Agile Manifesto Manifesto for Agile Software Development February 2001 We are uncovering better ways of developing
 software by doing it and helping others do it.
 Through this work we have come to value: before Individuals and interactions over processes and tools
 before Working software over comprehensive documentation
 before Customer collaboration over contract negotiation while Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 8 Twitter #seiwebinar
  • 9. The Twelve Agile Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 9 Twitter #seiwebinar
  • 10. Agile Methods There is no single Agile method, but there are several methods that are shaped by Agile principles. • Extreme Programming (XP) • SCRUM • Dynamic Systems Development Method (DSDM) • Adaptive Software Development • Crystal • Feature-Driven Development • Pragmatic Programming • TSP Today, any method that is an alternative to documentation driven, heavyweight software development processes is probably an Agile method. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 10 Twitter #seiwebinar
  • 11. Extreme Programming -1 The Twelve Practices of XP 1. The Planning Game - XP follows an iterative development process and the planning game is used to develop an overall plan, the release plan, and the iteration plan. 2. On-site customer - A requirement of XP is to include a customer on the team and the customer must be available full-time to answer questions as they arise, preferably face to face, and preferably on site. 3. Small releases - The product is built in small releases with very few features implemented during each iteration (time boxed). 4. Metaphor - XP discourages defining an architecture or creating a framework for the product being developed, instead, XP uses something called a metaphor. The metaphor provides an idea or a model for the system, which developers can use as guidance during the entire project. 5. Simple design - The design is kept as simple as possible. You only do enough design to implement the next feature. 6. Testing - Programmers write automated unit tests for every feature. No new feature is implemented without writing the unit test first. The customer writes acceptance tests. Acceptance tests are used to test the functionality of individual features of a product. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 11 Twitter #seiwebinar
  • 12. Extreme Programming -2 The Twelve Practices of XP (continued) 7. Refactoring - Refactoring improves the design of existing code by making it simpler, faster, more robust, cleaner, or by eliminating duplication, without changing the function of the code. 8. Pair programming - All production code is written with two people using one machine, one keyboard, and one mouse. Pairs change constantly. Pair programming also includes pair designing and pair unit testing. 9. Collective ownership - Any developer can change any code at any time. There is no concept of code ownership. There is no concept of a system architect or a keeper of the vision. 10. Continuous integration - The system is integrated, built, and unit-tested several times a day. Each time a pair finishes a task, they must integrate and release their changes to the team. The guidelines are that no one must go longer than a day before they integrate. 11. 40-hour week - XP teams work 40-hour weeks. Teams will never work more than two back-to-back weeks that exceed 40 hours per week. 12. Coding standards - Since anyone can make changes to any code at any time, the team must use a coding standard. Teams define and evolve their own coding standard. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 12 Twitter #seiwebinar
  • 13. SCRUM Scrum is an iterative, incremental methodology for managing agile software projects. The Team selects The Team builds user stories from the the stories in the top of the list, sprint, tracking planning enough to progress daily fill the 2 to 4 week sprint The Product Owner At the end of the creates the backlog, sprint the feature(s) a prioritized list of developed are desired user stories potentially shippable Team Retrospective Refactoring Tasks The cycle is repeated until the backlog is emptied, the budget is spent, or a deadline arrives Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 13 Twitter #seiwebinar
  • 14. Development Activities Within an Agile Sprint1 Team members • select the next user story from the top of the sprint queue. • write the unit tests for the user story, then write and test the code.2 • interact with the product owner and demo working code. At the end of the sprint • a retrospective is held to document lessons learned • any refactoring work is added to the next sprint • unfinished user stories slip to the next sprint 1.Adapted from CMU/SEI-2010-TN-002; Considerations for Using Agile in DoD Acquisition 2.Two team members if pair programming Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 14 Twitter #seiwebinar
  • 15. Measures and Progress in Agile Methods Working software – the potentially releasable features created during each sprint. Burn-down chart – tracks the work completed and work remaining. • two views – the current sprint and the overall project • includes the hours of effort remaining and the number of tasks remaining in for the sprint or project. Velocity – measures the number of user stories completed in a sprint and can be used to predict the completion date range. Cyclomatic complexity – a measure of the “goodness” of the software that is used to establish the need for refactoring. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 15 Twitter #seiwebinar
  • 16. Topics Agile Overview Selecting the Appropriate Agile Methods Maintaining Consistency and Agility using TSP Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 16 Twitter #seiwebinar
  • 17. Traditional and Agile Perspective on Software Development Traditional View Agile Perspective Design Process Deliberate and formal, linear Emergent, iterative and exploratory, knowing and action sequence of steps, separate inseparable, beyond formal rules formulation and implementation, rule-driven Goal Optimization Adaptation, flexibility, responsiveness Problem-solving Selection of the best means to Learning through experimentation and introspection, constantly Process accomplish a given end through reframing the problem and its solution well-planned, formalized activities View of the Stable, predictable Turbulent, difficult to predict Environment Type of Learning Single-loop/adaptive Double-loop/generative Key Characteristics Control and direction Collaboration and communication; integrates different worldviews Avoid conflict Embraces conflict and dialectics Formalizes innovation Encourages exploration and creativity; opportunistic Manager is controller Manager is facilitator Design precedes implementation Design and implementation are inseparable and evolve iteratively Rationality Technical/functional Substantial Theoretical and/or Logical positivism, scientific Action learning, John Dewey’s pragmatism, phenomenology Philosophical Roots method Dyba, Tore; Torgeir Dingsoyr, What Do We Know about Agile Software Development, Published by the IEEE Computer Society, 0740-7459/09, 2009 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 17 Twitter #seiwebinar
  • 18. Symbiotic Relationship Agile and traditional methods have a symbiotic relationship, in which the process selected is based on: • Size of project/application • Application domain • Criticality • Innovativeness So how does an organization identify the agile practices that improve the development process without causing any harmful side-effects to the product, project, system, or organization? Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 18 Twitter #seiwebinar
  • 19. Five Critical Factors Boehm and Turner identify five critical factors to guide method selection and/or tailoring. • Seniority of personnel • Dynamism • Organization’s Culture • Project size • Criticality “…there will be a higher premium on having methods available that combine discipline and agility in situation- tailorable ways.” 1. Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 19 Twitter #seiwebinar
  • 20. Three Fundamental Factors 1. Identifying the ability of the organization to adopt agile practices 2. Determining the suitability of agile practices in the development of a given product or system 3. Determining the suitability of agile practices for the organization developing the product or system. Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems, Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 20 Twitter #seiwebinar
  • 21. Ability of the Organization to Adopt Agile 1. Agile is like any other Process Improvement Initiative Successful adoption of agile practices requires the absorption of associated costs, as well as expending the required time and effort. 2. Method for reaching a decision to proceed or not a. Identify success factors, such as – Level of executive sponsorship – Organizational desire to improve – Availability of resources b. Assess the extent to which the success factors are present c. Make a Go/No-go decision based on assessment results Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems, Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 21 Twitter #seiwebinar
  • 22. Suitability of Agile Practices 1. Development and product characteristics play a large role in determining the suitability of a particular agile methods – For example, life-critical systems are usually characterized as being large, complex, and having long development periods 2. The desired product qualities also play a role in determining appropriate agile methods. – For example, Maintainability and Reliability An agile practice is considered unsuitable and must be discarded when it conflicts with integral product/development characteristics, or precludes the attainment of desirable qualities Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems, Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 22 Twitter #seiwebinar
  • 23. When is this unsuitable or impractical? - 1 On-site customer - the customer must be available full-time to answer questions as they arise, preferably face-to-face, and preferably on-site. Many stakeholders who are unable to speak to one another’s requirements and priorities (need for a traditional System’s Engineer or Requirements Analysis) Minimal documentation – The discouragement of writing requirements and design because of the cost associated with developing and maintaining them and the fact they do not deliver value to the customer, only working software does 1. Staffing flux results in the tacit knowledge of the developers being lost, which can result in a considerable slowdown in the work 2. The lack of documentation demonstrating the origins of some technical material can be costly when faced with an intellectual property lawsuit Source of examples: Emam, Khaled El; Finding Success in Small Software Projects, Cutter Consortium, Agile Project Management, Vol. 4, No. 11. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 23 Twitter #seiwebinar
  • 24. Suitability of Agile for the Organization When mismatches between the agile method and the organization are identified before the adoption effort, the probability of failing during the adoption effort or introducing undesirable agile practices is reduced. 1. (Polling Question 1) Is Test-First Programming (TFP) a mismatch when it is determined that TFP will produce the desired quality, but your organization already has a dedicated Independent Verification and Validation (IV&V) team? No, as TFP addresses how the developers do unit testing and has no effect on the dedicated test team 2. (Polling Question 2) Is Pair Programming a mismatch when it is determined that the method will meet required product qualities, but that the organization has major collaborative issues? Yes, as Pair Programming works best in a collaborative environment Adapted from Sidky, Ahmed; James Arther, Determining the Applicability of Agile Practices to Mission and Life-critical Systems, Proceedings of the 31st IEEE Software Engineering Workshop (SEW 2007). pp 3-12 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 24 Twitter #seiwebinar
  • 25. Usage Varies - Microsoft Agile Study An agile practices survey of 2,800 developers, testers, and managers was conducted at Microsoft. • Nearly 500 (17%) responded to the survey. • Respondents had an average of 10 years of experience • Average time on their current team was 2.5 years • Testers and developers represented 73% of the respondents • Managers, and managers of managers represented 24% of respondents • More than 60% of the respondents work on legacy products Nagappan, N; Begel, A, Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study, 2007 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 25 Twitter #seiwebinar
  • 26. Microsoft – Agile Adoption by Practice Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 26 Twitter #seiwebinar
  • 27. Microsoft – Attitude towards Agile Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 27 Twitter #seiwebinar
  • 28. Topics Agile Overview Selecting the Appropriate Agile Methods Maintaining Consistency and Agility using TSP Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 28 Twitter #seiwebinar
  • 29. Maintaining Consistency and Scalability with Agility How does the developing organization empower teams to make these process selections, while maintaining consistency and agility throughout the organization? Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 29 Twitter #seiwebinar
  • 30. Simple But Not Easy "Everything should be made as simple as possible, but not simpler." "For every complex problem, there is a solution that is simple, neat, and wrong." Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 30 Twitter #seiwebinar
  • 31. Team Software Process The Team Software Process (TSP) is a process framework that was specifically designed for software teams. It’s purpose is to help teams achieve their best performance by showing them how to • accurately estimate and plan their work • negotiate their commitments with management • manage and track projects to a successful conclusion • manage quality to produce better products in less time Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 31 Twitter #seiwebinar
  • 32. TSP and Agile - 1 Individuals and interactions over processes and tools • TSP holds that individuals are the key to product quality and effective member interactions are necessary for the team to succeed • Project launches strive to create jelled teams • Weekly meetings and communication are essential to sustain them • Teams define their own processes in the launch • Sharing leadership responsibilities helps interaction between members Working software over comprehensive documentation • TSP teams can choose evolutionary or iterative lifecycle models to deliver early functionality – the focus is on high quality working software from the start. TSP does not require heavy documentation • Documentation should merely be sufficient to facilitate effective reviews and information sharing • TSP teams can determine the level of documentation produced based on organizational standards, customer needs, and system attributes. Source: Lussier, Frederick, CMMI Agile Processes – PSP/TSP. Alcyonix Inc., http://www.slideshare.net/flussier/psp-tsp-agile-3-0-en Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 32 Twitter #seiwebinar
  • 33. TSP and Agile - 2 Customer collaboration over contract negotiation • Learning what the customer wants is a key focus of the TSP • The customer or a representative is required to be present when TSP teams start planning the project and first cycle. • The customer or a representative can also attend each re-launch to guide plans for the next cycle. • The TSP has a team member role, the Customer Interface Manager, for the purpose of collaboration with the customer. Responding to change over following a plan • TSP teams expect and plan for change • TSP teams re-plan whenever the plan is no longer a useful guide • New tasks are added as they are discovered • They dynamically rebalance the team workload as required to finish faster • The team’s process is adjusted as needed to improve performance • The team continuously manages risk and uses early-warning indicators to identify and avoid technical and planning issues. Source: Lussier, Frederick, CMMI Agile Processes – PSP/TSP. Alcyonix Inc., http://www.slideshare.net/flussier/psp-tsp-agile-3-0-en Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 33 Twitter #seiwebinar
  • 34. TSP is Agile and More Features TSP and Agile Methodologies Support Agile TSP Team organization Team organization Project management – planning and estimating Project management – planning and estimating Change control Change control Requirements Requirements Design Design Code development Code development Configuration control Configuration control Testing Testing Specialization of team members Project management – tracking and control Reusability Quality assurance Inspections Static analysis Security Documentation and training Software Engineering Best Practices, C. Jones, 2010 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 34 Twitter #seiwebinar
  • 35. TSP is a Software Engineering Best Practice Start Size Small Medium Large Methods Methods Methods 1) Agile 1) TSP/PSP 1) TSP/PSP 2) TSP/PSP 2) Agile 2) CMMI 3, 4, 5 3) Waterfall 3) CMMI 3 3) RUP 4) CMMI 1, 2 4) RUP 4) Hybrid Development practices by size of application[1] Software Engineering Best Practices, C. Jones, 2010 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 35 Twitter #seiwebinar
  • 36. Summary Agile is a means to an end. Decide upon your goals, how you will measure success, then determine what strategy, process, and activities help you achieve those goals. TSP can provide the disciplined, yet flexible, planning, quality, and process frameworks needed to successfully scale other Agile methods across your organization. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 36 Twitter #seiwebinar
  • 37. Contact Information Timothy A. Chick U.S. Mail Sr. Member of the Technical Staff Software Engineering Institute TSP Initiative Customer Relations Telephone: +1 412-268-1473 4500 Fifth Avenue Email: tchick@sei.cmu.edu Pittsburgh, PA 15213-2612 USA Web Customer Relations www.sei.cmu.edu/TSP Email: info@sei.cmu.edu www.sei.cmu.edu/TSPSymposium Telephone: +1 412-268-5800 SEI Phone: +1 412-268-5800 SEI Fax: +1 412-268-6257 Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 37 Twitter #seiwebinar
  • 38. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this presentation is not intended in any way to infringe on the rights of the trademark holder. This Presentation may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu. This work was created in the performance of Federal Government Contract Number FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. The Government of the United States has a royalty-free government-purpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so, for government purposes pursuant to the copyright license under the clause at 252.227-7013. Timothy A. Chick, July 2011 © 2011 Carnegie Mellon University 38 Twitter #seiwebinar