Sunday, September 11, 2011

Coder to Developer: Tools and Strategies for Delivering Your Software by Mike Gunderloy : Chapter 11



The author discusses about working in team and the reasons for doing so such as:
  • Large projects with thousands of classes cannot be handled by a single person
  • Creating a whole application by a single person may miss the deadline
  • Creating a software involves not just developing an application but documentation, help files, installer, graphics, a website and many more things so it is better to have a team with different skills
The author then discusses about team management and the 'soft' issues involved in managing the team such as:
  • Choosing a structure: There are two alternatives to deciding a team structure
    • Community of equals: Each member on the team is recognised of being equally capable.
    • Hierarchy:
  • Tracking progress: The author suggests email-notification tool from source code control module or web page refresh from build tools. The author suggests 3 x 3 approach where each member regularly sends a report to other members of the team or just the project manager containing:
    • Three accomplishments for the previous week
    • Three obstacles to progress from the previous week
    • Three plans for the coming week
  • Avoiding your incompetence: The author discusses the Peter Principle, i.e. In a hierarchy, every employee tends to rise to his or her level of incompetence. In most organizations, people are promoted when they do their job well but never demoted. The author gives following tips to become a competent manager:
    • Start with a small team
    • Spend some time on management chores
    • Pay attention to everybody's ideas
    • Read literature on software project management
The author then discusses tools for distributed teams such as:
  • E-mail:
    • Use spam protection
    • Keep project related emails organized
    • Read emails in a batch
    • Instead of sharing every email with everyone, try sharing items through public folders or a news server
  • Instant Messages:
    • Read messages in a batch
    • Keep everybody on the same service
    • Keep an archive of conversations
  • Online Workspaces: The author discusses use of online workspaces like GotDotNet or SourceForge and their pros and cons.
  • Wikis: The author provides several wikis available and what their benefits and disadvantages are.
  • Microsoft Sharepoint: The author discusses advantages and disadvantages of Microsoft sharepoint and groove.
  • Programmer's tools: The author discusses CodeWright and CodeReview.

No comments:

Post a Comment