Tuesday, October 18, 2011

Distributed Agile: Quality before Design

Distributed Agile involves geographically dispersed teams and short iterations of 2 to 4 weeks. Stakeholders of distributed agile projects need to find ways to improve quality before design by means of providing the right work environment and tools to team members and ensuring that project requirements are of good quality. There are five steps that can help us improve quality before design.

Product Vision Document: When distributed agile teams execute iteration activities without knowing the product vision or release vision, they not only miss an opportunity to understand the big picture but also fail to interact with stakeholders by asking context-free questions. Context-free questions increase project awareness among team members and provide for a strong foundation.

Goal-Oriented Requirements: The next step is to ensure that user stories are not generic statements but relate to the goals of end users. When team members receive goal-oriented requirements or users stories, they relate them to the goals of end users and come up with innovative ways to find solutions.

Not Only Functional Requirements: The third step is to include non-functional requirements such as performance requirements or security requirements in user stories. When this is accomplished, distributed agile teams optimize the time spent in defining the acceptance criteria and ‘Definition of Done’ for user stories. Also, this improves the quality of test cases and test scripts in projects.

Prioritization: Product Owners and Scrum Masters of distributed Scrum projects need to have an objective and proactive prioritization approach in order to define priority categories unambiguously. When prioritization of user stories becomes a reactive approach, it can lead to changes during iterations and hence can put lot of strain on team members. Distributed agile teams need to be aware of the rationale behind the prioritization of user stories. Lack of awareness among team members can lead to perceived notions on lack of inclusiveness.

Tool Selection: Tool selection plays a vital role in distributed agile projects. Effective tools for managing user stories as well as related communication and coordination mechanisms contribute positively to distributed agile projects. Indecisive approaches to tool implementation or introduction of new tools during project execution will hamper effective management of user stories. It is strongly recommended that distributed agile teams consider a web based tool that supports specification of user stories as well as facilitates collaboration among team members.

Finally, quality before design is quintessential to improve project success. My article, ‘Distributed Agile: Steps to Improve Quality before Design’, published by Agile Record articulate these steps with additional details.

Friday, October 7, 2011

The 7 Habits of Highly Effective 21-st Century IT Professionals

Gone are those days when monolithic IT systems were developed and maintained by exclusive communities of IT professionals confined to technology-savvy regions of the world. The challenges of software engineering during the 21st century are quite different and multifold because of factors such as globalization and technology evolution.

In order to face these challenges, 21st-century IT professionals will need to transform successful practices into habits so that these practices become second nature.

Cutter IT Journal published my article “Force of Habit: 7 Essentials for 21-st Century IT Professionals” in the September 2011 issue. In this article, I have discussed the seven habits that are essential for today’s IT professionals.

The seven habits discussed in this article empower IT professionals to prepare, act, collaborate, optimize, and influence effectively in their career.

Watch this space. I will publish a link to download the article soon.   If you are a Cutter member, you can download it from Cutter.com.    Or you can download a free copy of this article from http://www.cutter.com/offers/forceofhabit.html.