Showing posts with the label Engineering

Scrum Roles (Scrum Master, Product owner, Development Team) and collaboration between each other

1.                What is one service a Scrum Master provides to the Product Owner? The Scrum Master is Scrum Framework expert and responsible for its adherence in creating a successful product. As an expert, he is the coach for both product owner and development team.  Now if we talk about service a Scrum Master provides to the product owner - a product owner gets coaching from the Scrum Master especially for: •           In choosing the right product management techniques and tools •           In making product-related decisions •           In determining product management practices. 2.                Who can order the items in the Product Backlog? As per Scrum Guide, - The Product backlog is an ordered list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.  The Product Own

Psychological contract in today's business

Psychological contract (level of individual and organization): It is a form of social contract. It goes beyond work and salaries. It is implicit i.e. it is not a written contract. The working relationship is rooted in expectations, values, perceptions. It is based on social exchange theory. It means every relationship in society is based on expectations i.e. give and take. It is a Hypothetical contract. The psychological contract in an organization is social exchange interaction between employees. The psychological contract is complex. It’s mainly on building relationships. It’s about how we are treated and what we put into the job. It has to do with rewards and rights. The trade that can be seen in this case are Respect, trust, compassion, empathy. A psychological contract has the dynamic quality and it has an emotional and social impact. Types of psychological contract: Transactional: economic exchange. There is no expectation the employer will invest in your career. Relational contr

System interface questions for requirement elicitation - Business analyst/System analyst

Generic overview of questions to ask for the specification of an interface (between a system A and a system B) – Business Analyst/System Analyst   Ø Business Requirement Questions 1.      What kind of interface do you need unidirectional or bidirectional Unidirectional interface: The data will be sent in one direction by the sender to the receiver. Ex: System A sends data to System B and the receiver System B will read, process, write and store the data. In the case of bidirectional the systems are connected such that data can be sent and received by both. Ex: System A and System B can both read, process, write, and store the data within each other. 2.      What do you want to achieve with this interface? The business needs this interface to help to fulfill and provide support. 3.      The Actions Needed by you in the interface? The data is required to be Deleted (DELETE), Overridden and created (PUT), Overridden, created, appended (POST) Read the Data (GET)

Working with docker

Docker Image :  Building a Docker Image  by docker file – includes the build and all the dependencies,  Container : Running the created docker image as a container on the Docker by using run command.  Docker Daemon – The background application which manages building, running and distributing docker containers. Docker Client – The command line tool that helps to interact with docker daemon. Docker Hub : It is a registry(repository) of Docker Images similar to github repositories of branches and projectes. Hence, once a image is build, it can be pushed to the docker hub and can be pulled and run as a container. docker build -t rishoo2019/cheers2019 . docker run -it --rm rishoo2019/cheers2019 docker pull docker images – Displays all the container images present on the docker docker ps = Displays all the containers currently running docker ps -a = Displays all the containers that we ran, also there remanents docker run -it busybox sh Running the run command with the

Working with Git Repositories Using GitHub Desktop

Using GitHub Desktop Clone GitHub repository Open the GitHub Desktop application. In the file menu select clone repository. The popup modal displays the list of repositories accessible in your GitHub. Select the repository and click clone. The desktop application gives you an option to open the cloned repository in VS Code. Read More . Pull GitHub Repository (GitHub Desktop) Inside GitHub desktop to pull the changes from the origin, we set the "Current repository" to GitHub repository we want to pull changes from. Then we set the "Current branch" to "master" or else set the current branch to any specific branch we want to pull the changes from. After selecting the appropriate "Current repository" and "Current branch" we now click “Fetch Origin”. Then after the Origin Fetch has completed we go into the "repository" option in the main menu and click "Pull". This will pull the n

Opting classic row modeling or EAV data modeling?

