Friday, June 5, 2015

Me@AgileIndia2015


Agile-India is Asia’s largest & premier international conference on Agile and Lean Software Development methods. AgileIndia 2015 conference held between 25th and 28th of March, focused on scaling agile & lean methods in Large Enterprises.  This year the conference attracted 850+ delegates from 43 different countries. The conference is organized by Agile Software Community of India (ASCI), a registered society founded by a group of agile enthusiasts and practitioners from companies that practice Agile Software Development methodologies.  I was part of Organizing committee of Agile India, got opportunity to interact and rub shoulders with multiple thought leaders in the space of Agiity.
 
I also did present a paper with Alok  Spee2 Value..  you can watch the video here
 

Speed-2-Value Abstract

More connected consumers, automated processes, and sophisticated analytics place unprecedented demands on IT functions. Many Enterprises are struggling to cope-up, as they seek to deliver on new demands by adding piecemeal elements to their existing operations. This is easier said than done. Reinventing the IT function at Global Enterprise requires far-reaching changes, from talent to infrastructure, tools, delivery models, partnership model. Speed to Value brings a holistic view of IT across the value stream, Plan- Build – Run and   brings strategy & levers, to 'renew' Enterprise IT to be responsive and help Business in realizing the business cases quickly. Key themes discussed in the session were about challenges related to large and complex Enterprise IT,. This session was well received and gave participants insights into the challenges faced by large Enterprise IT in their quest to accelerate Business Value Realization, key levers such as Lean thinking, Design Thinking, Value stream orchestration, Enterprise Agile, DevOps, and IT4IT and the approach for Speed-2-Value.

~ Pras 

 
 

Re- (New) IT for Digital world


 

Two decades back Nicholas Negroponte In “Being Digital”, book on the future of digital technology, talks of the transformation of the world from atoms to bits, a transformation he terms irrevocable, irreplaceable and exponential. We are witnessing Nicholas prediction in coming to reality.
The new Global Enterprise paradigm is increasingly shifting power into the hands of the end consumers. This empowerment will make consumers more connected, intelligent, more capable of taking good decisions, and certainly more demanding. 
Technology has blurred the lines between the digital and traditional methods of dealing with a consumer of any Global Enterprises. The Business Process and IT is no more separate, in most of the industry verticals the Business is driven by IT.   Constant Innovation around IT has become the new normal to the Enterprises to meet rapidly changing consumer expectations and behavior dynamics.
There will be a constant demand from the consumer for compelling IT experiences and stories. Consumer tend to switch places where he is more empowered, also switching cost is becoming more negligible across industry verticals.
More connected consumers, automated processes, and sophisticated analytics place unprecedented demands on IT functions. Many Enterprises are struggling to cope, and they seek to deliver on new demands by adding piecemeal elements to their existing operations.  This is easier said than done. Reinventing the IT function at Global Enterprise requires far-reaching changes, from talent to infrastructure, delivery models, partnership model and will takes multiple years to complete. Business and consumer is not ready to wait for multiple years. The only way we can meet their rising expectations is through a dual approach of renew and new, where we transform existing systems across the IT stack - from infrastructure to applications - to yield higher efficiency and a much better experience, while creating completely new systems to deliver what the consumer desire.
Fortunately, companies can adopt an approach that delivers results quickly while still reshaping IT for the long term. This two-speed approach requires first building a “high-speed” IT function to work alongside the existing IT function, focusing on one or two valuable business areas such as web and customer relationship management
Technology has blurred the lines between the digital and traditional methods of dealing with a consumer of any Global Enterprises. The Business Process and IT is no more separate, in most of the industry verticals the Business is driven by IT.   Constant Innovation around IT has become the new normal to the Enterprises to meet rapidly changing consumer expectations and behavior dynamics.
More connected consumers, automated processes, and sophisticated analytics place unprecedented demands on IT functions. Many Enterprises are struggling to cope, and they seek to deliver on new demands by adding piecemeal elements to their existing operations.  This is easier said than done. Reinventing the IT function at Global Enterprise requires far-reaching changes, from talent to infrastructure, tools, delivery models, partnership model.

~Pras

 

Friday, August 16, 2013

Why blame and critique #SAFe?


 This is my response to #Ken ( #Scrum ) and # David (#Kanban)

