This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am currently working in a MNC company in chennai. I am working in a maintainance project which typically invloves both enhancements and porduction support activities.
Now, to get a better visibility of myself among my peers, I am planning to automate/ suggest a new process in the project. We have done many automation in our prpject and the persons who have suggested and implemented thse automation / process were recognized very well and have been sent onsite also.. So can any one suggest a few automation / new process improvements in that can be possibly implemented in a typical maintainance project.
I've been thnking a lot on these but nothing could strke my mind..
The below are the automation that we made in our project
1. automate the SQL script execution
2. automate the Production incidents (production suport work)
3. automate the build activities..
So I am tring to think beyond this concepts...
Any suggestions to a new kind of automation / a new Process improvement is appreciated..
How about adding a new feature ? It is more important to know what the client wants instead of automating something, which may or may not save time.
Once you know that the client wants something, proactively show a demo / prototype. They will be pleased since you are showcasing something they did not ask for. Once they show signs of being pleased, continue to follow up with them. Some tend to forget about the idea
Documentation are the best friends for someone who's new to the project & process. So its not just about automation. I would suggest to identify where in your project that lacks documentation. Apart from Design Document , Program spec that is provided normally for an application , try to innovate a document which carries important infos that would be useful for a beginner.
author & internet detective
Seenu ram wrote:The type of work we ppl do is that
1. Poduction support work
2. Enhancement of the application (Requirenents given by the clients)
3. Fixing the existing defects
Those are high level activities. Where does the time go for each of those? For example, maybe production support involves answering the same questions all the time and could benefit from a knowledge base.
Seenu ram wrote:Answering the question whether we have automated Regression testing is yes, we have automated. (but I am for dev team and least bothered abt testing team)
JUnit is for developer test not "testing team" tests. How do you do your low level testing?
-- WIKI based knowledge repository to build a knowledge base.
-- You can pro-actively identify and fix hard to reproduce issues relating to multi-threading, improper implementation of hashcode()/equals() methods, etc. Recommend strategies/solutions to improve performance, make the code more robust, maintainable, etc. Design recommendations, etc.
-- You can make recommendations on simpler and more effective design/business solutions, agile development practices, etc.
Put yourself in your customers' shoes and analyze what you would like improved. You will be rewarded for being proactive, enthusiastic, etc.
I am also working in a production support project.
I am not sure whether monitoring application's health is part of your job. I can give you some ideas to implement.
A real time web performance monitoring from users perspective, which replicate the users journey in the application and logs the result. It shows the real time graphical representation of the applications performance and availability. (Ex: Keynote)
Monitoring server's health based on previous incident history and rules driven monitoring and alerting system. Intelligent enough to alert the support team through mails/pagers by continuously monitoring the application logs for predefined errors.
A knowledge base with past issues and search capability. Which guides the support team to quickly resolve then issues.