Recently I came across a very talented IT Manager Yvette Francino, unlike any another project manager blogging is one of her passions. She has worked as manager for Siebel Projects and have been working in Agile from a quite a long time, she has spent time in coaching teams for Agile. I took opportunity for asking hers some questions regarding Agile and she kindly shared some very useful resources which can help new team members to get started with Agile.
Here is the interview.
Question : Please shed some light on your experience with Siebel. Were you a Siebel developer?
Yvette: I was a development manager at Sun Microsystems from 1999-2009. For a short time around 2000, I managed a team that was using Siebel. I took the training, but didn't have much more hands-on experience than that.
Question : As almost every Siebel project suffers from scope creeps and effort overruns due to un-planned tech issues. Do you feel Agile is not suited for Siebel Projects?
Yvette: Projects that typically suffer from scope creep are the ones that are best suited for Agile methodologies. The more you don't know up front (which is true of most software projects), the better suited an empirical model, such as Agile, is because it allows you to let your requirements evolve and become refined over time as you learn more.
Question: What are the most important things without which you will never run an Agile project?
Yvette: Agile training for everyone, including management, is important, so that everyone has a common understanding of the processes they are using. Retrospectives, in which the teams regularly assess what worked well, what could be better, and what they want to do differently in the next iteration are also important so the team continually improves.
Question: How to plan for project with relatively un-known area of development? Do you recommend any special technique?
Yvette: Again, the more unknowns there are, the better it is to use an Agile methodology so that learning more is part of the process. There are techniques called "spikes" that allow development teams to do "time-boxed stories" to allow them to learn more about the unknown area. They could do a small proof of concept or prototype, for example, to discover more and reduce the level of uncertainty.
Question : After so much experience do you feel Agile is actually more expensive than SDLC methodologies?
Yvette: It depends on a lot of things. It can be expensive to change all your tooling and processes, so if the organization is heavily invested in traditional methodologies, it can be quite expensive to change. On the other hand, studies show that Agile projects are more successful than traditional Waterfall projects, and, obviously, unsuccessful projects are very costly.
Question: Please share a conflicting situation you had on project and how did you gone about resolving it.
Well, in the Agile world, one common conflict might be disagreement about how long it might take to code something (or how many "story points" a user story is). One way to resolve this is to maybe have a "spike" story (as described above), or to make the story smaller so there are less unknowns. (A "story" is a small unit of working code or what might thought of is a "requirement" that results in working code.)
Do you have any or recommend cheat sheet/mantra for Agile projects for newbies?
Yvette: There are so many Websites and classes available that it's hard to recommend one. Scrum is the most common methodology by far, and the Scrum Guide is available for free. I also think Mike Cohn is a great teacher and there are online courses available from his site, Front Row Agile. You might also check The Agile Alliance for resources. It would be good, though, if teams were learning from the same courses or resources, though, since there can be quite a bit of variation in opinions, terminology, and Agile methodologies.
I would recommend all Agile newbies to download the scrum guide and refer Agile Alliance to get your head around the buzz words of Agile.
Thanks Yvette for your time!!
March 27, 2016
March 24, 2016
How to shutdown Siebel server in < 5 seconds?
Getting late for lunch date with girlfriend and damn Siebel server won't stop. Ever been in such situation??
Well I have been. This is my actual story, don't worry I am not going tell stories about my partner, it's about our favorite Siebel server which sometimes won't come down for good 10 or more minutes, don't expect anything for starting up.
Before I tell you the trick how I made it to my date on time, let me warn you about the repercussions. It's highly dangerous way of shutting down the siebel server, don't try this in important environments, use it only if you have no regards for your employer. And be aware that this could corrupt your installation or cause data corruption. But hey! do partners care? if you kept them waiting, you will have to face the music for entire year or more.
For the siebel people in love, this is what you have to do to get to your date on time:
And will see output like:
If you like this post and would like to see more like this, then please plus one this blog.
Well I have been. This is my actual story, don't worry I am not going tell stories about my partner, it's about our favorite Siebel server which sometimes won't come down for good 10 or more minutes, don't expect anything for starting up.
Before I tell you the trick how I made it to my date on time, let me warn you about the repercussions. It's highly dangerous way of shutting down the siebel server, don't try this in important environments, use it only if you have no regards for your employer. And be aware that this could corrupt your installation or cause data corruption. But hey! do partners care? if you kept them waiting, you will have to face the music for entire year or more.
For the siebel people in love, this is what you have to do to get to your date on time:
- Open command prompt on Siebel server host(I have tried this windows host only).Get the process id (PID) of Siebel server by running this query:
sc queryex siebelservicename
- And then run following queries in exact sequence by replacing PID found in output of above statement :
taskkill /f /pid 10116
taskkill /im siebmtshmw.exe /f
taskkill /im siebmtsh.exe /f
taskkill /im siebsess.exe /f
taskkill /im siebprocmw.exe /f
taskkill /im siebproc.exe /f
Siebel Server memory consumption |
Shutdown Siebel server by command line |
If you like this post and would like to see more like this, then please plus one this blog.
March 22, 2016
How to use Siebel Product Configurator API in Workflow?
What is Product Configurator API?
Siebel product configurator API is bunch of Siebel business services and methods which allows to add order item under a root customizable product which complies with rules and validations defined in product model.
It is much more cryptic and complex if one starts with the bookshelf.
@renjith shared this beautiful document on slack community.This example explains how we can invoke Siebel Configurator API in correct sequence to add line items in an order.
In this example, workflow first creates new order and a order line item for root customizable product using Siebel Operation Step. And then it invokes Remote Complex Object Instance service(API) methods to add line item under the root customisable product.
Product Model used for demo :
Business Service executed in sequence are:
Download the document from here. If document has been helpful, then please plus one this post to let @renjith know.
If you have similar articles and would like to share with all viewers then please let me now in comments below. I will be more than happy to share.
Siebel product configurator API is bunch of Siebel business services and methods which allows to add order item under a root customizable product which complies with rules and validations defined in product model.
It is much more cryptic and complex if one starts with the bookshelf.
@renjith shared this beautiful document on slack community.This example explains how we can invoke Siebel Configurator API in correct sequence to add line items in an order.
Product Configurator API in Workflow |
Product Model used for demo :
Siebel Product Model |
- ISS Copy Service :: Load EAI
- Remote Complex Object Instance :: LoadInstance
- Remote Complex Object Instance :: CreateSession
- Remote Complex Object Instance :: SyncInstance
- Remote Complex Object Instance :: UnloadInstance
Level of simplicity and details shown in the document is just awesome. Hats off to @renjith!!
Download the document from here. If document has been helpful, then please plus one this post to let @renjith know.
If you have similar articles and would like to share with all viewers then please let me now in comments below. I will be more than happy to share.
March 14, 2016
Scenario based Interview Questions - Part 2
This is the second post in series of Scenario based Interview Questions . I recommend you to read first post of this series where we discussed Siebel Configuration Interview Questions before going through this post.
If you like the questions and would like to see more like this, then please +1 this post on google.
If you like the questions and would like to see more like this, then please +1 this post on google.
March 10, 2016
Scenario based Interview Questions - Part 1
Long ago an avid reader of the blog requested me to post some scenario based interview questions, and sent some good samples as well. I asked the same on siebel-developers slack community and got some really good answers. This is a three post series so stay tuned for next two posts.
If you like the questions and would like to see more like this, then please +1 this post on google, and don't forget to share your answer in comments below.
March 06, 2016
Is siebelhub.com down?
Is siebelhub.com down ? Probably not. I am sure team is working hard to keep it up , by the time you will read it, site will be back up.
Today for siebelhub.com CDN and host keep erroring out every now and then :( You might see following error if that happens.
Server Error:
or Cloud flare :
I know the feeling, when you are in middle of doing something and best siebel resource "Siebelhub" goes down, bummer!
Today I am going to share tricks that I use to view offline sites. It's not specific to siebelhub.com and can be very useful.
Solution 1: Use wayback machine.
This will be simplest and the best solution to view any website in past point in time. Way Back Machine has cached copies of nearly all websites in world and copies are available to search quite easily. I found a good cached copy of siebelhub.com on : http://web.archive.org/web/20150130060038/http://www.siebelhub.com/main/blog
Solution 2 : Use chrome's offline mode
Use this solution if you are offline. Like other browsers offline feature is also available from chrome, however it is hidden in chrome://flags . Good part of this is that you can view cached websites from your mobile device as well.
To enable cache views open chrome://flags on any device and enable show saved copy button. After this whenever you are offline you will be presented with an option to view the cached copy from your device. However it is not guaranteed that all the webpages you opened will be available in device cache.
BTW, Do you know chrome has on offline game and it starts when you click on the dinosaur?
Solution 3: Use https://www.httrack.com - Desperate Measure
Don't try this at home. This is an open source tool which copies the whole website to your local pc. and the data is cached on your device for as long as you want.
Hope it helps.
PS: Posted just for the love of information present on siebelhub.com. hats off to guys who built it.
Today for siebelhub.com CDN and host keep erroring out every now and then :( You might see following error if that happens.
Server Error:
Siebel-Hub is down? |
I know the feeling, when you are in middle of doing something and best siebel resource "Siebelhub" goes down, bummer!
Today I am going to share tricks that I use to view offline sites. It's not specific to siebelhub.com and can be very useful.
Solution 1: Use wayback machine.
This will be simplest and the best solution to view any website in past point in time. Way Back Machine has cached copies of nearly all websites in world and copies are available to search quite easily. I found a good cached copy of siebelhub.com on : http://web.archive.org/web/20150130060038/http://www.siebelhub.com/main/blog
Use this solution if you are offline. Like other browsers offline feature is also available from chrome, however it is hidden in chrome://flags . Good part of this is that you can view cached websites from your mobile device as well.
Step 1 |
Step 2 |
Step 3 |
BTW, Do you know chrome has on offline game and it starts when you click on the dinosaur?
Solution 3: Use https://www.httrack.com - Desperate Measure
Don't try this at home. This is an open source tool which copies the whole website to your local pc. and the data is cached on your device for as long as you want.
Hope it helps.
PS: Posted just for the love of information present on siebelhub.com. hats off to guys who built it.
February 28, 2016
SBL-DAT-00501 : Invalid search specification ' < ? > '.
We detected an Error which may have occurred for one or more of the following reasons:
Invalid search specification '<?>'. Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00501)
SBL-DAT-00501 |
This is error doesn't mean there is problem in search spec in eScript or MVLs or BCs. It usually occurs when calculated fields is having issues.
Possible reasons for this error:
- Any type of syntactical mistake in calculated fields
- Presence of carriage return in any calculated fields
- Calculated fields declared as DTYPE_TEXT however they are compared in another calculated field as integer.
How to resolve it?
- Turn on the siebel logs to level 4 and try the scenario again. And search for the error code in log file.
- Just above the error code you should see the calculated expression which is causing issue.
- Now go to flat tab and search with this calculation to find calculated field. Once culprit is found, BC recompile after change does the job.
Hope it helps.
Dynamically change start-up view for group of users
Requirement: To have a different start-up view for certain group of users in application.
Siebel sets start-up view of all the users using Application property which is a static view and the only way default view can be changed is by end user by updating user preferences.
Solution: To make the view dynamic and override the user preferences following script can be added to Application_Start event of Application to redirect all the users to a specific view based on their responsibility. These views can be used to show statuary information or terms and conditions.
Script queries Employee BC for logged in user and search for specific responsibility and executes a go to view if specific responsibility is found. Similar script can be used to change other part of the application. Feel free to share in comments below if you have come across similar behavior in your implementation.
var EmployeeBO = TheApplication().GetBusObject("Employee");
var EmployeeBC = EmployeeBO.GetBusComp("Employee");
var userResp;
with (EmployeeBC)
{
ActivateField("Login Name");
ActivateField("Responsibility");
var UserName = TheApplication().LoginName();
SetSearchSpec("Login Name", TheApplication().LoginName());
ExecuteQuery(ForwardOnly);
if(FirstRecord()){
userResp = GetFieldValue("Responsibility");
}
return (CancelOperation);
}
if( userResp == ""){
{
TheApplication().GotoView("");
}else{
return (ContinueOperation);
}
Hope it helps
February 18, 2016
Siebel Open UI Interview Questions plus bonus jQuery tips
Question 1 : What are different layers of JavaScript classes in Open UI ?
Answer: Siebel Open UI framework provider 4 different type of js files , proxy, presentation model(PM), physical renderer(PM), and plugin wrapper(PW). Out of these only PM, PR and PW are recommended to modify and extend. Proxy is an interface between Siebel server and browser, thus should never be changed.Siebel Open UI Architecture |
Read more
February 06, 2016
JavaScript Execution Sequence of Siebel Open UI
Hope everyone remembers Siebel event model explained by +Alexander Hansal
No doubt that is one the best post in Siebel blogosphere till date, in case you haven't read it, I would recommend you to go through it here. This model still holds true and has helped many businesses to model processes. However with introduction of Siebel Open UI there are few more events available for customization on browser side. In this post I will show you how Open UI invoke different events and methods on custom PM and PR JavaScript files.
For this proof of concept I have created and associated PM PR files with some logging for all the applets and views. I have also wrote some browser script in applet load event in tools. Following summarizes what I found.
Sequence of JavaScript Execution in Open UI |
What I found out that view PM layer is the first in sequence of execution, it is executed even before preload event. Thus all the data is available in preload to build the UI. Preload.js is not the event if someone is looking to execute at very start of view building.
Sequence of execution breakdown |
Additionally Applet load event are executed at last. Thus technically it is possible to override events available in "pre" Open UI era browser scripts in Open UI.
Points to be noted here that:
- Prelaod.js is not the first thing which gets executed during a view load.
- Open UI executed PM layer for view first and then applets, however for PR layer, applets were loaded first then view.
- Open UI also seems to execute list applet code first than form applet irrespective of hierarchy in tools!!
- After all the processing of PM PR layers(including view), Siebel at last executes applet load event of tools browser script.
Hope this will help developers to know the correct event they need to code and execution sequence in which Siebel will execute the code.
For this experiment I have created following PM / PR files .
- OpportunityFormAppletPM
- OpportunityFormAppletPR
- OpporunityContactListAppletPM
- OpportunityContactListAppletPR
- OpportunityDetailContactViewPM
- OpporuntiyDetailContactViewPR
- OpportunityListViewPM
- OpportunityListViewPR
- OpportunityListAppletPM
- OpportunityListAppletPR
All files I have used is available will be available for download soon.
Thanks to Duncan Ford for helping us in getting us code ready by creating the beautiful template generator.
Happy to discuss in detail on slack community or in comments below.
Subscribe to:
Posts
(
Atom
)