Everyone has an opinion and everyone has the right to share it, creative criticism is a welcome. I am sure there are more room under Agile umbrella.
“Being a consumer of Agile  ( I find a difference in perspective people using Agile and people use Agile for living), it’s about mere commonsense on what is required to bring a business excellence in the given context.  It’s a no brainer that problems plaguing large-scale Enterprise include communication and coordination errors at multiple levels people, process  as well as technology integration and infrastructure issues.  In large Enterprises Programs are complex with multiple LOB/ teams / legacy involved, also importantly  large programs are driven by disruptive technologies like Mobile, cloud etc..,   

Synchronization of multiple touch points and early integration testing form the two key ingredients in large-scale programs, and SAFe suggest ways to solve many issues that may arise during these stages – Portfolio->Program->Team.

It’s quite natural  that people look at something which  resonates to their context.  The timing and messaging of SAFe hits bulls eye, no wonder it’s the talk in the town.  You asks CIO of  any large organization  ( fortune 100 -50), what bothers them is show me the success of Agile? Let us wait and watch if SAFe is able to show something, as any consumer does, we will look for a new FACE..”
 
Cheers
Prasad

Thursday, June 20, 2013

SCRUM Fails!


For me Standup is an impidement? What about you?

Couple of years back few of my friends ( Naresh and Sandeep) from Agile community did a very different presentation in one of the Agile community meet ups on “Agile WTF (Way To Fail)”. I am trying to bring  clues from that talk to discuss  in  our context.  With few interaction with folks who do Agile here, I find various "agile" practices and which have become the dogma and ceremony that has crept in.

Agile is round the corner for more than a decade, Well, we need to  question if the practices defined a decade ago are still applicable? If yes, have they evolved since? What are some of the original creators of these processes practicing today? 

I randomly asked few, why are we doing ‘Daily Standup’ ? Answer : ‘SCRUM’ says..  without having a rational and value why are we doing standup? Because other teams are doing?  KenShwaber told to daily standup  when there was

a)      no integrated web based ALM with full visibility, traceability and transparency,

b)      there was very limited ability to do continuous delivery and frequent integration

c)       Social engineering  and mobility was at a  very primitive state then

 

Today we have team members who make 50 tweets and at least 100 FB updates every day, starting from boarding the bus to…..  .

If there is a social contract among  the team,  to the context of project there could be un conditional number of updates and tweets. With great collaboration eco systems around, what is the relevance of daily stand up. I understand a context, where team is distributed, need to have a sync.   What is the purpose of stand up? To know what I am working on, where could be the dependence, what support I need, what I am stuck on, what I have planned. If you need a support or help or letting others   know that  you are breaking the code , why should you wait till  the Standup meeting to tell that?

So, in todays connected world, if we create a social eco system including clients and other stakeholders and empower team  to be natural as real  social animal,  Standup is an Impediment

Team can form a unstructured data repository, learning can be in the context. So tell me one reason and a rational that I should ask the team to do ‘Standup’ ?

 

I am ready to take all beatings, but you should convince me..

Saturday, May 4, 2013

A thread to real Agile


 
"Manage well”.. I am sure there is no on here who have not received this wish/advice. Mange well in exams, games, play, projects, ‘spouse’ etc.. did we manage well ?? or why could we manage well.. was there any secrete sauce to ‘Manage well’ ?

So what is managing well means for you??

Here are my take on this generous wish / desire ‘Manage well’..

More than a wish for us it is a desire to manage well.., because we equate this to Success, some successful satisfaction ( I will write something about Successful satisfaction later)

So, coming back to ‘Manage well’, we need this when we are in a situation, like exam, project, job, marriage, games etc… and in every situation what are we going to ‘Manage’, nothing but ‘Variables’

So when we are in a situation,

1. Certain variability we know

2. Certain we do not know

3. Certain variable we know that we don’t know about it

4. There are many variable we don’t know that we don’t know

Now let us reflect situations we really managed well and we were successful, the reason is we are in complete cognizant about 1 & 2. Why in some situation we are less successful, because it is more of 3 & 4..

Let us take a situation, Indian cricket team visiting Australia, they are going for their first test match-- every one wishes Indian team to ‘Manage well’ ( this is just an hypothetical example )

What variability Indian cricket team know – bouncy pitches, super-fast bowlers, huge ground , less ground support

What variability they do not know - which players are in great form, how much grass they leave, how many pace bowlers they pick, winning a toss what Clark is going to do..

What variable they know that they do not know - how much runs Australia will score in first innings, how lenient Umpire is about LBW etc.

What variable they don’t know that don’t know - how to run between wicket L, how to apply and spend time in crease ..

So, how Indian team can be victorious in the first test? I leave it your imagination !!!

So from a personal front, when you are in a situation try do a mapping of the critical variables.. the more you are in 1 & 2 zone.. you are in Control ( again I will write more about Control later). We are at best when we feel, we are in control of the variables.. so what you do when you are in not in control ??

