Wednesday, May 7, 2014

Patrick's Professional Challenge

Here are the interviews I conducted with two IT professionals at Banner Health.
 Interview with Robert Rost
Banner Health
Director – IT Security
Question 1: What made you want to get into Information Technology?
Rob: Good question. Number 1: Job opportunities. Number 2: Specifically IT Security for catching bad people doing bad things.
Question 2: What is one big project that you have recently completed?
Rob: The big one is really the Banner Cyber-Threat Roadmap, completed in 2012. It’s a five-year plan to bridge the gap between Banner’s current state in cyber security with an optimal state of cyber security. The major deliverable was the roadmap of what we are going to do:
            - Gap analysis
            - Staffing needs
            - Optimal state
Question 3: What successes and failures did you come across while working on this project?
Rob: I guess one success is that we had buy-in and support from the CIO from the start. The responsiveness was a success, in terms of status we got it done on time. The project was well-respected and well-received, even by three different third parties.

Wish we could have done the gap analysis differently, more than just Dave and I.

Question 3a: Who were the major players in this project?

Rob: CIO, Chief Information Security Officer, IT Ops Director
Question 4: Was there any particular type of formal approach/process that you used for the duration of the project?
Rob: Nope. I think that the roadmap isn’t really a static document. I’m wrestling with how I’m going to go about updating it and making modifications, with which a structured process would be very useful.
Question 5: What – in your opinion – is the biggest threat to information security?
Rob: From a consumer perspective, we as individuals either willingly (or unknowingly) share too much information about ourselves. From a corporate perspective, we feel the need that data needs to be available in a heartbeat anytime anywhere; the mobility of data is what can cause it to be a threat.

Interview with Mike Nelson
Banner Health
IT Security Analyst
Question 1: What made you want to get into Information Technology?
Mike: When I was younger, I had a strong interest in computer programming. I enjoyed solved problems through automation and learning how to troubleshoot my applications. I majored in Computer Science in college and developed a strong interest in computer security. I found that I enjoyed programming, but I enjoyed breaking things through penetration testing even more.
Question 2: What is one big project that you have recently completed?
Mike: Mobile Device Management for Banner has been a big project to work on. From the ground up, I lead the team to determine the direction of the project, new company policy, vendor selection and product implementation.
Question 3: What successes and failures did you come across while working on this project?
Mike: Success is the easy one. We found a solid product that would work very well for what we needed. We also got to take advantage of buying the licensing through a third party to get cheaper prices. Failures are few but one that I recall is IT support buy-in. With every IT team at Banner being stretched on resources, it was difficult to schedule meetings and have strong commitment to the project form other IT teams.

Question 3a: Who were the major players in this project?

Mike: Information Security, IT Messaging (email management team), IT Infrastructure, IT Operations, Enterprise Applications, and Customer Relations.
Question 4: Was there any particular type of formal approach/process that you used for the duration of the project?
Mike: Banner Health implements their own spin on Project Management. I utilized the Banner PM framework to help manage communication and documentation for the project as well as the project schedule.
Question 5: What – in your opinion – is the biggest threat to information security?
Mike: I would say it might be information availability. As we integrate technology more and more into our lives, we like to have the information we need readily available. Information Security unfortunately, is usually an afterthought when setting the data availability as the priority. As consumers, we don’t really demand that our information should be secure as long as we can get to it quickly and easiliy.


Final Report

Mike Staley, Patrick Sullivan, Tyler Wolf, Minh Nguyen
PetSitNStay Project Report, Team “Project Mayhem”
Executive Summary
Our client for this project was a website that allows pet owners as well as pet sitters to connect with each other online, and book appointments to pet sit online through the website.  Some of the problems that the business was having were that once a person signed up through the website, no email notification was sent, they wanted to have a “promoted sitter,” where someone could pay to be promoted on the homepage of the website, and they wanted a rotational slideshow of reviews of the website on the bottom.  
The idea was to have more customer interaction on the front page because consumers judge the merit of a new website based on their initial impression.  We wanted to create a sleek, elegant design that would appeal to the demographic.  We ran into many challenges along the way, with our technical skills (or lack thereof at some points), changing requirements and frustration between the client group and our group.  
This report will discuss those frustrations, as well as the triumphs, what we learned and how we think we can continue to improve as professionals throughout the course of our careers.  We dramatically improved our programming skills, got an idea of what it is like to work with a real client, and now understand the many communication problems that can occur during the development of any technology platform.  



