Your Ad Here
Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Friday, February 12, 2010

How to Work in TDD Methodology of Software Development


Test Driven Development methodology of software development is one of the most popular flavor of agile methodology. Other popular flavors of agile are Scrum, Extreme Programing (XP), Function Driven development (FDD) etc. The main principle behing TDD is to write unit test cases first and then code the unit of the module so that the unit passes the test. TDD saves a lot of time and money in finding the sofwtare defects at the later stage of software development. Farther the testing cycle falls, higher would be the cost to fix the issue.

How to Conduct Performance Evaluation of Agile Team


Traditional performance measurements are successful with the traditional methodology of software development, where we stress more on individual contributions towards creating the software and reporting is made hierarchical in nature. In agile, the evaluation must also be adaptive, collaborative and frequent.

The traditional performance evaluations focus more on the individual performance and training needs. Whereas, in cross-functional team of agile evaluation of only individual performance would not be fair. So what stand should you take in such a case?

Wednesday, February 10, 2010

How to Measure Agile Team Members' Performance


The key elements of agile (say Scrum) methodology of software development is the team is cross-functional, collaborative and self-organized. Means, in Scrum, the entire team is responsible to execute the Sprint tasks; not the individual member of the team. So, the success or failure of the Sprints is based on the cumulative performance of the team. There is, however, a problem in judging an individual's performance; because each team member is not highlighted much during the product development.

How to Conduct Daily Scrum Meeting


Daily stand-up meeting is one of the most critical meetings in agile methodology of software development. It is a quick review of each team member's last days work, planning for the next day's work and impediments the member is facing. ScrumMaster looks into the impediment and can resolve it upfront or in a sidebar meeting.

Monday, February 8, 2010

Role of the Product Owner in Scrum (Agile)


In Scrum, one of the flavors of agile methodology of software development, there are three fundamental roles: the Product Owner, The ScrumMaster and the team. In current post let us talk about the Product Owner's role in detail.

The Product Owner represents the customer's interest and prioritizes the backlog of tasks according to the business needs. She/ he participates in the Sprint Planning meeting and evaluates the entire product backlog, prioritizes them and include in or exclude from the next Sprint. She/ he has the final say whether the task should be reprioritized or dropped. The team working on the product development can negotiate with the Product Owner on the priority of the task, but the final discretion lies with the Product Owner only. The Product Owner also decides the acceptance criteria for the potentially shippable product after the Sprint is completed.

Defining Impediments in Scrum (Agile)


Impediments are the roadblocks or hindrances faced by the team in agile methodology of software development. To make the definition look more clear and practical, impediments are any causes which will delay team's deliverables or stop from progressing in a task and eventually costing the team's productivity.
 

Role of ScrumMaster in Scrum (Agile)

 
In Scrum, one of the flavors of agile methodology of software development, there are three fundamental roles: the Product Owner, The ScrumMaster and the team. In current post let us talk about ScrumMaster's role in detail.

ScrumMaster acts as a facilitator for the team and is co-ordinator between the Product Owner and the team. He also co-ordinates with the management and the company's support functions to remove any roadblocks or impediments faced by the te team. Typical "command and control" style of management does not produce results for the ScrumMasters. In fact, there is no place for such a manager in agile.

Sunday, January 31, 2010

Introduction to Agile Method of Software Development


Agile methodology enables product development incrementally and in a lightweight manner. The process adapts to the changing business scenarios and equips team to collaborate in every task. Agile can be interpreted differently by the different pool of practitioners. For team, it provides opportunity to be flexible, cross-functional and self-organized. For managers, it is a set of best engineering practices that allow rapid delivery of high quality software. For stakeholders, it is business approach that aligns development with customer needs and company goals.

Agile is implemented with flavours such as Scrum, Extreme Programming (XP) and Agile Unified Process (AUP).

Monday, January 25, 2010

Agile Performance Engineering

 
Performance engineering is complex process. Thousands of dollars spent in fixing poorly performing applications. The performance bottleneck and pitfalls of the software product can not be combated at one go, but incrementally.

With growing complications and need for time to market the software products, traditional models did not deliver the desired result to address performance issues of the product. Agile methodology emerged to address the rapidly changing business requirements and deliver shippable application incrementally. Flexibility and shortest possible time to take products to market are the main targets.

Wednesday, January 20, 2010

Agile Usability Testing


Usability is the ease with which a product can be used by people. For a software product: smooth navigation through User Interfaces (UI), ease of workflow and design of the product gives the best satisfaction to the target audience.

Usability testing is evaluating product from the users' perspective. The task is to identify the problems in the User Interface and workflow (of the product), which makes users' job difficult while working on the product. If a user faces difficulty while performing a task, it means the usability has some issues that need to be fixed. These issues occur because the developers and designers of the product have limited understanding of the end user's perspective. In product companies, there is a separate usability team that takes care of the ease of usage of the product for the desired end user.

How to Incorporate Manual Testing in Agile


Agile Methodology is applied when a product development requirements change frequently and, the shippable product needs to go to the market regularly and rapidly. Inherently, testing in Agile should be automated with the help of unit testing, regression test suit, performance test scripts and smoke tests with the continuous integration at check-in of the releasable code. It does not necessarily mean that a team with only manual testers won’t make the product development a big success. Let me share some thoughts on how manual testers can actually make the methodology a big success.