So IT business perspective,

In the first phase of IT revolution, we were trying to automate certain business process using computer programs / packages. Where IT folks were clear about what business problem ( variable) they are trying to automate and what is its solution (variable). Only very few programming language and package existed. No focus on efficiency and effectiveness of automation. Automation itself was great USP..

In the second phase of IT revolution, business problem remain known, solutions were challenging, more focus on performance, usability, security. Many solution alternates, cost implications and maintains issues ( all of these are variable ). IT group started losing control, started implementing ‘process’ frameworks / standards etc… , got a feeling they are back in control, do they ??

According to me we are in third phase of IT revolution, where there is no distinction between IT & business process. Disruptive technologies like Mobility , cloud, social engineering, Internet of things drives business and its consumer behavior. So we are behind unknown problems and unknown solutions, highest of 3 & 4. We are in total loss of control J, so how do we ‘manage well’?

The situation we are in third phase, lot of variables makes us un comfortable , create fear failure… .

So here is ‘Mantra’ to regain control

· Short feedback loops, frequent learning cycles and early feedback [ this helps to un cover many 2, 3 & 4)

· Let us fail early and effectively – let us be empirical

· Better interaction on Business users and IT folks – are we building right things

This ‘Mantra’ is nothing but Agile / lean philosophy.. so, Agile gives us insight about variability’s and very cycle / sprint will uncover many 3 & 4. Thus help us to gain back the feel of control and hence ‘MANAGE WELL’ in turn to SUCCESS..

So Agile is not the end it is a means via we do manage well…

Will connect with you folks on my random & crazy thoughts

So, manage well…

 

Monday, April 1, 2013

Building right product a new mindset

Today most of the Software is build for a domain where we are not sure about both problems and solution.  So there is uncertainty in all phases of software development. In the context of software development being a complex adaptive systems, how testing should align with this changing paradigm of known to unknown?  It is calling for a fundamental change in the approach of a test engineer’s role &responsibility. The test objective, strategy & approach needs to transform to address the reality in the world, cannot be inward out! Testing should be the way to transform Unknowable – Unknown – Knowable – Known cycle.  It becomes important to ask, are we testing the right  ‘it’ before testing ‘it’ right. 
Recently I read few books The lean startup, four steps to the epiphany, Pertotyping at work .  This enabled me  to  question and provoke  our fundamental beliefs of software product development   and provided views and perspective of  - Complex adaptive systems, Cyfen learning dynamics, ‘Pretotype – Google way’
By the way I become a big fan of this http://www.pretotyping.org/pretotype-it---the-book. Fake it before make it...
 

Thursday, August 2, 2012

New School of thought for QA


The end of the road for the test phase?

There is much debate about how testing will be organised in the near future. The testing profession has evolved from the very first time developers started testing through to separate test phases and independence and then to collaborative testing.

The waterfall method, which is still being used by many organisations, prescribes an extensive final test phase. Another significant feature of waterfall is that the software development process is organised with several sequential periods, or test phases, in which a dedicated group performs specialised tests. In this context, the term ‘test phase’ can be defined as a group of jointly executed and controlled test activities. The testing within each phase may be more or less structured and formal, but the test activities within a test phase are bound by common objectives and the same focus or system boundaries.

Afterthoughts

There is little value in a quality assessment that is too late. Within the waterfall method the testing is often tested until just before the deadline. Due to high workload the test report is written afterwards when the system is already in production. What is the value of remarks and comments at this stage? What should the project do with bugs that cannot be restored, since the deployment is already a fact?

Even when testing is done at early stages, such as with the system test, results are coming in too late. The fair is already over. The programmers have done their work and want to start something new, but must wait until the testers make their statement about the quality, often accompanied by a litany of bugs.

Customer experience is a key performance indicator (KPI) that is gaining popularity with our stakeholders. Organisations put the customer rating at the centre of their dashboard. Although bugs are a threat to customer experience, the perceived value of a full bug tracking system depreciates quickly.

The aim is not to demonstrate the differences with the specification, it is to have a satisfied customer. Agile development aims for ‘right first time’ and has therefore a large focus on early detection and quick resolution of errors. The user is involved in the development and cooperation is more important than following a formal specification. This reduces the need for an independent quality judgment at a later stage.

The development cycle is shortening

The life of software is becoming shorter due to rapid innovation. Consequently, we should develop our software faster also. Kent Beck provides a clear prognosis at the USENIX Technical Conference.

