1. The Art of System Architecting; Eberhardt Rechtin + Mark W. Maier; CRC Press; 1997
2. xUnit Test Patterns.
3. Essential Software Architecture, by Gorton.
4. Beyond Software Architecture:Creating and Sustaining Winning Solutions, by Holmann.
5. Glen, P. (2003). Leading geeks: How to manage and lead people who deliver technology. San Francisco: Jossey-Bass.
6. Xia, W., & Lee, G. (2004). Grasping the Complexity of IS Development Projects. Communications of the ACM, 47(5), 68–74.
7. Cooke-Davies, T., Cicmil, S., Crawford, L., & Richardson, K. (2008). We’re Not in Kansas Anymore, Toto: Mapping the Strange Landscape of Complexity Theory, and Its Relationship to Project Mangement. IEEE Engineering Management Review, 36(2), 5–21.
8. The No Asshole Rule, Robert I Sutton
9. The Nonverbal Advantage, Carol Kinsley Goman
10. Group Dynamics for Teams, Daniel J. Levi
11. How Google Tests Software, James A Whittaker
12. Agile Testing, Lisa Crispin and Janet Gregory
13. Release It!, Michael T. Nygard
14. Continuous Delivery, Jez Humble and David Farley
15. Clean Code, Robert C. Martin
16. The Productive Programmer, Neil Ford
17. The Pragmatic Programmer, Andrew Hunt and David Thomas
18. Brown, W. J., Malveau, R. C., McCormick III, H. W., & Mowbray, T. J. (1998). AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc. New York, NY, USA.
19. The Mythical Man Month
20. Babar, M. A., Dingsoyr, T., Lago, P., & Vliet, H. (2009). Knowledge Management in Software Architecture: Theory and Practice. Berlin, Germany: Springer Berlin Heidelberg.
21. Williams, B. J., & Carver, J. C. (2010). Characterizing software architecture changes: A systematic review. Information and Software Technology, 52(1), 31–51.
22. Kruchten, P., Capilla, R., & Duenas, J. (2009). The Decision View’s Role in Software Architecture Practice. IEEE Software, 26(2), 36.
23. Falessi, D., Babar, M. A., Cantone, G., & Kruchten, P. (2010). Applying empirical software engineering to software architecture: challenges and lessons learned. Empirical Software Engineering, 15(3), 250–276.
24. Jansen, A., Avgeriou, P., & van der Ven, J. S. (2009). Enriching software architecture documentation. Journal of Systems and Software, 82(8), 1232–1248.
25. Documenting software architectures: views and beyond. Boston, MA: Pearson Education.
26. Software Architecture in Practice
27. Evaluating Software Architectures, Methods and Case Studies
28. Documenting Software Architecture, Views and Beyond
29. Architecture-Centric Software Project Management: A Practical Guide
I recently bought an iOmega 1TB eHDD that supports USB 3.0 interface. Before I bought it, I wanted to know the fundamental difference in the xfer speeds of USB 2.x and USB 3.x interfaces. I researched a lot but could find only "official" notes on the topic.
I finally got my USB 3.0 interface compatible m/c and did extensive xfer checks over the last few weeks.
USB 2.0 m/c – USB 3.0 disk : xfer speed is 2.2MB/s – 3.0MB/s
USB 3.0 m/c – USB 3.0 disk : xfer speed is 50MB/s – 75MB/s
So, one gets an jump up of 25 times by using a USB 3.0 disk with USB 3.0 m/c for most cases.
Come back to learn more about performance on specific file types (media/doc/bin)
A fellow colleague asked me about MongoDB – a popular document oriented NoSQL database. I downloaded the latest source from here. After a very minor code change in loadgenerator module, I could build all MongoDB components on Redhat Enterprise Linux 5.x. Key thing to note in building MongoDB on RHEL5 is the fact that it uses scons – an intuitive software build tool. I also needed Python v2.5+ and Boost v1.35+. Check it out.