Skip navigation
NASA Logo, National Aeronautics and Space Administration
Modeling Guru Banner

Random Thoughts

2 Posts
0

Useful reference websites

Posted by btwomack Aug 22, 2007

My references for the agile software development process :

 

Agile software development (www.agilealliance.com/)

 

A Gentle Introduction to XP (http://www.extremeprogramming.org/)

 

Testing resources for Extreme Programming (http://www.junit.org/index.htm)

 

Additional Agile Development Resources (http://www.xprogramming.com/)

 

A conference for those wanting a more direct experience (http://www.agile2008.org/) 2006 and 2007 sold out, so, register early if you plan to attend

 

My references for the non-agile software development process :

 

The Software Engineering Institute's CMMI (http://www.sei.cmu.edu/cmmi/)

2

Recommended Books

Posted by btwomack Aug 17, 2007

For those just getting started in software development (or those that maybe missed these topics in college):

 

Test-Driven Development by Example by Kent Beck (TDD is arguably the most effective practice that any developer can apply to improve the quality of their own code)

 

Code Complete by Steve McConnell (One of the classics with many good tips on writing better code )

 

 

For anyone writing software I recommend the following reference books:

 

Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, and William Opdyke

 

Refactoring to Patterns by Joshua Kerievsky

 

Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin

 

Extreme Programming Explained: Embrace Change by Kent Beck and Cynthia Andres

 

Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein ( A classic reference for anyone developing algorithms)

 

For those designing software systems (and don't kid yourself...if you're writing code...you're designing systems!)

 

Design Patterns Elements of Reusable Object-Oriented Software By Erich Gamma et. al.

 

AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis by William J. Brown , Raphael C. Malveau and Thomas J. Mowbray

 

 

For those designing software on parallel systems the following are also helpful:

 

Patterns for Parallel Programming by Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill

 

Real-Time Design Patterns by Bruce Powel Douglass (although not orginally intended for HPC, many of the patterns described address the same issues encountered by the HPC community)

 

 

And no developer writing scientific software should be without at lease one of these:

 

Numerical Recipes: The Art of Scientific Computing by William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery

 

Numerical Recipes in FORTRAN: The Art of Scientific Computing by William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling

 

Numerical Recipes in C++: The Art of Scientific Computing by William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery



USAGov logo NASA Logo - nasa.gov