DRY reduces duplication and the maintenance problems coming with it, but misusing it leads to high coupling and reduced readability. The lesson: a software development principle should be applied considering other corresponding principles, patterns and practices.
A Gartner webinar discusses the best and worst practices in enterprise and application architecture.
Apigee, provider of API products and technology for enterprises and developers, has announced the release of "Web API Design: Crafting Interfaces that Developers Love", a free e-book on designing Web APIs. The e-book is a collection of REST API design practices developed in collaboration with various API teams around the world undergoing the Apigee design workshop.
Twitter has open sourced its Effective Scala guide. The document is on GitHub and is licensed under CC-BY 3.0. Scala is one of the primary programming languages used at Twitter, and most of the Twitter infrastructure is written in Scala. The Effective Scala guide is a series of short essays, a set of "best practices" learned from using Scala inside Twitter.
Tony Wong, a project management blackbelt, enumerates some practical points on individual procutivity. This article wonders how well these apply to software development and contrasts his list with that of other lists.
Keeping up-to-date with software architecture can be a tough endeavor. Information is normally available within thick books or somewhere hidden in the Web. Another more entertaining way can be to watch clips available at video sites such as YouTube and Vimeo.
Developers enjoy writing code but few developers enjoy writing exception handling code and even fewer do it right. A new book titled Exceptional Ruby by Avdi Grimm attacks the subject and helps developers take the right approach to solid exception handling code.
Jim Collins, in his famous book “Good to Great” talks about his teams five year research where they determined what it takes to change a good company into a great one. Can Agile help in the creation of great companies?
Agile methods place a strong emphasis on customer feedback and interaction. Projects with involved customers have much higher chances of success than projects which lack customer interaction. So, how do Agile teams keep the customer involved.
Two weeks back the US CIO's office released a 90 page proposal entitled, Proposed Security Assessment and Authorization for US Government Cloud Computing. The document is the result of 18 months of work among the NIST, GSA, ISIMC and the CIO Council to evaluate security controls and multiple Assessment and Authorization models for US Government Cloud Computing.
Alex Scordellis posted an article on how the interaction of a client and a service can be modeled and designed for updating partial resources. It appears that it is easily solved if we model the resources appropriately. Often times just thinking of resources as entities that support CRUD is the problem and modeling resources as “resources” and the services they offer.
Game theory was initially developed in economics to understand behavior of firms, markets, consumers etc. Since then, its scope and use has expanded to various fields like politics, sociology, psychology and Agile software development.
Meetings are expensive. An all-day team meeting costs thousands of dollars, if we calculate the cost of all the people involved along with overheads. Hence, it is pragmatic to do a fair amount of preparation for the meeting to ensure that the Agile meetings are as effective as possible.
A common question across multiple forums is about the acceptability of combining the ScrumMaster and Product Owner role. While most Agilists believe that these roles are like oil and water, there are situations where combining them might be inevitable.
Change is constant, yet people fear change. It is mostly the fear of unknown and loss of comfort zones that makes the perception of a change painful. Though Agile teams are well prepared for change, however most of them are not comfortable when the change affects the team.