Download presentation
Presentation is loading. Please wait.
Published byClare Dorsey Modified over 8 years ago
1
Headspring Certified Training.Net Boot Camp: From Journeyman to Master Series Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net jpalermo@headspringsystems.com
2
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
3
Agile, Lean & Extreme Programming
4
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
5
Lean Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole
6
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
7
Source Control
8
Repository structure -Trunk -Tags -Branches
9
Automated build with nant
10
What does a build do? Compiles Links Versions Packages Runs all tests Succeeds or fails, no gray area.
11
Why automate? Avoid manual steps Performs steps the same every time Save human time Increase rate of feedback
12
Prerequisites Structured source control –Trunk –Tags –Branches Access to all key dependencies within trunk working copy
13
Build goal From a checkout of the trunk, run a single command and output a verified, versioned, packaged, and deployable software application.
14
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
15
Domain-Driven Design
16
Inversion of Control
17
The object that uses a type is not responsible for creating it. (SearchPresenter)
18
Object-Relational Mapping
19
Why ORM? Save human time. Consistent quality Work in object-oriented manner rather than data-oriented.
20
Web ClientDomain Data Access DB IoC Container Application Architecture
21
Design Patterns
22
What design patterns are we using? Model-View-Presenter Repository Aggregate Builder Strategy Decorator Specification Template Method
23
Performance Optimization
24
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.
25
Continuous Integration
26
Test-Driven Development
27
That’s all, folks!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.