Just yesterday we were having an interesting conversation about cutting corners while developing something. Cutting corners is bad - evil for software development I would say. The conversation was about meeting deadlines and hence taking the shortcuts. What I have understood in all these years of developing software is the apparant shortcuts prove to be the long term headaches. The system goes into an irrepairable state since everytime a deadline is to be met or the there is delivery pressure we tend to cut corners.
There are always deadlines when we deal with software delivery. If we keep on cutting corners, the whole structure is going to collapse one day quiet literally. Agile methodologies help you avoid cutting corners.
1. If you are following test first, you won't have to cut the corners, you are always honing those.
2. Frequent checkins are keeping your changes safe in the repository, less worry about the checkins and hene more time spent on coding rather than resolving conflicts. More effecient way to code, less pressure of deadlines.
3. Continuous integration is giving you flexibility to get continuous feedback on the work done.
4. Continuous integration and the tools which enable refactoring giving the freedom to change code without the fear of messing up.
5. In the ideal 'self organizing' and 'motivated' team of an agile project, it really becomes a habit to write quality code every single time, without cutting corners.
If 1 to 4 are taken care of, it really is matter of choosing the right people with the right mindset to avoid the pitfall of cutting corners and delivering substandard code. Reviews simply become redundant if you have the right people collaborating and developing software giving responsibility of maintaining the sanity of the codebase to every team member.
This comment has been removed by the author.
ReplyDeletethats what we are going through these days in our company.. will forward it to my team mates :-)
ReplyDeleteOne specific instance of this I seen a lot is "Showcase Driven Development" i.e. putting together something quickly for the showcase with the customer. I know it can lead to broken window syndrome pretty quickly, but its just about right people with eye for the right things.
ReplyDelete