Friday, April 25, 2008

Process Notes

Scribble notes here concerning issues, policies, standards, etc to later formalize into something more, well... formal. All existing documentation should be considered "living" and "a-work-in-progress". If you find something that needs fixing, don't ignore it or complain about it -- FIX IT. All deployment packages (scripts, instructions, data, etc) must be in-house reviewed and tested using development test server before signing for turnover! Scripts and instructions need to be consistent and follow template. Template should be starting point and will not cover all nitnoid particulars, but should be at least contain what is common to 80%+ of projects. If it needs updating, then quit gritchin' and update it! Keep tabs on processes as far as what works and what doesn't work so we can develop and document best practices. Complaining and whining is useless unless it comes with suggestions on how to do it better and those suggestions get recorded. The person doing the complaining is the best candidate to document the solution :) Need to have a consensus between all of us, in that we need to have "same story" to tell people on what we do. Too many "this is how we used to do it" -vs- the culture change we are trying to promote -- basically need everyone in our team to be on same page -- BTW: what is it that we do anyhow? Have to find a working balance between the following: Providing continuity for a project. Development teams like having a single point of contact to work with. Not pidgeon-holing people into stove-piped technologies or projects Progress on project tasks and DBA tasks must continue even when a member who is normally responsible for them is "out-of-pocket" Where is the line between what a DBE is responsible for and the project developers are responsible for. Can or should it be described in detail or just in a general guidline? What needs to be done, what we are willing to do, and what our manning and know-how can support. DBA vs DBE Do we want everyone to be jack-of-all trades and do both DBA and DBE tasks? Do we designate certain people to do DBA stuff only or in addition to a lighter DBE load? Do we have a designated "IT" person every week who is responsible for DBA stuff for that week? Have to balance accountability for DBA tasks being accomplished with need to maximize the number of people who can perform them. Need a formal agreement with administrators as far as what level of access and responsibility we have on production servers Need to find a better solution to task tracking than what is in Outlook Definitely need a "leadership dashboard" listing all projects with a rack-and-stack prioritization and some estimate of complexity/effort -- we need this so that we can authoritatively prioritize and balance our workload. What authority says one project is more important than another? This will benefit testing as well. There is no accountabilty for problems with a project and this leads to blamestorming and blamestorming leads to anger, and anger leads to hate, and hate leads to pointing the finger at us. The buck *should* stop with the project manager for the project -- need to campaign for this to be policy.

Wednesday, April 23, 2008

Database Office

Database Engineering Management Assignes DBEs to projects Assignes DBE and DBA tasks Oversees task completion Deals with problems and bottlenecks Sets and enforces policies, standards, operating procedures Establishes goals Database Engineering Quality Assurance (QC) Ensures all products meet standards Ensures templates and procedures are relavent and up to date Reviews and approves deployment packages (instructions, scripts, etc) and Software Turnover Notices Database Administration (DBA) Each duty day Ensures development database servers are operational Ensures development backups completed successfully Performs development database server tuning and maintenance Maintains inventory of development databases and schemas Maintains documentation of database server configuration and processes Acts as consultant for Testing and Production databases Evaluates and implements technical requests that impact server level performance Database Engineering (DBE) Consultant to application developers concerning all things database Assigned as project POC for one or more projects Reviews and approves database schema Develops stored procedures, functions, automation packages, jobs, remote connections, and processes that run on database server (back end) Works with developers to perform data analysis, design database structure, and implement stored procedures, functions, and queries that interact with application (front end) Designated DBE for Project (POC) Primary point of contact between SCEO and project team for purpose of continuity Responsible for coordinating and following up on tasks concerning project Channels database requirements input to project design Coordinates efforts of other DBEs concerning project. Part of core team for project (ie: name is on quad chart) Attends project meetings