In the coming years the deployment cycle will decrease from an average of once a quarter to releases on a daily or hourly basis. For testing this has two direct consequences. First, test must be performed quickly. You cannot test for one month when the software is due to be released next week. Secondly, the phasing of activities gets blurred. Testing is done continuously and by everyone. There is no longer room for a separate testing phase.

A shift to operational assurance

For many organisations the test phase is still important but in Agile organisations there is a shift in emphasis. We see that testing is an activity that is conducted by many parties: developers within the sprint, business architects during design and real users that perform beta tests. Quality attributes like usability, durability and security are increasingly important and get attention throughout the project. This is in contrast to the traditional test phase in which a group of independent testers, urged to speed by a fast approaching deadline, execute their functional tests.

The above description shows a clear shift of formal testing phase (especially at the end of the development process) to a continuous process involving many disciplines. Linda Hayes indicates that there is a shift from quality assurance to operational assurance. In this the quality assessment no longer has central place, but the support of the operational process has. On the basis of the above arguments, it is clear that one of the ‘victims’, of this shift is the separate testing phase.

Note that the above arguments question the health of the separate test phase, and argue it to be dying dinosaur. Between the lines you can read that testing as discipline is far from dead. It will be organised differently and other disciplines are getting involved. Although things are changing for sure, the above arguments are only one side of the coin. Are there arguments that plead for a separate test phase and the end of the cycle? Yes, there are!

Arguments for a test phase at the end of cycle

In the following paragraph I will share some arguments that plead for a separate test phase.

Although it is desirable to maximise early testing as much as possible, not all tests can be done upfront. Often it is just not possible. Unit and system tests only check the quality up to a certain level. Due to appification and an increase in system couplings, the system chains get longer.

Using adequate simulations and by working with trusted components a lot of errors can be solved before integration, but these measures will never replace a true integration test. Experience teaches us that when two systems interact for the first time, often unforeseen problems arise. A testing phase at the end prevents these problems from occurring while being in operation.

The supplier has other interests

Wherever development work is being outsourced, organisational boundaries arise. On either side of this boundary parties have their own interests. And they might be different and exclusive. For political reasons or due geographic spread it is difficult for the accepting party to have real insight in the activities of the supplier, therefore control and checking by the acceptor is a necessity.

Preferably this are done during the project and in cooperation with the supplier, but formal acceptance means that there is should be a critical examination once the goods are delivered. Although the weight of this activity may vary based upon the trust one has in the supplier and the risk involved, it pleads for a small testing phase at least.

Politics rule

Apart from the question of acceptance, when organising testing one has to have an eye for the role that politics has in the organisation. Increasingly, organisations are expected to meet compliance standards like Basel, SOx, SEPA (just to name a few). This forces compliance testing, and makes demands on the formality of the testing activities. Besides it is often desirable to have a shared responsibility and create a wide commitment. Both can be achieved by involving stakeholders and management in testing. Such a test phase therefore has a political purpose.

As mentioned, quality attributes such as security, performance, durability and user friendliness become increasingly important. Experience shows that these specialised tests are often best organised separately. Usability, Performance testing, and especially reliability testing seldom fit within a two week sprint. If you organise Beta Testing, a longer run will lead to greater coverage, reasons for these tests to be organised in a – you guessed it – separate test phase.

Legacy

Almost all organisations have to deal with legacy. Agile development, continuous integration and testing are all right, but bear in mind, that not all of the software is suitable for this mode of development. In particular, legacy systems can best be adapted in a traditional development way.

According to Ken Beck various types of systems require different testing approaches. It may therefore be effective to choose for different test approaches. These coexist within the same organisation. Besides legacy systems, there are also legacy organisations. In these organisations, the technique does not determine what is possible, but the culture and available knowledge does. Agile development requires the right expertise and mindset. Not every organisation is ready for this.

In life-critical systems the above arguments apply even stronger. If lives depend on it, the organisation is bound to tackle as many problems as possible by fully integrating testing into the development, and to have the necessary objective test moments. Thus, the two opinions merge into one other and coexist side by side.

Best of both worlds

We have seen that there are arguments for and against separate test phases within software development. I do not think there is value in forced decisions for or against. We should not cling to the known test phases just because we are familiar with them. Neither is it desirable to throw away the old approaches. Current developments will lead to many changes. It is important for testers to track these developments and to consider what its consequences are for the testing profession and the way we do our work.

In my view, the job gets more colourful, versatile and challenging. We get new tools and options. Test strategists will have to think about the contribution they want to make to the organisation and what objectives we pursue with our activities. On this basis we can make choices.