Reviews of Website and Sitters on Bottom
Our objective for this section was to create a slideshow for which users could see positive reviews of both the website and the sitters that are members of this website. One issue that we had to make sure was resolved was that only POSITIVE reviews are shown, so that prospective users will be impressed by the product and to eliminate trolls from trying to trash the website.
A specific challenge that we came across was getting there to be two boxes of the same size and length that could hold the same amount of characters for each review. This was quite tricky because the CSS requirements were pretty complicated in order for the boxes to be equal height and width consistently across all browsers. In order to combat this challenge, we made it so the width of each box equaled 570 pixels.
Below is an example of what the client wanted to see:
pet sit n stay review.PNG
We had to use some inline styling to make sure that the boxes were positioned on the screen correctly.  After about an hour testing the different CSS properties, we just scratched all of the CSS we had done and check to see where the default position of the right box was, and then worked it to the correct position from there.
Promoted Sitters slideshow promoted sitters.PNG
Our client wanted us to make a slideshow, with two “promoted” sitters, one on top of the other, that would shuffle through and display different sitters each time.  The client wanted the same two sitters to never be displayed the same time.  Basically, if the top sitters = A, then the bottom sitter != A.  They also wanted the sitters to be displayed in a random order, so that when the page was refreshed, the same two sitters would almost never be displayed at the same time.  With those requirements in mind, we set out to make the slideshow.
First we had to think about the way to do it.  We knew that we would have to pull all of the relevant information from the database.  To make it even more complicated, all of the information was in different tables and we had to do a couple of joins to put it all in one place.  This is the SQL statement we wrote.  $getSliderInfoQuery = "SELECT f_name, l_name, city, zipcode, pst.name as state_id, pet_types, profile_photo, wpu.user_url, prt.rating  FROM pet_sitters ps left join pet_states pst on pst.state_id = ps.state_id left join pet_reviews prt on prt.user_id = ps.user_id left join wp_users wpu on wpu.ID = ps.user_id  WHERE promoted_sitter = 1";
Most of the stuff is pretty self explanatory.  The WHERE clause was meant to indicate that a sitter had paid to be promoted.  There was a column in the database called “promoted_sitter” and if the value in that table was one, then we would display it.  Now at this point we had all of the necessary information being pulled from the database and being displayed to the screen, it just was in a big blob of information.  We had to find a way to put the information in a stylized manner, in size the picture down to the appropriate size.
To this, we had to do some inline CSS styling.  This was very tricky to do because the page was written in PHP, and so we had to learn when to use escape characters (\) to make sure that we didn’t break the PHP.  We decided to do only some of the inline styling, and then had a separate CSS page to do the positioning.  This is how we did the inline styling: <div class=\"fos\" style=\"height:100px;\"> <p><span style='color: #25aae1; font-size:20px; font-family: gochihand_regular; '><a href='$link_address'>" . $row["f_name"] ." " .$row["l_name"] ."</a></span><br><span>" . $row["city"] . "," . $row["state_id"] . "," . $row["zipcode"] ."<br> <img src='$ratingpic' height='20' width='75' /> <br> <img src='pawIcon.png' height='20' width='20' /> ");  We then create the class “fos” so that we could position the sitters’ information in a better manner.  
Email notification
For the email notification, the clients wanted it to be able to send the email everytimes a pet sitter or a pet owner signed up with petsitnstay.com.  Also, it has to be able to send email to the pet sitter whenever a pet owner book a visit for their pets.  To be able to do this, we have to write the codes that will trigger the email and send it to the recipient after the user complete the process from the Pet Sit n Stay website.  Below is the mock draft of what the email suppose to have when it sends to the recipient:
We got this to work on most of the mail applications except for the Mac mail client application after spending hours on it.  But the clients wanted it to work on all mail applications.  Below is what the clients finally agreed to and we were able to make this to work on all the mail applications:
We ran into lots of problems in the process.  At first we ran into problem with the email not sending every time.  After hours of researched, we got it to work every time a user sign up with Pet Sit n Stay.  Then we ran into the problem with it not working on all the mail application.  Again, we got it to work after spending some more hours researched on the topic.  As of right now, we got everything to work to the clients satisfaction.
Overall, we had a great project experience.  Our clients were overall pretty easy to work with, and we are glad that we had the chance to learn what it is like to work in the real world with a client whose requirements change from time to time.  I think the thing we gained the most was just the knowledge that many things can be researched on Google, and that a lot of the answers to our questions were waiting there, we just had to know what question to ask.

      

Professional Challenge

Mike Staley, Project Mayhem

Jason Lindquist, software programmer at Manzanita Systems in Poway CA.
 I interviewed him asking about a project he worked on that was successful, and one that was on unsuccessful. His insights were very helpful and I think that he offered some important insight from the “inside.”

