“We found that test-first students on average wrote more tests and, in turn, students who wrote more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of programmer tests, independent of the development strategy employed.”
“The external validity of the results could be limited since the subjects were students. Runeson [21] compared freshmen, graduate, and professional developers and concluded that similar improvement trends persisted among the three groups. Replicated experiments by Porter
and Votta [22] and Höst et al. [23] suggest that students may provide an adequate model of the professional population.”
It’s hard convincing non-agile developers, i.e., waterfall, to practice test driven development (TDD) in order to improve quality of software being developed. Here’s proof published in IEEE on the results of TDD performed on various people. The original article is located here.
Scala is a functional-object hybrid language with several powerful factors working in its favor:
* First, Scala compiles to Java bytecode, meaning it runs on the JVM. In addition to enabling you to continue leveraging the rich Java open-source ecosystem, Scala can be integrated into an existing IT environment with zero migration effort.
* Second, Scala is based on the functional principles of Haskell and ML, yet still borrows heavily from the familiar object-oriented concepts Java programmers love. As a result, it can blend the best of both worlds into a whole that offers significant benefit without sacrificing the familiarity we’ve come to depend on.
* Finally, Scala was developed by Martin Odersky, probably best known in the Java community for the Pizza and GJ languages, the latter of which became the working prototype for Java 5’s generics. As such, it comes with a feeling of “seriousness”; this language was not created on a whim, and it will not be abandoned in the same fashion.
Scala is available in the Ubuntu Gutsy 7.10 repositories. To install, type sudo apt-get install scala. Enjoy.
UnderpaidLoveMonki @ 11:56 pm
Wednesday, January 16th, 2008
Note that this article, “How Software Companies Die,” was written back in 1995. It seems to me that not much has changed since then, especially if the software companies haven’t adopted Agile practices. I’m not saying Agile is the answer, but there’s more to it than that. Read the article and you may be inspired to build the next Google!
UnderpaidLoveMonki @ 10:16 pm
Wednesday, January 16th, 2008
The SPO threat detection system made by QinetiQ measures waves “naturally emitted by the human body,” exposing “cold” objects such as metal, plastic, or ceramics concealed under clothing. A red light on the system’s display alerts the operator if you’re packing, so there’s no need to rely on interpreting images on a screen. It also means no one is ogling your naked body, which was one of the objections when similar technology was deployed at Phoenix Sky Harbor Airport last October.
You can run, but you can’t hide! You can read more about it here.
UnderpaidLoveMonki @ 10:13 pm
Wednesday, January 16th, 2008
Should a software QA team do unit testing? Hrm, interesting question. Well this article from SearchSoftwareQuality will answer that question and some other questions you may find interesting. :)
UnderpaidLoveMonki @ 9:00 pm
Saturday, January 12th, 2008
Was often called the father of the moving dragon, Liu Zhiqing performs the Bagua Broadsword. Liu Zhiqing was from Gu’an County in Hebei and studied bagua with Liu Baozhen (disciple of Dong Hai Chuan). Liu Zhiqing was in his early 100’s in this video
UnderpaidLoveMonki @ 8:59 pm
Saturday, January 12th, 2008
With the ongoing writers’ strike, we don’t need no stinkin’ writers! Here’s how a Japanese TV show entertain the audience: alot of vocalized expressions from the TV hosts, cute chicks, and alot of action! Hold onto your seat and don’t spill the beer…
UnderpaidLoveMonki @ 12:32 pm
Saturday, January 12th, 2008
In today’s corporate world, companies want to hire “stars.” So where do they find these stars? They recruit them from the best universities in the world. Here’s a philosophical analogy: they go to big rocks, unturn them, and hope to discover that star; but what about those small rocks? Well, one of the world’s top financial company, Goldman Sachs, did uncover that small rock and found a gem (a high school dropout) that forever changed the company’s history that survived the Great Depression and made it a success today. Here’s rest of the story from Investor’s Business Daily.
The moral of the story is that you don’t need a degree to become a star. It takes hard work, dedication, perseverance, and “street smarts.” :)
UnderpaidLoveMonki @ 12:13 am
Thursday, January 10th, 2008
This blog post explains the various software development methodologies:
- Spiral Model
- Incremental Development
- Rational Unified Process (RUP)
- eXtreme Programming (XP)
- Scrum
- Dynamic Systems Development Method (DSDM)
- Crystal Methods (Alistar Cockburn)
- Feature-Driven Development (FDD, Peter Coad)
- Test-Driven Development (TDD)
- Component Based Development (CBD)
- Lean Software Development (LSD, M.Poppendieck)
- Waterfall
A client at a large company with large development teams and a long history of waterfall development made a comment: “The only people who are talking about doing this project in Agile are developers who think it will allow them to avoid responsibility.” My client may have been right (that people were saying that) but the developers who were saying it were wrong. Agile increases responsibility - it doesn’t absolve it.
When you’re asked (or required) to do the wrong things, you’re fighting an uphill battle to be able to do the right things. And creating software product success requires you to both do the right things, and do them right. Agile methodologies have been developed specifically to help development teams to do the right things, and to do them right. But the methodologies work because the development teams assume more responsibility, not less.
UnderpaidLoveMonki @ 11:49 pm
Wednesday, January 9th, 2008
There is no “enterprise” scrum! Scrum is scrum! Key concept is basically the KISS principle and it’s not rocket science.
First off all there is no “Enterprise Scrum” - it is the same simple, empirical framework for developing complex systems that is applied everywhere rather than just in software development.
In Schwaber’s experience the enterprise-wide roll-out of Scrum take some time. He offered the case of a 1000-developer organisation. Here, they spent six months on the roll-out (training everybody in the Scrum practices) and after that 3-5 years to implement it make it stick by iteratively removing the impediments to producing quality software in the organisation. As he said, “Culture eats strategy for breakfast”, so this phase is all about changing people’s habits and getting the waste out of the system. During this implementation a senior management executive Scrum team is in place using Scrum to deal with the impediments and demonstrably solve the top issues as they become visible during the transition.