Let old and new ideas come together. This will result in testers that sit beside developers to reduce and rapidly detect errors. This will also lead to testers that are working in separately organised test phases, whenever this is more efficient.

I can think of situations where, for example, all activities related to a certain risk group are combined in a dedicated test phase. Proper business alignment dictates that the output of our test activities are closely related to the information needs of the business. Regardless of the moment in time that particular test activities are being performed, it can be rewarding to organise them separately. This holds for all testing activities that contribute to the same insights and information. By doing so, the test coordinator becomes the responsible person that, on behalf of the business, ensures intelligence and comfort for one or more key focus areas.

The test phase is far from dead, but it will increasingly be defined and organised in a different manner. I think that’s just fine, as long as we keep aligned with the needs of the organisation, we continually challenge ourselves to deliver maximum added value and contribute to operational excellence.

 Happy testing

Prasad

Thursday, February 23, 2012

3 things you should mind for Agile project



I am going to share 3 key aspects which made a huge turnaround in transforming a typical waterfall to agile project.
Brief about the project

Building a cutting edge analytics engine for one of top 10 analytics company

Never outsourced before

Struggling with time to market

Need to incorporate frequent feedback from end user

New team, from different back ground

2 weeks sprint
Customer wanted ‘agile’
We had ‘great’ agile immersion program, team energized, ‘great’ agile tools ..
but after 3 sprints
Customer is unhappy, many escalations, strained relationship
Management ‘doubtful’ of the outcomes and output
Lack of confidence and backbiting in the team

As a program manager, after spending a week with each team
members, stakeholder and customer touch points … did go with 3 item agenda to change the mindset ..
Be truthful to yourself – be declarative , awareness of a safety net for being
truthful [ this helped in understanding learning curve, dependencies etc.]
Mind set for looking and being ‘detailed oriented’
[ this helped in doing a effective release and sprint planning]
How to have unconditional ‘collaboration’
– moving away from cooperative mindset, demolished nonsense of ‘daily standup’ established ever flowing communication mindset. Set up a collaborative Performance Appraisal system
These 3 practices embedded in every aspect of work and activates, customer was also communicated same..
After 2 sprints ..
Customer understood – what can be done and what cannot be done
Team knows what it takes complete user stories – better estimation
Effective communication started flowing- silent folks started communicate

Crux of the story - happy team, happy customer and happy management...

Regards

Prasad

Wednesday, November 25, 2009

Agile Community of Passion at Symphony

Community of Passion are Self organizing and self governing groups of people who share passion for the common domain of what they do and strive to become better practitioners. They create value for their members and stakeholders through developing and spreading new knowledge, capabilities and fostering innovation
George Por

Agile CoP is a special kind of ‘social network’ that comes together because of a passion about Agile and its practices.
Objectives :
a)Peer- to peer help in problem solving
b) Developing and validating best practices
c) Upgrading and distributing knowledge in daily use
d) Fostering unexpected ideas and innovation
e)Connecting to external Agile world

Sunday, August 23, 2009

My Kanban Notes, the key takeaways