The first experience he told me about was a project he worked on in which he was redesigning a computing appliance system that displays advertisements on TV music stations.  It was a P.C. that was meant to do only one thing, and he and another guy in Florida (Jim) were working on the project together.  Jason was doing the software aspect of the project while Jim was doing the hardware aspect of it.  It would take the advertisement graphic, and insert it right onto the TV.  It was an already existing product, and his task was to basically re invent it, because the PC hardware was built on parts that you can’t find anymore.  It also needed a new interface card.  Jason said that he had a pretty good definition of what the old product was, and what the new version of the product needed to be.  
The hardware part was basically done, but the software was really what needed to be completed, as well as some different parts of the hardware that needed to be finished up.  One of the difficult parts was working with someone who was in Florida, so Jason typically had to start working at 5 AM so they could talk about the work they were doing.  He also needed to catch up on the type of programming Jim was doing, so that each person could be familiar with what the other was doing.  
From a project management perspective, there were daily conference calls and screen sharing, to figure out what the card needed to do within its capabilities. Jim and Jason used an iterative approach, saying “OK we have this working, let’s move onto the next thing.”  And of course when things weren’t working, they had to figure out how to fix it.  Jason also said that debugging would have been much easier if the two were looking over each others’ shoulders.  Each person had enough of a background in what the other person was doing that explaining the problems was doable, and the debugging process wasn’t simply explaining what the code meant and what is was supposed to do.  The project ended as a success, with the clients being happy, and not changing requirements on them.
Another project that Jason worked on that didn’t go so well was at Qualcomm.  Jason was working on a project where Qualcomm had a way of sending performance information from the phones that Qualcomm was producing to PC’s.  The method they had of sending the information was good enough when it was first written, but it drastically needed to be rewritten as the phone got more complicated, and as it needed to send even more information.  He and a partner came up with a way of sending that information, but they had some major project management problems.
The equipment that Jason needed to test on was not made available to him, because Qualcomm felt that the resources Jason would have needed would be better used elsewhere.  It was a classic case of management not understanding the problem, and not caring to do what it took to give Jason what he needed to fix the problem.  Somebody else was already using the equipment he needed, so his superiors said that he needed to handout the work he had done to them.  Because someone else was handling Jason’s part of the project after he had finished his work with the phone, the project would take much longer than it should have.  
The people to whom Jason gave his work had plenty of other things to do, and had very little vested interest in completing Jason’s project.  Worse yet, Jason’s management didn’t have the authority to tell the other group to do anything, showing corporate bureaucracy.  All Jason and Jason’s team could do was “hey when you guys get to this can you please try it out?” which obviously did not yield very many results.  
Another problem that Jason ran into was a function of corporate bureaucracy, where Jason and his team were not allowed access to the software that would tell him if the work he had done was successful or not.  The higher ups were basically saying, “if it doesn’t work someone will tell you what to fix.”  The project ended in the work Jason did being scratched, and Jason’s team had to start over again.  


