By ngpanwei, on February 15th, 2012 Software development has advanced rapidly in the last decade. The agile movement has brought about a renaissance to get practitioners to challenge fundamental notions and re-think software development. Each accepted advancement in software development has gathered new followers, new interest groups, communities and conferences – so, we have seen the traditional Software Engineering conferences, followed by conferences on Objects (OOPSLA), . . . → Read More: On Software Development Advances
By ngpanwei, on December 28th, 2011 I am developing a tool of some kind in Java. This tool accepts some command line argument and options and perform some operations.
My development of this tool began by first writing some core code, which is essentially to traverse a directory of files, parse them into some internal structures for subsequent processing. After getting the core code to work, . . . → Read More: Coding Experience: Keeping Command Line Processing Separate
By ngpanwei, on December 13th, 2011 This is a continuation of the post on tangling and scattering.
Once you can remove tangling and especially scattering, something wonderful takes place – your code becomes really easy to understand, you can trace easily from requirements to code. More accurately, you do not even need to do any trace-ability at all – you have a one-to-one-mapping from requirements to . . . → Read More: Maintainable Systems
By ngpanwei, on November 15th, 2011 The primary barriers to good code (read maintainable, extensible and testable) is tangling and scattering – habits which developers and all seem to be born with.
Tangling. Tangling is also known as spaghetti code. Usually a module begins nice – with clear responsibilities and realization. But as requirements (features) are added into the system, it becomes entangled, so much that . . . → Read More: Overcoming Tangling and Scattering
By ngpanwei, on October 24th, 2011 I was looking for tools I can use to demonstrate agile concepts in my training workshops. I need these tools to be free and easy to get going. Of course, it has to be free. I do not want my students and clients to pay anything to try out the concepts (at least not before the get really serious). It . . . → Read More: SCRUM online
By ngpanwei, on October 19th, 2011 I have been asked by project teams regarding how to test their multi-threaded applications for some time, but I have never given a concrete answer. It is a difficult topic, and now finally I have the opportunity and the time to investigate this.
Testing of concurrent applications is definitely not easy. The way most teams test multithreaded applications are as . . . → Read More: Testing Concurrency in Applications with jShuffler
By ngpanwei, on September 20th, 2011 The best way to learn is by following good examples. Unfortunately, good code examples are hard to come by, especially if you want something close to what you are doing.
If you want a good source code example that has the following characteristics:
It uses requirements that are close to yours. For example, if you are in the finance industry, . . . → Read More: Best Way to Learn is Through Good Examples
By ngpanwei, on September 4th, 2011 I have a talk in Agile China 2011 on 3rd Sep entitled “The Future of Agile: Light Weight Software Engineering Kernel”. It really took me a while preparing. In talks like these, the audience will have all kinds of people. Having a great introduction to get their attention is not easy, and so is sustaining their interest. Getting the climax . . . → Read More: Agile China 2011 – The Future of Agile: Light Weight Software Engineering Kernel
By ngpanwei, on July 13th, 2011 In Singapore, families become more affluent and start to employ maids. Gradually, the family members do not need to do housework and start relying on the maid. After a while, they have such dependency on the maid that they cannot do otherwise.
This is the same with technology. With the elevator, and modern conveniences, people do not need to move . . . → Read More: Fooled By Technology / Excuse for Laziness
By ngpanwei, on June 17th, 2011 I am working with some teams to advice them on how to improve the way they develop their systems. They have just moved from traditional development to agile iterative development. What they unanimously say is this – while they have become more responsive to market and priority changes, they face significant re-work. Things which they need only to do once, . . . → Read More: Agile Development and Re-Work
|
|
|