Kanban in nut shell Visualize the workflow: Split the work into pieces, write each item on a card and put on the wall Use named columns to illustrate where each item is in the workflow
Limit WIP (work in progress) – assign explicit limits to how many items may be in progress at each workflow state.
Measure the lead time (average time to complete one item, sometimes called “cycle time”), optimize the process to make lead time as small and predictable as possible.
Queue limits are designed to avoid premature work. The limit should be large enough to keep the team busy (i.e. there is always something in it for the team to start work on), but small enough to avoid premature prioritisation (i.e. having things sitting in the queue for too long before they are begun).Ideally the queue should be FIFOWIPlimits are designed to reduce multi-tasking, maximise throughput, and enhance teamwork.Reducing multitasking is beneficial for two primary reasons. 1) 20% time is lost to context switching per ‘task’, so fewer tasks means less time lost (from Gerald Weinberg, Quality Software Management: Systems Thinking) 2) Performing tasks sequentially yields results sooner. ...........................................................................................Throughput is also maximised by decreasing WIPSimple examples of this effect are traffic jams, where traffic speed reduces as more traffic builds up, and CPU load, where application performance goes down as CPU load increases. Little’s Law for Queuing Theory:Total Cycle Time = Number of Things in Progress / Average Completion RateTherefore, to improve cycle time there are two options; reduce the number of things in process or improve the average completion rate. Of the two, reducing the number of things in progress is the easier, and once that is under control, then the more challenging changes to improve completion rate can be applied...........................................................................................WIP limit sizes can depend on type of work and size of team and should be adjusted to achieve maximum flow. One approach is to start small (e.g. a limit of 1) and increase as necessary. Another is to start larger (e.g. a limit of half the team size) and reduce until the sweetspot is achieved.
The consequences of using a kanban system are that the Product Backlog can be eliminated, because the immediate queue is the only work of interest, timeboxed iterations (i.e.Sprints) can be eliminated, because work is pulled as necessary, and estimation can be eliminated, because work is not planned into iterations.
.................................................................................................
. ...............................................................................................Flow & Cadence
Flow describes how the work in the system can delivery maximum valueIn lean enterprises, traditional organizational structures give way to new team-oriented organizations which are centred on the flow of value, not on functional expertise.Lean emphasises ‘One Piece Flow’ (means moving one piece at a time between stages in a workflow as opposed to moving batches of work between stages in a workflow)The ‘One Piece’ in a Kanban system for software development can be thought as the Minimal Marketable Feature (M Denne & H Cleland-Huang in Software by Numbers).A minimal marketable feature is a chunk of functionality that delivers a subset of the customer’s requirements, and that is capable of returning value to the customer when released as an independent entity.The consequence of applying the concept of Flow is that emphasis is placed on using larger, value-focussed MMFs, rather than smaller, more incremental Stories.
...........................Cadence is the approach to achieving commitment and reliability with a kanban systemA regular cadence, or ‘heartbeat,’ establishes the capability of a team to reliably deliver working software at a dependable velocity. An organization that delivers at a regular cadence has established its process capability and can easily measure its capacity.Throughput = WIP / Cycle TimeThroughput allows forecasting of future capability, without needing to specify what might be delivered. Cycle Time allows commitment by becoming an SLA with the business
...........................................................
Summary : They key points of Kanban, Flow and Cadence are:A Kanban System manages the workflow in a way which allows the Product Backlog, Timeboxed Iterations and Estimations to be eliminated. Flow is about effectively delivering maximum value by focussing on optimising the value stream of larger MMFs Cadence allows iteration input and output to be de-coupled and achieves commitment and reliability via measurement rather than planning

Thursday, July 23, 2009

Agile beyond Software products! Survival of 'Agile'

than building agile frameworks aournd IT services, we need to be agile in our supporting functions like HR,Marketing, pre-sales, CS, N&S etc.. It will be excecllent to have product back logs, time boxes, right prioritized buisness values for our support functions! your thoughts! how product back log of HR/ marketing look like?
Indeed we need agile beyond software products. I'm not sure exatly what it should look like. First of all maybe we should stop speaking about 'supporting functions' and not look upon IT- and business functions as two separate things. Although businesses can evolve without IT and could benefit from using agile/lean principles. While businesses is developed using IT, we need to assure IT is aligned with the business to achieve true 'business agility'.
We need better transparency between enterprise architecture and software product development. Enterprise architects and business analysts need to understand that the BIG design up-front and the huge requirement specification covering all details is not the solution. And 'agilistas' need to understand that there is more to achieve than the one and only product and that processes, tools and documentation are needed to some extent.
Communication rather than EA frameworks, processes and tools, so to speak, as stated in the manifesto. Although the latter is also important.

Monday, July 20, 2009

Soft skills required for an effective agile team

What is Agile Methodology
Agile is purely about effective communication and continuous improvement. Focus on the people and listen your customer. Agile is about giving the priority to the people involved in the process. People are responsible to make a project fail or succeed. The use of Agile Methodologies helps projects to see problems sooner.
Agile chooses to do things in small increments with minimal planning, rather than long-term planning. It splits the work into iterations which take short time frames typically lasting from one to four weeks. Iterations undergo a full software development cycle. This minimizes the overall risk and allows the project to adapt to changes more quickly. Documentation is produced as required by stakeholders. Multiple iterations may be required to release a product or new features.
Team composition in an agile project is usually cross-functional and self-organizing without consideration for any existing corporate hierarchy or the corporate roles of team members. Team members normally take responsibility for tasks that deliver the functionality of iteration. They decide for themselves how they will execute during iteration. There is a Scrummaster and the team members in a usual agile team.
Agile methods emphasize face-to-face communication over written documents (routine and formal daily face-to-face communication methods are common). Most agile teams are located in a single open office to facilitate such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal or different parts of an effort. This may also require a coordination of priorities across teams.
Each agile team contains a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions. At the end of iteration, stakeholders and the customer representative review progress and re-evaluate priorities with a view to optimizing the return on investment and ensuring alignment with customer needs and company goals.
An Agile culture is established when the 3 major groups come together within a company. Executive management endorses the Agile principles, working managers learn to coach instead of direct, and the project team understands and supports Agile principles and practices.




