Showing posts with label delivery. Show all posts
Showing posts with label delivery. Show all posts

Monday, August 19, 2019

Do you analyze your requirements right?



Clear requirements is the key in any software development project. When you requirements clear, implementation is much easier and you don't usually find blockers since you can always reach for different mediums for help. Comparatively gathering and analysis of requirements is always hard since there is no one defined way unlike development. Effective requirements analysis is important therefore.

Complexity of clear requirements becomes more challenging in offshore development, where development team does not directly involve with end users or product owners day to day. This interaction is limited to workshops, conference calls and issue management system. Sometimes a development team member is placed onsite for better analysis of the situation which is effective but comes with a cost and frequent workshops also comes with different limitations.

With the time, requirements analysis has becomes matured and some techniques has becomes more handy and useful for getting requirements. 

Workshops are important!

Workshops is the way you can directly involve with the customer. This direct communication is way more effective since you can clarify whatever the problems you have easily. Workshops are important to make the bond with the customers as well as the customer to know you. 

Main outcome of  the workshop should be better requirements. there are many techniques for making this smooth and effective. It is always better to communicate with the customer before of what techniques going to be used so they can also be prepared. Understand which techniques will add more value for getting them and prepare accordingly. 

Brainstorming is traditional but a very effective technique for requirements elicitation. This is not a new concept but sticking to a time frame is important so workshop can cover everything it needs. Interviews with end users comes in handy so your designers can understand how the actual user thinks and give the user experience as necessary. 

One key thing is to have a basic prototype screens designed as sketches given, communicated and cleared out. This is where lot of inputs suggestions arguments comes into play and clarified.

Once again time is important.



Get the most out of workshops 


When you have a onsite development team this a good chance to sync-up and clarify on technical side as well. 

Workshop is point to define a clear process framework between all parties. After all you don't meet your client everyday and you communicate and trace things through issue tracking systems. So finalizing a better process is always important for smooth running of a project.

Planning your milestones are important and it is very important to discuss these and have a clear targets across. Feasibility of the deliveries comes into play and this is major point to clarify any blockers and mainly to clearing them out.

Image Credits: https://securityintelligence.com/

Monday, March 10, 2014

The Comparison of Continuous Integration, Deployment and the Delivery


What appears in title seems familiar? It should because these are the concepts (or you can say techniques) we use to deliver our products to stakeholders. Even though Continuous Delivery, Continuous Integration and Continuous Deployment are the buzzwords today most people often misunderstands the difference among each. 

First we'll look at what each of these are,..

Continuous Integration

Requires developers to integrate code into a shared repository or branch frequently. Each check-in of code is verified by an automated build. The idea here is to detect problems early.

Advantages

  • Detect issues early and address them
  • No more long integration processes
  • Quick stakeholder feed backs
  • You can make sure your product is stable

Continuous Delivery

This is deploying into a environment but to a set of users which can be QA or some customers for continual review and inspection. This is somewhat similar to Continuous integration but this can feed business logic tests which cannot be automated always. Continuous delivery ensures that the product is always in release-ready state.

Continuous Deployment

Deployment or release the code to production environment as soon as its ready. Any testing is done prior to merging and in a production like environment. This should be a automated process where anyone could do it.

After a deploy logs must be inspected to detect if the key metrics are affected (such as response time). See how Atlassian do continuous deployment.

http://guides.beanstalkapp.com/deployments/best-practices.html

References


image credit : qubiz.com

Saturday, May 1, 2010

Introduction to Testing


Testing is a mechanism we use to evaluate whether the software we are developing satisfies the specified requirements. Testing is a very broad subject. Here we'll just look in to some high level overview of what it is.


Types of testing

  • Manual testing
    • Takes the role of an end user and checks for unexpected behavior 
    • There are few levels like unit testing, integration testing, system testing and user acceptance testing
    • Uses test plan, test cases or test scenarios to test
  • Automation testing
    • Also known as Test Automation
    • Testers writes scripts and use other software to do testing
    • Rerun test scenarios quickly and repeatedly
    • Use tools like Selenium, VS Test Professional, IBM Rationale function tester

Testing methods

  • Black box 
    • Without having any knowledge of interior workings of the application (UI level)
  • White box
    • Detailed investigation of internal logic
  • Grey box
    • Testing with limited knowledg
Powered by Blogger.


Software Architect at Surge Global/ Certified Scrum Master

Experienced in Product Design, Software Engineering, Team management and Practicing Agile methodologies.

Search This Blog

Facebook