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.
McGregor’s theory X suggests that employees are inherently lazy and will avoid work if they can and that they inherently dislike work. Thus, they need to be closely supervised. Theory Y suggests that employees may be ambitious and self-motivated and exercise self-control.Most Agile teams would like to be associated with theory Y. Mike Griffiths suggested how this might be easy to achieve.
Backlog grooming as the name suggests is giving regular care and attention to a product backlog so that it does not get ugly and unwieldy like an unattended garden with weeds. Though, it is not a formal process of Scrum, however, Ken Schwaber recommended reserving five percent of every sprint for this activity. A recent discussion on the Scrum Development group discussed and debated the process.
Agile talks about small team sizes with the magic numbers of 7 plus minus 2. Agile also recommends whole teams. Whole team is a concept that advises for having sufficient skills within the team itself to get the job done. Thus the development team has the testing skills, database skills, user interface skills, apart from the core development skills. Is defining the team structure this easy?