Few of the circumstances are listed below where EAV scores over conventional tables: ·          The data type of individual attributes varies. Like in above example EAV is used because the requirements vary from client to client like some may want an extra address like added to existing address format. ·          The categories of data are numerous, growing or fluctuating, but the number of instances (records/rows) within each category is very small. Here, with conventional modeling, the database’s Entity-Relationship Diagram might have hundreds of tables: the tables that contain thousands/ millions of rows/instances are emphasized visually to the same extent as those with very few rows. The latter are candidates for conversion to an EAV representation. Other Related Links: EAV(Entity-Attribute Value) Model EAV versus Row modeling Downsides of EAV data model over class row model Opting classic row modeling or EAV data modeling?

Downsides of EAV data model over class row model

Flabbiness : Flexibility is great with EAV, but there will be no structure any longer. Typically, the reliability on the built-in database features such as referential integrity is lost. To guarantee that a column takes values only in acceptable range, integrity check needs to be coded inside the application . Inefficient queries:  In cases where one would be required to execute a simple query returning 20 columns from a single table in classic row modeling technique, in EAV one ends up with 20 self-joins, one for each column. It makes for illegible code and dreadful performance as volumes grow .  Features unavailability : Much of the machinery of modern relational databases will be unavailable and will need to be recreated by the development team. For e.g. System tables, graphic query tools, fine grained data security etc. Other standard tools are much less useful :  Cursors in database functions do not return rows of user data since the data must first be pivoted. U

EAV versus Row modeling

Following are main features/downsides EAV has over classic row modeling technique. A row-modeled table is  homogeneous. I t will always carry same type of data in contrast to  EAV modeled  table where this cannot be an issue. The data type of the value column/s in a row-modeled table is pre-determined by the nature of the facts it records. In contrast, in an EAV table, the conceptual data type of a value in a particular row depends on the attribute in that row. A Row modeling technique data increase only in one direction i.e. from Upside-down whereas in EAV data model data increase in both directions i.e. from upside down as well as from left-right. Other Related Links: EAV(Entity-Attribute Value) Model EAV versus Row modeling Downsides of EAV data model over class row model Opting classic row modeling or EAV data modeling?

Scrum a Agile Approach

Scrum is a software engineering which falls under agile software development. It consists of series of steps and predefined roles. The roles are as follows: Scrum Master is the one who manages the development process Ex: Project Manager. Team is the one who do the analysis, design, implementation, testing etc. Product Owner is one for whom the product is being developed. The scrum follows sprints (short term plans), each sprint lasts between one or four weeks. The sprint consists of set of tasks which are to be completed in a specific time frame. Before each sprint a team meeting takes place and the tasks to be completed in sprint are identified, followed by estimation of total time the each task in sprint may consume to commit. A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need (often called requirements churn), and that unpredicted challenges cannot be easily addressed in a tradition

Agile Software Development Methodology

Agile Software Development is a methodology followed in software development. In Agile software development the requirements and solutions occur through the various functional experts working towards a common goal. Agile methodology is based on iterative and incremental development. In Agile Development the task are divided into small chunks with short term planning i.e. into iterations. The iterations are usually of one to four week time frame. All iterations have individual teams working to complete the task assigned, each team follows software development life cycle.

Entity Attribute Value Model

EAV (Entity-Attribute Value) Model It is a data model to describe entities where number of attributes for the entities could be very large in amount. EAV helps us to overcome the limitations of conventional database model. Ex: Organization ‘ABC’ defines the entity ‘Address’ as: Organization ‘ABC’: Address Line1 Line2 State Country Zip                    At the same time Organization ‘XYZ’ may define ‘Address’ as: Organization ‘XYZ’: Address Line1 Line2 Line3 City State Country Zip Phone A conventional database table design (one fact per column or set of facts per row) is unsuitable for such type of data, because of: ·         the need to continually add new tables or columns whenever new facts need incorporation ·         database vendor limitations on the number of columns per table Therefore to deal with the dynamic nature of