Teamwork where ‘we’ work

Teamwork can be likened to two compounds, almost essential to modern life. It’s the glue which keeps a team together, a bond which promotes strength, unity, reliability and support.

The office that I work in is open plan with various sections of the IT department spread across 3 floors. This has brought a strong feeling of ‘one team’ as we are able to see and speak face-to-face with other teams on a daily basis.

Features

Morning Conference

Every morning, the team and I have a morning conference call using Skype. During this morning call we discuss any major or minor updates. The call is organised by one of the team members, who ensures that everyone has a chance to speak in turn. The calls gives a chance for everyone to share what their day will consist of and ensure everyone has the sufficient resources and knowledge to carry out their duties. As well as this, the call also allows the manager to inform everyone missing, perhaps due to sickness or annual leave. This allows someone else to take over their daily duties for the day, or to assist to ensure deadlines are met.

Knowledge Sharing

Knowledge sharing is an important activity for my team. With duties always piling up for those more experienced, it is important that they share their knowledge of how to carry out certain important tasks, so that they can be dealt with during busier times where complicated tasks are required to be carried out. It also allows dependability, which means one person isnt worried all the time.

Tools

Skype for business

Much of the communication within my workplace happen via Skype, either through IM Messaging or voice and video conferencing. In spite of my team being separated by at least 300 miles from each other it seems like we were sitting together in one room.

Office365

This is a vital tool which allows staff to share information and resources all stored via the cloud, this allows effective communication as well.

Teamwork is also the oil that makes the team work. It can enable smoother movement towards targets, can prolong forward momentum, and can help teams to overcome obstacles.

 

What is Prince 2?

Intro into Prince 2

PRINCE2® (Projects in a Controlled Environment) is a structured project management method that can be applied regardless of project scale, type, organisation, geography or culture. It is one of the most widely accepted methods for managing projects worldwide.

Overview of processes and how they map to generic SDLC

  • Starting up a project (SU)
  • Initiating a project (IP)
  • Directing a project (DP)
  • Controlling a stage (CS)
  • Managing product delivery (MP)
  • Managing stage boundaries (SB)
  • Closing a project (CP)
  • Project brief.

Very similar to generic software development waterfall life cycle. Here is how I believe Prince to maps out with general SDLC.

  • Feasibility study – Starting up a project (SU)
  • Requirements engineering – Initiating a project (IP) and Planning (PL)
  • Design – Initiating a project (IP) and Planning (PL)
  • Development – Directing a project (DP), Managing stage boundaries (SB) and Managing product delivery (MP)
  • Testing – Controlling a stage (CS) and Directing a project (DP)
  • Implementation – Managing product delivery (MP) and Closing a project (CP)

Roles and Responsibilities

  • Project board, a group of the following roles:
    • Executive, the business-oriented person who’s ultimately responsible for the project
    • Senior User, one or more people who represent the final users’ requirements in the board
    • Senior Supplier, one or more people who represent the interests of the suppliers
  • Project Assurance, assures the interests of the primary stakeholders
  • Change Authority, decides on some of the request for changes in behalf of the Project Board
  • Project Manager, responsible for the day to day management of the project in behalf of the Project Board
  • Project Support, helps the Project Manager in project management activities
  • Team Manager, one or more people responsible for ensuring the quality and other variables of production in the teams

Advantages and Disadvantages

Advantages of Prince2 are:

  • Controlled project time scale – start, middle and end
  • Frequent review process to ensure that aims and objectives are met
  • Any diversion from the original plan is controlled by management
  • Management and stakeholders are involved throughout the project
  • Clear communication between all those involved

Disadvantages of Prince2 are:

  • A view of the approach being bureaucratic due to the heavy control from the Project Board
  • Not much room for flexibility
  • A complex approach which requires managers to complete Prince training
  • Vast amount of documentation needed throughout the project

 

SDLC Roles and Responsibilities

As I mention in my previously, my workplace operates generally using the waterfall method, in this post I will give a more detailed description of what each role entails within the software development lifecycle here.

Roles

  • Sponsor – Sponsors for the project and business case. The project executive.

Duties include but are not limited to;

  • Ensuring that the business need is valid and correctly prioritised
  • Ensuring that the project is properly launched
  • Ensuring that the project remains a viable business proposition
  • Ensuring changes to the project are properly managed
  • Ensuring risks are managed

Involved in; Feasibility Study

  • Project Manager – Manages the project.

Duties include but are not limited to;

  • Determine objectives, schedule and resource budgets
  • Design a software project management plan (SPMP)
  • Create and sustain focused and motivated teams
  • Timing and budgeting
  • Monitor performance against the plan
  • Resolve technical conflicts and interpersonal conflicts
  • Report on project activities to upper management

     

Involved in; All stages of the project

  • Technical Coordinator – Accountable for the technical solution design. Lead architect, accountable for compliance with design authority and associated standards. 
    • Involved in; Feasibility Study, Development
  •  Improvement Champion – Champions and delivers business change. Supports the business sponsor. Fully engaged in the business from consultation to implementation.
  • Team Leader – Leads the delivery team.
  • Business Ambassador – Fully engaged in the project from requirements through to live operation

Involved in; Requirements Engineering, Feasability Study

  • Business Adviser – Advises and contributes on subject matter topics