Kim Wasung, IT Professional for Cartronics in San Diego, CA.  
One of Kim’s first experiences with software development and project management was working with CA-Unicenter, on a project that allowed companies to keep track of what was going on with their software and their servers.  Kim installed that software on many different company’s systems.  One of the more challenging projects that he worked on was when he had to install CA-Unicenter under the partnership of Microsoft and Netscape.  He said that there was so much bureaucracy that it was hard to do anything without going through 3 different people.  One of the challenging things about the project, he said, was simply the fact that there had been so few attempts to do something similar in the past, so estimating the amount of time it would take was nearly impossible.
In order to estimate the amount of time the installation would take, they broke it down into chunks, and wanted to complete one chunk before moving onto the next.  Kim’s team had to constantly monitor the systems that were being installed, because if installed incorrectly going back to fix it was close to impossible, and would delay the completion of the project by weeks, if not months.  One of the things that I liked about the approach they took was that they would have someone or a team with fresh eyes come look at their work when they were stuck.  This would allow the team to step back and relax a little bit, and also allowed the new team to maybe see something that Kim and his team were not able to see. He said doing this actually helped increase the efficiency of the project.  
One of Kim’s other projects was “asset management” so that they could record where the companies had hardware and software located, so that if something went wrong there was a record or a backlog of where all the associated hardware was, as well as the associated software.  Kim said that project took two years because there was so much physical amounts of work to find out where the data was.  One of the most grueling tasks was just to figure out where all of the hardware was, as well as the software because the company he was working for did not have very good inventory records, and so he had to spend much of his time on the phone, calling different people to figure out the location of the information he needed.  He said sometimes he would have to spend a week just figuring out where a piece of equipment was.  From a project management point of view, he said that he was not given the resources he needed to succeed.  
Another one of the projects that Kim worked on was ensuring that all the software his client had would not misfunction when the clock struck the year two thousand.  Apparently (this was something of which I was not aware) there were plenty of concerns about Y2K coming, and software acting weird because of the year two thousand.  I guess Kim’s company was concerned that time stamps would be off for the software products that they were using, and that payroll would be much higher than it should have been.  
Basically what Kim had to do for this project was trick the computers into thinking it was already the year two thousand, just to get an idea of what would happen.  He was basically testing the theory that nothing would happen.  He said he used a very iterative approach, because it was essentially the same process on each different software platform that he was using.  Companies put millions of dollars into making sure that things would not go wrong come the year two thousand, and according to Kim there were no major problems.  
One of the problems that he had from a project management point of view was again dealing with bureaucracy when it came to testing.  There was some equipment that he needed to use for testing, but I guess the company was apprehensive about giving him the access he needed because someone else was already using the equipment.  One of the reasons that the project did end up going well thought, was that the product produced to test if Y2K would be a big deal was very well written, and had good processes for testing the software.  The requirements were also very well defined, and so really the biggest task for Kim was just following the schedule that was outlined for him.  He also had to report to upper management on a bi weekly basis about the progress being made.
One of the last projects that Kim worked on was remote application management for Sony, and his job was to make sure that things were running 99.9% of the time.  He said his management worked him too much.  

Tuesday, May 6, 2014

Professional Challenge

Project Management Interview
Interviewee: Cristen Saline
Job Title: Software Engineer

  1. Can you tell me about the last project you lead?
“The last project I lead was called ESP. ESP is and ‘environment Service Pack’ that includes many patches to the framework code that supports the Infor ERP. This code affects the communication to many modules, like external process flows. These patches are generally regulatory and need to be implemented to conform to regulations.”
  1. What project management methodology did you use?
“Most projects here use a Waterfall like method.”
  1. What skills did you acquired during the project?
“I learned to better anticipate potential issues. I also have learned to better anticipate my business user’s needs. Our business users do most of the testing, while I am here to support and provide assistance when needed.”
  1. How will you implement these skills in future projects?
“As I learn to better foresee issues, I can mitigate risks and help the project to be completed within the time restraints given.”
  1. How did you determine a realistic schedule for the project?
“Looking at past projects really helped. Some of the similar projects I found had estimated and actual times to them. Looking at these it was easy to estimate the time it should take to complete a task, as always I included a ‘buffer’ into the estimated time.”
  1. Explain your methods for resource allocation.
“Resource allocation was built into the project, as we have business areas that test their app area. For instance I have an HR resource. This HR resource tests HR processes. Just like the schedule I used previous projects to determine this resource schedule and tasks, while incorporating new processes we have implemented after said previous projects.”
  1. How do you inform all the stakeholders of the progress of the project on a regular basis?
“A weekly status update is sent by the project manager to upper management and the stakeholders. The project manager generally gets updates from me by attending the meetings I hold or reading the minutes from those meetings. I also send urgent updates to the project manager if needed throughout the duration of the project.”
  1. How do you monitor risks to the project and mitigate them?
“Depends on the risk. If the users that are testing the system come across issues it is brought to the attention of the oversight committee. These risks are then analyzed and classified from 1 – 5 risk level, 1 having the most risk. Risks that are open on the Issues list are monitored to mitigate them and a solution is usually produced. Sometimes there are ‘Show-Stoppers’ which need to be resolved before the project can go live. Another risk is staying within the time constraints given to the project, this I directly affected by risks like the one above. The time risk is hard to manage sometimes as I have to keep my business users focused on the testing tasks and make sure tasks are not held until the last day of testing.”
  1. What change management processes have you used to ensure that change is introduced properly?
