david.segonds.org Chronicles of an Agile Software Development Manager

28Jan/100

A crash course in modern hardware

If you have not reviewed lately how modern CPUs operate and how they differs from CPUs that you grew up with, you may want to watch this video. It is quite long but certainly instructive.

You will learn about what impacts performance today and how Donald Knuth was right all along. :-)

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" — Donald Knuth

5Dec/090

James Bach is offering free testing lessons over Skype

James Bach is proposing to tutor testers via Skype for free. This is a very interesting concept and this is the first time I hear about such an experiment. I wish him success and I am looking forward to see how this develops.

As it should be, he has high expectations of his students.

5Dec/091

Frequently Forgotten Fundamental Facts about Software Engineering

In this article, Robert L. Glass, list principles, facts related to software engineering. The list is organized onto the following categories:

  1. Complexity
  2. People
  3. Tools and Techniques
  4. Quality
  5. Reliability
  6. Efficiency
  7. Maintenance
  8. Requirements and design
  9. Reviews and inspections
  10. Reuse
  11. Estimation
  12. Research

I encourage you to read this article regardless if you are new to the field of software engineering or a long timer. Sometimes it is nice to be reminded of the "law of physics' regimenting our discipline.

[via IEEE]

15Nov/090

Skepticism in Software Development

I just read an article from Jason Gorman, from Parlez|UML, on skepticism in software development. He explains that a lot of preconceived theories about software development abound but few of those theories have been thoroughly investigated and therefore, it is difficult to know if they bring value to the engineering process or not. For example, Jason mentions refactoring that claims to make changes easier without supporting research.

In my understanding, this leads to more academic research on those theories to validate them and also to explore their practical boundaries and limits. I believe that this is a perfectly valid, and necessary approach.

However, in parallel to this academic approach, I would have a tendency to take a more pragmatic route. If a concept like refactoring comes to my attention, I would try it out in my environment, see if it has value to my organization and decide, after retrospective, to continue using the method or not. Also, you can not detach the software engineering method or principle from the human component. The method, under properly applied leadership,  has to be accepted and embraced by the programmers, testers, or UX designers that would use it. Therefore, the development team, including its lead, decides, if a particular theory helps bring more value to customers.

[via Parlez|UML]

12Nov/090

Self Improvement: There Is No End State When Transitioning to Agile

I am a strong believer in Self Improvement, constant learning, and continuous improvement. As such I really enjoyed this article from Mike Cohn where he describes how Agile adoption is process with no end state that needs to be tailored to your organization needs.

[via Mike Cohn's Blog]

Tagged as: No Comments