"The Scrummaster"
Scrum has become one of the most popular Agile packaged methods. The Scrummaster is at the heart of Scrum. This individual is not a manager but more of a process facilitator and guide. A Scrummaster:
• Helps the team develop practices that support Agile principles
• Acts as a guide in training the team on how to be Agile and use Scrum
• Removes impediments that prevent the team from delivering software
• Shields the team from corporate bureaucracy and activities that do not add value to software development
• Champions engineering excellence and processes that support the creation of shippable software
• Ensures the team has direct access to the customer
Traits required to work in agile teams
As agile teams work differently from normal teams and depend a lot on effective and efficient communication and fast execution, there is an increased need to use soft skills. Some of the traits and skills that can make the agile teams more meaningful and productive are:
· Self-organization
· “just enough” planning
· Discipline
· Responsibility
· Commitment
· A desire to finish things.
· A spirit of collaboration.
· The ability to ask for help, to seek out review.
· The ability to take initiative.
· Enjoy working in an intense environment.
· Adapting to new situations and frameworks easily
· Ability to develop and maintain collegial relationships across the team.
· Managing Diversity
· Value for:
o Individuals and interactions over processes and tools
o Working software over comprehensive documentation
o Customer collaboration over contract negotiation
o Responding to change over following a plan
Skill Requirement
1. Communication
2. Collaboration
3. Time Management/ Planning
4. Thinking­­­­­­
5. Conflict Management
6. Dealing with Change/ Flexibility
7. Decision making
8. Teamwork/ Teambuilding
9. Handling stress
10. Problem Solving
11. Leadership
12. Diplomacy


More
Less
Enthusiasm
Individual opinion about what’s important
Learning from peers
Reliance on individual abilities
Comfort knowing help is there
Panic when workload peaks
Camaraderie
Backbiting
Shared responsibility
Protecting information
Focus on the organization
What’s in it for me?
Responsibility for the team
Stress on the "supervisor"
Simple, visible measurement
Feeling unaccomplished
Outcomes
· Customer satisfaction by rapid, continuous delivery of useful software
· Working software is delivered frequently (weeks rather than months)
· Working software is the principal measure of progress
· Even late changes in requirements are welcomed
· Close, daily cooperation between business people and developers
· Face-to-face conversation is the best form of communication (Co-location)
· Projects are built around motivated individuals, who should be trusted
· Continuous attention to technical excellence and good design
· Simplicity
· Self-organizing teams
· Regular adaptation to changing circumstances
· Reduced risk


Modules for sessions:

· Managing Self
· Managing Relationships
· Managing Work

Saturday, July 18, 2009

OATS - E-load features unleashed


About OATS
Oracle Application Testing Suite is a comprehensive test suite for Web application testing and monitoring. Oracle acquired “Empirix –e TEST suite” on June 6th 2008, and repackaged it as ‘Oracle Application Testing Suite’ (OATS), which is a part of Oracle Enterprise Manager.
Oracle has complementary products and a shared focus on lowering cost and delivering higher quality of service.
OATS products include:
i. e-Manager : Test Process Management Tool
ii. e-Tester : Automation and Regression Test Suite
iii. e-Load : Performance Test Tool
About e-Load
Oracle Load Testing for Web Applications allows you to easily and accurately test the performance and scalability of your Web applications and Web services. Oracle Load Testing for Web Applications not only stresses your application to simulate the impact of end-user workloads, but also enables rigorous validation that protocol-based legacy client server testing tools cannot provide. Its integrated scripting platform cuts scripting time in half, eliminating weeks from a project’s testing schedule. Oracle Load Testing for Web Applications is a component of Oracle Application Testing Suite, the centerpiece of the Oracle Enterprise Manager solution for comprehensive testing of packaged, Web and service oriented architecture–based applications.
e-Load for Load Testing, Performance Testing and Tuning for Web Applications
The following are the performance testing products:
i. Open Script : Scripting platform for creating automated extensible test scripts in Java
ii. e-Load : e-Load for Performance Testing and Monitoring
e-Load supports most of the performance counters (OS, Servers, Web Resource, Application, etc.,), for more details refer the document in Annexure – A link
Capability
e-Load: For performance and scalability testing, it is a performance testing tool that enables accurate testing of the response times and scalability of web applications and web services. Using e-Load we can simulate hundreds or thousands of concurrent users, executing real business transactions, to analyze how well web software applications will perform under load.
The realistic usage scenarios in Oracle Load Testing for Web Applications can handle even the most complex Web applications. By utilizing a unique virtual users capability that encompasses many parameters (including configurable browser types, connection speeds, and think times), testers can interact with the Web application just like real users will to understand exactly how the application will scale under peak load conditions.
Oracle Load Testing for Web Applications can also be used to test the performance of Web service interfaces by simulating thousands of concurrent clients accessing SOA-based applications. Easy to use and accurate, Oracle Load Testing for Web Applications maximizes your application performance by giving you the ability to tune your application under peak load conditions.
e-Load Key Features
v e-Load – A load and performance testing tool for validating the scalability of a customer’s Web applications. It is the industry’s first collaborative load testing solution that can be fully accessed through a Web browser interface, enabling distributed teams to collaborate in real-time to run and analyze load tests.
v e-Load can emulate hundreds of thousands of virtual users accessing a customer’s application simultaneously and can measure the effect of the load on application performance and it provides of performance monitoring.
v e-Load gathers the critical performance metrics to identify bottlenecks. It Simplifies accessibility with an intuitive Web based user interface. Allows distributed users to share testing results during test run/execution.

