Headspring Certified Training.Net Boot Camp: From Journeyman to Master Series Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net.

Slides:



Advertisements
Similar presentations
Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Alternate Software Development Methodologies
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
What’s New in Web Development for Visual Studio 2008 Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net
Programming with eyes wide open. Your host today Subby Angelov Team
An Agile View of Process
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.
Being The Manager Of An Agile Team Jeffrey Palermo CTO, Headspring Systems
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
THE CONTINUOUS DELIVERY ZONE Craig Berntson Chief Software Gardener Mojo Software Worx.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
CIS 9002 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
RUP Implementation and Testing
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
CS3100 Software Project Management Agile Approaches.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
South Florida Enterprise and Strategy Architects Special Interest Group (SF ESA SIG) June 19, 2007 Lawrence Port Otive LLC
Theories of Agile, Fails of Security Daniel Liber CyberArk.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Leverage NHibernate in your architecture without tight coupling Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Genesis.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Test-Driving ASP.NET Development Tampa Code Camp – July 15 th, 2006 Cory Foy
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Real World SQL Server Data Tools Benjamin
TDD, DI, and SoC with ASP.NET MVC Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Engineering Practices Necessary for Scrum andrew fuqua enterprise agile coach LeadingAgile, LLC
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
2 Architectural Considerations for the ASP.NET MVC Framework Jeffrey Palermo Chief Technology Officer Headspring Systems Austin, TX Session Code: ARC402.
2 Architectural Concerns for Object/Relational Mappers (O/R-M) with Examples in NHibernate Jeffrey Palermo Chief Technology Officer Headspring Systems,
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Presented By : Prima Business Solutions. Agile Software Development Process.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
Embedded Systems Software Engineering
Agile Methods SENG 301.
Rapid software development
Introduction to Software Engineering
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Chapter 3 – Agile Software Development
Introduction to XP.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Headspring Certified Training.Net Boot Camp: From Journeyman to Master Series Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net

About me CTO, Headspring Systems Software management consultant Agile coach MCSD.Net MVP, Solutions Architect Certified Scrum Master Director, Austin.Net User Group Board member, AgileAustin INETA speakers bureau U.S. Army Veteran Party with Palermo

Agile, Lean & Extreme Programming

Agile Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

Lean Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole

Extreme Programming Whole team Planning game Small releases Customer tests Simple design Pair programming Test-Driven Development Design improvement Continuous integration Collective code ownership Coding standard Metaphor Sustainable pace

Source Control

Repository structure -Trunk -Tags -Branches

Automated build with nant

What does a build do? Compiles Links Versions Packages Runs all tests Succeeds or fails, no gray area.

Why automate? Avoid manual steps Performs steps the same every time Save human time Increase rate of feedback

Prerequisites Structured source control –Trunk –Tags –Branches Access to all key dependencies within trunk working copy

Build goal From a checkout of the trunk, run a single command and output a verified, versioned, packaged, and deployable software application.

Key Steps Increment version number Create database that will be used in build testing Compile and link all code files into.Net assemblies Execute all primary tests to verify compiled software Aggregate all files necessary for a deployment and package in organized.zip file Commit deployable.zip to Subversion Tag build with version number

Domain-Driven Design

Inversion of Control

The object that uses a type is not responsible for creating it. (SearchPresenter)

Object-Relational Mapping

Why ORM? Save human time. Consistent quality Work in object-oriented manner rather than data-oriented.

Web ClientDomain Data Access DB IoC Container Application Architecture

Design Patterns

What design patterns are we using? Model-View-Presenter Repository Aggregate Builder Strategy Decorator Specification Template Method

Performance Optimization

Steps for performance optimization Make the program work correctly. Measure performance. Determine that performance is not acceptable. Profile to determine bottleneck. Mitigate bottleneck. Measure again. If performance does not improve, roll back change. If performance improves, commit change. Measure/profile/fix bottleneck until performance is acceptable.

Continuous Integration

Test-Driven Development

That’s all, folks!