8 December 2010. Logistics  Sitterson 014 at 8 am Tuesday, Dec 14  Inviting all clients  Schedule will depend on client constraints (email once booked)

Slides:



Advertisements
Similar presentations
The right tools for the job How to choose a web / bespoke development company.
Advertisements

A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Diane Pozefsky. Extreme Programming Flowchart
Alternate Software Development Methodologies
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
IBM Software Group ® Systems and Software Trends Critical Success Factors in Process Walker Royce IBM Software Group.
1 Independent Verification and Validation Current Status, Challenges, and Research Opportunities Dan McCaugherty IV&V Program Manager Titan Systems Corporation.
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
1 March Extreme programming. Presentations Tuesday Campus Tour Sami Says Hawks Thursday Read2Me UNCSET Oral Lab NetVis If helpful, invite your client.
CS CS 5150 Software Engineering Lecture 27 People 2.
Extreme Programming Kent Beck, Ward Cunningham. Software Development History During the 1970s, it was discovered that most large software development.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Transitioning to XP or The Fanciful Opinions of Don Wells.
IBM Software Group ® Systems and Software Trends Walker Royce IBM Software Group.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Diane Pozefsky. 1960’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
COMP 523 DIANE POZEFSKY 20 August AGENDA Introductions Logistics Software Engineering Overview Selecting a project Working with a client.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
COMP 523 DIANE POZEFSKY 19 August CHAOS REIGNS.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
21 August Agenda  Introductions  Logistics  Selecting a project  Working with a client.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Managing in reality Lesson Leadership competencies II.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Extreme Programming and Systems Engineering Similarities and Synergy (based on talk given to INCOSE New England Chapter) Joseph (Yossi) Weihs Sept 10 th,
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
1 Design and Integration: Part 3 To prepare for today’s class, visit Cookie Clicker and plan with it for a few minutes:
CS CS 5150 Software Engineering Lecture 24 People 2.
1 SWE 513: Software Engineering People II. 2 Future Experience What will you be doing one year from now? Ten years from now?
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
APMG-International Webinar Integrating Agile into PRINCE2® Thursday 19 December 2013 / 13:00 GMT Presented by Melanie Franklin,
Extreme Programming. Programming History 1960’s  60’s  “Cowboys” wrote software anyway that they could  Difference between best programmers and worst.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Manifesto for Agile Software Development
Software Engineering Processes
COMP 523 Diane pozefsky 24 August 2016.
CSE 403 Lecture 7 Motivation.
Extreme Programming.
Agile and XP Development
eXtreme Programming (XP) and eXtreme Modeling (XM)
Agile and XP Development
Applied Software Project Management
Coming up: What is Agile?
Agile Development – a new way of software development?
Agile software development
Presentations.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

8 December 2010

Logistics  Sitterson 014 at 8 am Tuesday, Dec 14  Inviting all clients  Schedule will depend on client constraints ( once booked)  15 minute presentations  Breakfast will be served  Attendance is mandatory  [101 exam will be testing web sites]

What is Expected  Overview of your project Review what you did and why Briefly explain how you did it ○ Architecture ○ Technologies  Lessons learned Development Process Technologies  Demo

The Basics  Speak loudly and clearly  Stand up  No chewing gum when speaking  Speak, don’t read: you ARE the experts  Set up and test demos on Monday Last minute “fixes” are often disasters  Script your demos

Presentations Hints  Cover all topics, but they don’t need equal time!  Focus on what’s special about your project  Don’t try to cover too much  Keep it light  Give the audience something to look at

Death by PowerPoint  Google it and you can waste many hours  One that I like…  PowerPoint is Evil (Edward Tufte) PowerPoint is Evil

When to Use XP  Types of projects High risk Poorly understood requirements  Team Small size: 2 to 12 Needs to include customer  Automated testing Timing issue

What Makes a Project XP  Paradigm see change as the norm, not the exception optimize for change  Values communication, simplicity, feedback, and courage honor in actions  Power sharing business makes business decisions development makes technical decisions  Distributed responsibility and authority people make commitments for which they are accountable  Optimizing process aware of process and whether it is working experiment to fix acculturate new team members Ward Cunningham, Ron Jeffries, Martin Fowler, Kent Beck

Egoless Programming  Weinberg 1971, The Psychology of Computer Programming During the “cowboy” era  Observed that programmers needed to be team players Accept inspections and reviews Open to corrections and critiques  Ten Commandments Ten Commandments  But pride of ownership is critical to quality

Software Craftsmanship  Emphasizes coding skills of the developers  Recognition of importance of the individual  Manifesto Manifesto  Fundamentals Apprenticeship Pride in your work  Basis Pragmatic Programmer (Hunt and Thomas) Pragmatic Programmer Software Craftsmanship (McBreen) Software Craftsmanship

Can Craftsmanship Help the Software Crisis?  Craftsmen sign their work basis for reputation hiring on portfolio Forget licensing  Exploit productivity differences between individuals not managing hordes of 'average' programmers small teams of good developers pay differentials  Expose the fallacy of good enough software  Software development is a social, intellectual activity not mechanical : engineering wrong metaphor mythical man month problem still exists  Apprenticeship more effective than training software development as a craft not the same as being taught how to program.

Software Generations (Rational View) Proprietary Not Integrated 100% Custom Ad-hoc Mix of Proprietary and Commercial Not Integrated 30% Reused Assets 70% Custom Repeatable Commercial Integrated Processes-Tools Managed and Measured Tools Complexity Process 1960s-1980s1990s-2000s2005+ Project Performance PredictableUnpredictablePredictable 70% Reused Assets 30% Custom over budget, over schedule Infrequently on budget, on schedule Frequently on budget, on schedule Collocated On the Job Training Collocated Software Skills Distributed Systems/Software Professionals Team

Four Patterns of Success  Scope management  Asset based development Solutions need to evolve from user specifications AND user specifications need to evolve from candidate solutions. ○ As opposed to getting all the requirements right up front.  Process management  Rightsize the process Process and instrumentation rigor evolves from light to heavy. ○ As opposed to the entire project’s lifecycle process should be light or heavy depending on the character of the project.  Progress management  Honest assessments Healthy projects display a sequence of progressions and digressions. ○ As opposed to healthy projects progress through a monotonically increasing and predictable plan.  Quality management  Incremental demonstrable results Testing needs to be a first class, full lifecycle activity. ○ As opposed to a subordinate, later lifecycle activity.

MOST IMPORTANT  You do well what you enjoy doing  You want to smile on your way to work  Is it a job or a career?

When considering a job…  A large company may have a “culture” BUT your experience will depend on your manager  To learn what it is like, talk to peers -- not bosses  Look around environment, behavior, parking lot  Do they cherish learning?

The Need for Life-Long Learning Did You Know Original Did You Know 4.0