Sunday, June 21, 2009

Oracle Application Testing Suite Vs HP testing products ( Cost)


# Disclaimer :- Data available from the public portals/domain

Friday, June 19, 2009

Oracle Application Testing Suite

http://www.oracle.com/corporate/press/2008_mar/empirix.html
Oracle has entered into an agreement to acquire the e-TEST suite products from Empirix, a provider of Voice and Web application testing and monitoring solutions. Empirix's e-TEST suite is a set of Web application testing solutions that help customers deploy higher quality applications more efficiently and at lower cost. The e-TEST suite products will be incorporated into Oracle Enterprise Manager and Oracle Real Application Testing, and the combination is expected to result in a comprehensive solution for testing packaged and custom-built applications.
OATS (Empirix) products include:
i. e-Manager : Test Process Management Tool
ii. e-Tester : Automation and Regression Test Suite
iii. e-Load : Performance Test Tool

Capability
e- Manager: For the monitoring of deployed Web applications, an easy-to-use, comprehensive tool that allows you to organize, document and manage the entire testing process.
e- Tester: For functional and regression testing. The e-tester functional testing tool for web applications allowed web testing professionals to quickly and easily script and execute test scripts for web applications.
e- Load: For performance and scalability testing, it is a performance testing tool that enables accurate testing of the response times and scalability of web applications and web services. e-Load can simulate hundreds or thousands of concurrent users, executing real business transactions, to analyze how well web software applications will perform under load.
Key Features
e- Manager Features:
e-Manager Enterprise – A process management tool on which customers can build and organize their entire testing processes, it allows these customers to define testing requirements, specify and execute manual or automated tests to validate those requirements, and then manage the defects that those tests uncover. The test process is unified through a single platform which gives the customer a comprehensive way to manage quality as a process. Issue Resolution, Tracking, Monitoring and Report Management process.
e - Tester Features:
e- Tester – A functional and regression testing tool for automating manual functional testing processes, the product uses a novel point-and-click approach to building Web application test scripts, making test script development uniquely easy for testers of all abilities, if developers choose to write code to develop their test scripts. It includes an integrated extensibility module and provides a full-range of code-based validation capabilities.
e- Tester having the following automation features:
- Data Driven Testing
- Exception Handling
- Re-Usable Components
- Regular Expressions
- Check Points and Output value
e- Load Features:
e- Load – A load and performance testing tool for validating the scalability of a customer’s Web applications. It is the industry’s first collaborative load testing solution that can be fully accessed through a Web browser interface, enabling distributed teams to collaborate in real-time to run and analyze load tests. It can emulate hundreds of thousands of virtual users accessing a customer’s application simultaneously and can measure the effect of the load on application performance, allowing the customer to make critical decisions about architecture and infrastructure. It provides of performance monitoring.
Supporting Technologies
ü Web /Web Service Applications
ü PeopleSoft
ü Siebel
ü Oracle Fusion Applications
ü Oracle Flexi and JD Edwards Enterprise One
Cost Benefits comparing (HP vs OATS)

OATS (Empirix) POC Support
ü Empirix POC team provides the support to RFP’s in terms of (OATS).
ü Showcasing to prospective customer.
ü Supporting (Technical & Business) Teams.
ü Build competency / capacity in Test Management / Functional Automation / Performance Testing.
ü Empirix POC team provide the trainings