Anadi Misra

Ranch Hand
+ Follow
since Jun 03, 2008
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Anadi Misra

Hi,

Yeap you are right these are implementation details; but, I am stuck in a PO/Coach kind of role for commercial reasons. My intention here is to have a list ready which I can give as inputs to the team during there discussions of making releases leaner than what they are today.

I think I have to agree that me trying to estimate them will be a big flaw. I should leave that estimation completely to the teams.

But the intention of this post is to know what practices help in making the release cycles lean and shorter in duration. It is tough to get into release management stuff when you have been a developer mostly - so I am looking for some inputs through this post that when it comes to Agile what are the good SCM, Build, Test and most importantly release execution practices.
Hi!

This topic has got me worked up for some weeks now. Basically, when you are in charge of releases in a distributed program setup (Product Owner for a scrum and Release Manager); which runs multiple projects on AGILE. Whats a good way of managing releases? Specially when some projects are in a more rigorous developmment cycle (where releases to production might not be that often) while others are more in a maintenance phase with minor development (more frequent deliveries).

Looking from an overaall organization perspective; how to synch deliveries from this multiple scrum setup and be able to do what I like to call releases on demand which does not involve the big event cycle that there is today?

Should there be a specialized scrum for releases only( this doesn't sound very aligned with the whole concept of Scrum Team - but has been tempting me off late)? Or should capabilities like System Integrators (SCM etc.) be added to each scrum and keep the Release Manager as a person who plans releases and manages there roll outs to production?
Ok, I am not sure but you might be looking for something like this .... defining your own dependency set in the POM helps; that ways you explicitly provide the dependencies that you want; something like this



This is an example from a module we have which is used as a tool for injecting XMLs to our CMS; and it needs a lot of external and internal jars and war files during runtime. Another way can be to mention the dependencies in the assembly descriptor under the dependency set section.
14 years ago
Hi,

I have mostly had all my agile experiences as developer and scrum master in projects where my scrum was always a feature team. I have recently moved to PO of a team we have which has the responsibility of planning and executing releases; improve the platform itself in terms of testing, builds and deployments to reduce release cycles(the long waterfallish release cycles has been a pain for the customer) and hopefully the time needed by developers to complete a story - what they percieve as overall readiness of the platform.

The problem however is a bit more complicated:

This team unfortunately had the daily 5 minutes standup as the only Agile practice they were following - so there hasn't really been an iteration planning ever before, and they lack knowledge of what scrum is- I am solving that by the good ol' agile education lunches; 1 hour introductory sprint etc.

I however get stuck when planning releases and estimating stories for them. A major chunk of stories will be repeated work related to the release cycle. This includes testing, SCM, SI tasks etc - the volumes of which cannot be really known until I go to the demos of each of these feature teams (9 in my case). and the day after this big demo day - I have to start with release cycles. So the natural way for me here was to do all the release cycle activities continually just as sprints have been.


I have thought of the following improvements to ease out things a bit; please do let me know if there can be more added

1) - Migrate test cases to Selenium.
2) - Create a Selenium GRID.
3) - Make feature scrums also use the same selenium based setup to do testing of new user stories - i.e. make them estimate creating the selenium tests when estimating a story and add a successful run of the test as one of the cluases on Definition of Done.( we currently rely on Unit, Integration tests in builds and manual testing of the feature by a scrum tester for completeness)
4) - My scrum keeps updating regression, system and EndToEnd tests as and when required.
5) - Do daily merges of the change set to a branch only when all tests for a change set are done - build it again there and create a deploy ready distribution and run nightly regression, EndToEnd system tests.
6) - Have a dedicated UAT environment available so the customers can run UAT more continually and thus reduce the feedback cycle.

The idea as I see it is that if a regression breaks it rather be within a sprint where it is easier to ask featurre teams to reprioritize work and fix it; get even more quick feedback by updating the UAT env with a new stable diistribution the moment you have it and inform customers so that they have a UAT done for the stories even before there is a demo,So in short get feedback earlier than demo. ( I cant really wait until the demo to allow a stakeholder to provide a feedback which results in more changes).

Anything more to add to this list? You can aruge why to keep a branch but thats a platform limitation - the core prroduct we work upon is not just J2EE code to write; there are a lot of XML templates and the like to be created before a feature for the site can be made workable without breaking builds or regression tests.

This is the point of confusion to me. When the first thread has already incremented the values of both the variables and when it is said that the threads share the memory space then how second thread has its own set of variables.



The variable int x isn't really a shared resource. Change it to



and see the magic ;-)
I don't think there is a way completely through web.xml for what you are trying to achieve

You should try giving a message in form of a pop-up surface on the page when you move away from the page. this is usually done by keeping a div in the page in hidden form and showing it when the session times out. you can also use java script to call the login form in this pop up message itself.

15 years ago
Ok, stuck at a different place now



it fails when it tries to tag the release version before transforming to a SNAPSHOT again. when i browse the SVN repo I dont see a mvntest-2.0.0 tag.
15 years ago
hi,

thanks a ton!! it was the same error as you said ... I had missed it earlier ,

seems to be running well now
15 years ago
hi,

but that's because this is the parent pom , here's how it looks



and here's my maven settings .xml



I'll check if any of the child poms have . entered by mistake

15 years ago
hi,

thanks I tried usign the Poster and got it to work when i changed Content-Type header to text/xml however when i tried from the ruby code after making changes I got this error



here's the updated script

15 years ago
hi,

did some changes , to the POM strucutre. but I still get the error, although now it is not for the properties module.



I didn't quite understand what you meant by version bumping, can you explain a bit more?
15 years ago
Hi,

I configured the maven-release-plugin for a multi module project , how ever when I run



I get and error like this



I am bit confused here since the module had version 1.0-SNAPSHOT and when I run a release build it should change to 1.0 and release, then why is it looking for a 1.0 in repos to download before it runs a build?
15 years ago
Hi,

I have a ruby script that creates a release branch from trunk at the start of every release cycle in my project. we recently moved to hudson so I though it will be good if the script itself downloads and modifies Hudson release build config and posts it back. I read from here that it is possible to programatically modify the configuration on Hudson and POST the same XML.

For example if the build is at URL http://somthing.builder.ad/hudson/job/branch then http://somthing.builder.ad/hudson/job/branch/config.xml is the configuration that can be modify and POST-ed back at the latter URL.

My ruby script always gives a 400. please help. here's the script



I also tried the RestClient but it seems that does not support POST'ing files
15 years ago
Hi,

I have a mobile portal where i need to track unique visitors, and using MSISDN or device subscriber id came up as one of the options (don't know what the latter really is though). Does any one know how to grab those things in a web application.

I have a sort of wrapper over the HttpServlet or Dispatcher you can say which processes every request, is there a way to get this info from headers or any where else?
15 years ago
hi,

Please ignore the question. I mean you really need java to be able to read a property file in the first place, so I think it is vague to setup in a properties file.

I should rather put it in the ant.sh.
15 years ago