Monthly Archives: July 2013

Testing game is about to start are you ready ?

areyouready

With the development team’s task over now the task passes on to the QA which is a critical leg in the project. In fact they are the last sentinel on the way to the software trying to make or break its way into the release shipment. While QA could work hard to find and unearth bugs and issues which otherwise might lie hidden under the labyrinth of the product / application. It takes more than just skilled developers doing their best not to plug in errors into the system.While find bugs , code reviews and umpteen number of best practices would ensure that we produce a great piece of functionality or product which is always ready to be shipped the day QA bless it.

Testing a challenge a skill a craft and not something that is easy to do. It is a forte of a chosen few who do their best to go under the hood and look for the spanner left over post the tasks. It is like a doctor who would have performed a successful surgery but left a knife in the patients body. Testing if done right can trap these defects and help plug these issues.

From a tester’s standpoint what would be important ?

1. Many a times a viewpoint/view that he is looking at is not available in document format anywhere in the organisation.

2. No proper handover of what goes into the software if the developer did his stuff and left early to catch the friday nights bus.

3. No diagrams to illustrate what is that has changed in the organization big picture. He is told things like “we have improved security in the system now”. What does this statement leave the tester with unless told what was really introduced as a part of the fix or change.

4.Does he understand what needs to be tested and does he have the tools.

5.Does unit testing/TDD cover what is to be certified. Or do you always need a full product end to end scenario testing.

6. How much of automation do you have in the system ? Are the test cases all automated and effort being made to check if the code coverage is 80% and above. Do we need to up this number ? . Are we getting false positives ?

7. Does our code coverage make us happy whereas there turns out there is always some boundary condition that missed our attention?

8.Do you have a proper architectural artifacts documentation strategy where QA can go look at it and figure out from time to time where the product is heading ? Most often we have it was last updated when we went for that team outing.

9. One of the ways the product gets to have a feel that all is well in the system is a reiteration their documentation and diagrams are updated and understandable by one and all in the system. This mechanism needs to be continuously followed for everyone to sub consciously starting to feel that our mechanisms are what it should be. If not there we fix them when found. Any other feeling here will not reinforce the “right way” among people.

UML is understood by techie crowd whereas we need to have a mechanism for ensuring the business,functional folks and non technical folks also understand the system to touch/feel/breathe the system and own it as much as the developer who put pieces in their. All of these need strong mechanisms for documentation and diagramming/some kind of non ambiguous visual representation of the system/product.

Go choose your diagramming strategy and be ready for any challenges on your way. It is always better to document things even for preparing for agility. On one hand as we always prefer working code than elaborate documentation , it is equally important to have a proper mechanism in place that works for you. That is where the question of just enough comes into play go for just enough documentation and visual representation.

Ultimately software delivery is a close knit game where all need to play their part and not simply passing the baton from one team to another.

Project in Auto Mode (Scrum) . What do I do as a Project Manager ?

roleofproject_managerin_scrumMost often companies embracing agile practices go through different moments of self truth and stories of shifts in thinking and the experience that can be termed as close to realizing your true self. All the while having been used to a set way of doing things turning agile is almost equal to turning a new leaf in your life book. It needs very strong management involvement and commitment from all the stakeholders to make it a success. It is a given that people understand what this means and act accordingly to achieve the end objective. 

Scrum teams are self organizing : What does this mean , it means they know what to do how to do and how much to do in a particular iteration. Lets keep this simple for now meaning we all understand the basics of scrum  at some level that it is refined quicker and leaner and meaner version over your traditional project management practices. Now there are various key role in the scrum iteration or sprints as they are referred to. As per scrum principles there exists no project manager with a title at least in formal terms. What do existing project managers in the system do ? Go find a hobby of their liking and pursue it or go on a short sabbatical and be back when required.This again depends from organisation to organisation how the role is defined and what roles a manager typically plays over there.

Project Manager in smaller organisations

If it is a small organisation or setup then a project manager gets to play the role of the scrum master or product owner. He/she clones himself into the roles of a scrum master or product owner and plays his part. Ideally you should not mix and match product owner and scrum master as the focus each role has is different. Here again it depends on the maturity of the organisation or the luxury of having dedicated roles if the team size is considerably small. There is no set rules here just because your into agile or scrum does not mean your are fully agile or aren’t. Companies take time to achieve this state over a period of time and it is not overnight.

Scrum Master : Involved with the team coordinates with external parties and ensures team’s voice is heard well outside of the scrum discussions , is responsible for the outcomes , resources and people. He is like a project manager turned well wisher of the team who is not seen as someone who can be career limiting if you cross swords with. A refined project manager with strong head balanced over his shoulders knows where to give the team its due and is finally accountable for it.

Product Owner : Interfaces with the team for things outside of the team as a single point of contact. Defines the product / project scope , prioritizing the items of the product backlog. What gets done now and in future iterations? Speaks for the end user and wears the customer’s hat.

Scrum Team : We are the new kids on the block who do not need to be told what to do. Everyday we meet and exactly figure out what each one fills up his plate with. We do each share others burden and know where to meet each day and say hi , hello to all in our team at a fixed time thanks to scrum else we would be brooding next to our monitors pretending to be immersed in work having no time for meager social protocols.

Project Manager in bigger organisations : Here the role of a project would be that of managing expectations of external stakeholders , planning resources , budget , team transitions , resource transitions, talking internally / externally to other teams and interfacing with them to create a organisation best practices / repository of information. Appraisals for the team in coordination with the scrum master.Taking receiving feedback from resources who are now not directly reporting etc. There are various other things he could be involved in such as following up on release closure activities of previous cycles ( agile or non agile as the case may be ). So simply it means that every time there is a change people get pushed and moved around and challenges everyone’s status quo. Accept the change move ahead all get to play there part and scrum is not the red revolution around the corner once things have stabilized and the initial resistance melts down.

What is there for us in a scrum / agile environment ?

In fact all of this requires the entire team / managers to be geared towards preparing for what is expected of their teams. Mailers , tech talks and other organisational propaganda , brown bag lunches all help here. In fact the question for all would be what is expected of oneself as we go through the churns in a scrum or agile environment.