Involved in; Requirements Engineering

  • Business  Analyst – Develop and design business process.
    • Requirements analysis and capture
    • Resource estimation and planning
    • Requirements validation (including scope, documenting assumptions and exclusions)
    • Separation of functional and non-functional requirements
    • Specification development
      Involved in; Feasibility Study, Requirements Engineering
  • Business Tester – Tests the solution, making sure that it works as desired from the perspective of those who will use the solution.
    • Analyzing client requirement
    • Understand the software application being tested
    • Prepare test strategy
    • Participating in test plan preparation
    • Preparing test scenarios
  • Solution Adviser – Advises and contributes on subject matter topics and specialist domain design

Involved in; All stages

  • Solution Developer – Develops and designs the solution under the direction of the technical and business readiness
    • choose development language and tools
    • methods for debugging
    • measure performance
    • ensuring that the code fits with the design

Involved in; Development, Testing, Implementation

  • Solution Tester – Tests the delivered solution based on the technical, functional and non-functional requirements
    • measure performance
    • ensuring that the code fits with the design

Involved in; Testing

  • Improvement Facilitator – Provides neutral facilitation
  • Service Manager(s) – Run and improve the delivered solution

 

 

Business Roles

Technical Roles

Project Roles

Software Development Lifecycles

The main stages of systems development

The systems development life cycle is a framework describing a process for understanding, planning, building, testing and deploying an information system. Generally, the main stages consist of;

  1. Feasibility Study
  2. Requirements Engineering
  3. Design
  4. Development (Programming)
  5. Testing
  6. Implementation

System development can either follow a linear or evolutionary approach. Within the two approaches are five basic system development lifecycles;

  • Waterfall
  • ‘V’ Model
  • Incremental
  • Iterative
  • Spiral

At my workplace

My workplace follows the waterfall lifecycle. The waterfall lifecycle follows the linear approach.

Linear approaches follow the SLDC stages in a defined order. Each step must be completed, understood and agreed before the next step can be started.

The principles behind Waterfall  lifecycle is that each step must be completed before the next. So the feasibility study must be completed before the requirements engineering can be started, and the requirements engineering must be completed before he design can be stared and so on.

The route taken at my workplace is as follows;

  1. A proposal is brought forward and it is routed to the sponsor
  2.  A feasibility study is carried out to see whether it would fit in the roadmap, if so it would be placed on the roadmap
  3. Shape and plan the project
  4. Design
  5. Build
  6. Validation
  7. Testing
  8. Deliver (Service Acceptance and Go live)
  9. End of project Review – Reviews lessons learned and ensures the benefits plan is in place

Benefits and Weaknesses of the linear approach and the waterfall cycle

Benefits

  • Good for breaking down problems into distinct stages, each with a clear purpose
    • Good for developing systems where the requirements and likely solution are well understood and are unlikely to change
  • This model is simple and easy to understand and use.
  • It is easy to manage due to the rigidity of the model – each phase has specific deliverable and a review process.

Weaknesses

  • Doesn’t cope well with changing requirements
  • If the project is stopped early there is little of business value to show for cost
  • Poor estimation can severely impact project cost and schedule
  • Depends greatly on each stage being done properly, as it is hard or impossible to go back and change it later

Roles

  • Sponsor – Sponsors for the project and business case. The project executive.
    • Project Manager – Manages the project.
    • Technical Coordinator – Accountable for the technical solution design. Lead architect, accountable for compliance with design authority and associated standards.
    •  Improvement Champion – Champions and delivers business change. Supports the business sponsor. Fully engaged in the business from consultation to implementation.
      • Team Leader – Leads the delivery team.
        • Business Ambassador – Fully engaged in the project from requirements through to live operation
        • Business Adviser – Advises and contributes on subject matter topics
        • Business  Analyst – Develop and design business process.
        • Business Tests – Tests the solution, making sure that it works as desired from the perspective of those who will use the solution.
        • Solution Adviser – Advises and contributes on subject matter topics and specialist domain design
        • Solution Developer – Develops and designs the solution under the direction of the technical and business readiness
        • Solution Tester – Tests the delivered solution based on the technical, functional and non-functional requirements
        • Improvement Facilitator – Provides neutral facilitation
      • Service Manager(s) – Run and improve the delivered solution

Business Roles

Technical Roles

Project Roles

Continue reading “Software Development Lifecycles”

Creating my Github Website

Welcome to my First Post!

Firstly I needed to create a repository, which is a basically a file in which all the web pages would be created on. I did this by;

  1. going to Github.com
  2. pressing “create repository”
  3. entering my username
  4. then copying the https address to the terminal in my raspberry pi (this is to clone the repository to my raspberry pi, in order to use the terminal and gedit to edit it)
  5. I entered the the weblink in front of the words “gif clone”
  6. then entering my username in front of “cd”

While this process was going on I was installing gedit on my computer.

I also searched and found a HTML template to use for my site, I used “Lens” from HTMLUP.

The steps I took to save versions of my website through Terminal are:

  • git add .
  • git commit -m “your message”
  • git push (username) (password)

As my website was mainly visual, I needed to change the photos. I changed the photos on my website by putting the photos in the folders for images, within the repository. I only had to do this for the thumbnails as the slide pictures appeared through javascript which the author of the template included. Originally there were 12 images but I reduced to 4 by removing the html code for the other 8. Quite simple.

I also editted the social media buttons, the template used font awesome, which means all I had to do was find the name of the social media site I wanted and change it in the html and the icon would automatically change.

And the main thing which was editting the text was fairly simple, I changed the default text in HTML to whatever I wanted, all fairly simple.

One of the challenges I faced, which I will try to better the next time will be; changes to the images so the website looked more sleek and fitted.

Thats all for now, but I am loving the site and my main photo, and I hope you all appreciate it too!!!