Wednesday, 18 July 2018

Wireframes and UML Case Design Diagrams

This week, me and the people from the London office have decided and started to create a group project where we will be creating the escalla minis for our company.

The first few meetings was the initial design of creating basic wire frames and UML Case designs, unfortunately i currently don't have a picture of the updated wire frames however on my next blog i'll get it all out on where we are.

The meetings are a joy to have with the team as we're a bunch of jolly people who like to enjoy ourselves so at times we're all throwing in ideas and debating about what would be better and what wouldn't work. I hope we can get this project completed to a high standard.


These meetings should now be reoccurring to get this project underway.

Agile Methodology


Agile Methodology

There are 6 stages to the Agile method, this will be explained below. The overall goal of each Agile method is to adapt, change and deliver working software as quickly as possible, however there are different variations on each methodology but all leading to the same goal. Each teams process flow may vary depending on the specifics project or situation.

The Agile Process Flow
1.      Concept – Projects are envisioned and prioritized

2.      Inception – Team members are identified and set tasks, all funding is put in place and initial environments and requirements are discussed.

3.      Iteration/Construction – The development team works to deliver working software based on iteration requirements and feedback

4.    Release – QA (Quality Assurance) testing, internal and external training, documentation development and final release of the software

5.    Production – On going support of the software

6.    Retirement – End of life activities, including customer notifications and moving onto the next project







Pros
Responding to change - this is considered one of the biggest advantages, agile development practices to bring development team and business to responding to changes. This method doesn’t force a set deadline for a team but must still be done within a certain time limit.
   ·         Customers get solutions to the problems they value most, sooner
   ·         Stakeholders can prioritize things in a progressive manor reflecting actual market conditions at a         given time
   ·         Developers feel valued, since they’re working on things that actually matter and will receive               frequent in-depth feedback from the very people using the product

Faster Review Cycles – The more each review is done for the project and had changes made, the more they’re done the better the quality of the project will be after each one and they’ll pick up on speed.

Greater Flexibility in releasing features – as agile methodologies have so many more reviews it allows greater flexibility with clients, allowing change requests

Cons
Lack of understanding – One of the drawbacks of agile development is that a lot of people might not understand what it means to be agile by making unsupported assumptions, by making it an agile project but not wanting to invest the time, money, or effort to actual educate management or employees about how he principles apply.

Flexibility can lead to Bad Behaviours – Another common problem, leading from a lack of formal training or understanding that can make people blame others due to issues or make dysfunctional choices made by the team.

Lack of Predictability
– Agile methodologies can potentially take 12-24 months or potentially longer as there is so set roadwork on when it should be delivered by.








WaterFall Methdologies


Waterfall Methodology

There are 7 stages to the waterfall methodology, see diagram below


Stage 1 – Requirement gathering and documentation
Gathering all possible requirements for a project on what needs to be done, and have a product requirement documents for what each set task needs to be completed before moving onto the next stage.

Stage 2 – System Design
The system will have a design built based on the analysis design of the software architecture, this defines all the schemes, models and rules.

Stage 3 – Implementation
Is the development of the software using small units with functional testing.


Stage 4- Testing
This stage integrates all the work done up until now and would test the entire system for any faults, any issues found make it very difficult to go back and fix any changes.

Step 6 – Delivery /Deployment
Making the product live after all functional and non-functional testing is completed.

Step 7- Maintenance
Fixing issues and releasing new versions via a patch


Pros

  1. Using Clear Structure
When compared with other methodologies waterfall focuses on a very clear and set goal. It uses a set of step (Explained above), team members must complete each step before moving onto the next step. If any issues occur during the testing phase projects are not going to be pushed aside as half-finished projects but leave the team with more completed and polished project.


      2.  Determines the end goals early

One of the defining steps of the waterfall is committing to an end product goal. The team should avoid deviating away from that, for small projects where’s the goals are clear this makes your team aware and less likely for getting lost in the details as the project moves forward.

            3. Transfers information well

Waterfall approach is highly methodical, when applied in a software setting, every new step involves a new group of people and though that might not be the case in other companies, they should still aim to document the information throughout whether passing projects off or passing it onto another team member. It’s easier to pick up than other methodologies.



Cons
1.     
                1. Makes changes difficult

Waterfall is based entirely on following a set of steps that keep teams always moving forward. It leaves no room for unexpected changes or revision. if you need to pivot round to fix something you’ll have to put a considerable amount of time and work to find out where to issue occurred which can throw off the entire timeline.
2.   
                2. Excludes the client and/or end user

One of the defining steps of the waterfall is committing to an end product goal. The team should avoid deviating away from that, for small projects where’s the goals are clear this makes your team aware and less likely for getting lost in the details as the project moves forward.
3.     
          3. Transfers information well

Waterfall approach is highly methodical, when applied in a software setting, every new step involves a new group of people and though that might not be the case in other companies, they should still aim to document the information throughout whether passing projects off or passing it onto another team member. It’s easier to pick up than other methodologies.

Week 5 - Methodologies

Week 5 -

This week in training we went through alot of different methodologies and learning all the difference between agile and waterfall, whilst also going through all the pros and cons for each one.

It's been quite an engaging week and generally rather enjoyed it, unfortunately i failed the exam but i believe that the next time i'll take the exam i'll ace it.

There isn't alot i can write on this week as it was very much theory based unless i go into what each methodology is and what it can do.

Personally i believe that agile is the best way forward for any methodology as it allows the customer to get involved with change requests and i believe creates a better product overall whilst waterfall makes it alot more difficult to go back and fix any issues.

I've attached 2 seperate blogs regarding what each method is and what the positives and negatives are.

P.S unfortunately at the beginning of the week my PC crashed while creating these documents and having to redo them was very unfortunate.