“Phase 1 - Preparing for change (Preparation, assessment and strategy development)
It really depends on the change, in my current project there is a change to the employee portal. This has been assessed and a strategy is being developed. Preparation is generally figuring out the extent of the change. Assessment is where we would bring the change to business users and they would assess the effect this would have to their system. With our employee portal the business users have assessed and believe that the change is ok. Many of our users, Supply chain, AP, GL, Benefits were immediately ok with the change, However HR has the most interest in this change as it is their customers, the employees that are affected the most by this change.
Phase 2 - Managing change (Detailed planning and change management implementation)
For changes like this, where the change will affect the whole of the employee population, Communication is key. HR is beginning to develop a plan to communicate this change to employees. I assume Emails and memos will be sent to employees that do not have email. Onboarding and New Employee Orientation will also be changed. The front line for this change will probably be the support desk. Employees will call and ask for help when this is implemented, the support desk will be alerted and will develop procedures for helping the employees with this change.
Phase 3 - Reinforcing change (Data gathering, corrective action and recognition)
With this change there will be post implementation processes, the support desk will log how many calls they will get in regards to the change, if there were any outstanding (low risk) issues they will be assessed and resolved as needed. As well as time for any stabilization the system needs preformed.”


  1. What are the practices you follow for closing a project and meeting the conditions required to establish closure?
“When a project is closing, we should already have signoff from the business users that tested the project/changes, the stake holders will sign off, assuming the requirements were met with satisfaction. The last thing that takes place after a project has gone live is the lessons learned meeting. I believe this is the best part of the project. This is where I learn the most, whether or not I met the business user’s expectations and how I can do better with the next project I lead.”

Project Management Interview
Interviewee: Carl Huskey
Job Title: Software Engineer

  1. Can you tell me about the last project you lead?
"The last project I led was the rewriting of a web form utilized by the entire company, to keep track of the skills and qualifications of all employees."
  1. What project management methodology did you use?
“I used the waterfall methodology, going through the phases the phases of: Conception: management was informed that the existing form needed to be fixed , Initiation: I looked at the current structure of the form and fixed what I could but informed management that it will need to be rewritten, Analysis: I then went out and spoke with different leaders to see exactly what they would like the form to do and broke up the requests into smaller parts, Design: after the requirements were all gathered I came up with a design and project plan; creating a project charter and having a kick off meeting, Construction: I then wrote the web form, Testing: I had three system tests where I had the users who presented requests for the form test it and give me feedback which I took and implemented before the next testing phase, Production/Implementation: the form was put up into production after system test three changes had been made, and Maintenance: I have not yet had to, but I am responsible should any need to be done. ”

  1. What skills did you acquired during the project?
“I learned how to manage users during a system test, and how to entice them to sign up for system testing. The key to getting them to sign up is reminding them that they do care about the final product and if they would like to make sure their suggestions make it into and are properly represented in the final product they need to participate in the test phases. It is also important to leave the test phases open for a long enough time that everyone has a chance to get on and play with it; while at the same time not giving them too much time that they put off the testing.”

  1. How will you implement these skills in future projects?
"I will know how to deal with the users and keep them organized and focused during a testing period"
  1. How did you determine a realistic schedule for the project?
“I spoke with my mentor and other team members taking advice on their thoughts on how user testing would go, calculated the amount of time I thought it would take form me to write out the code, and utilized Microsoft project to develop my time line.”
  1. Explain your methods for resource allocation.
“The only allocation of resources was which users I wanted to have test/users I had volunteer for testing. I wrote the web form myself with little help from anyone else. ”
  1. How do you inform all the stakeholders of the progress of the project on a regular basis?
“I had a weekly update meeting with my director in which we would discuss the overall project completion and what part of the form I was currently working on. The other stakeholder/the users were informed with the progress of the project during each system test. They were able to actually see how the form was working and what areas still needed to be ironed out.”
  1. How do you monitor risks to the project and mitigate them?
“There were no big risks in this project, other than having the existing web form threaten to fail as I worked on its replacement.”
  1. What change management processes have you used to ensure that change is introduced properly?
“I met with the group of users to prepare them/inform them of the change that would be coming in the way of the new form. I managed the change by following my project plan, and I reinforced the change by gathering feedback from the users during the system tests so by the time the project was complete they were comfortable with the new form.”
  1. What are the practices you follow for closing a project and meeting the conditions required to establish closure?
“I went back to my project charter and review what our definition of done was, made sure the project meet that definition, and the users were happy with the new form.”

Final Blog Post

What did I just finish?  Implement the changes on the live site and handed off the code.

We finished the project and did our best going the extra mile to try and make our clients happy.

Monday, May 5, 2014

Blog post #13

Problem: clients wanted to grade us on  implementation of our code into their live test site.  we had everything working on our test site, and i guess implementing it onto their live site is proving to be a problem.  we would have to meet up with them in order to fix the errors that they are having.

Friday, May 2, 2014

Blog Post#12

What did I just finish?  We finished all the requirements for the capstone project.
What will I do next?  Hand off the code to the clients at the next meeting.
What impediments are holding me back?  The clients keep adding more requirements even though we are done with the project.