Monday, May 13, 2019

Myths about Agile Software Development

Myths about Agile Software Development

Myths about Agile Software Development
Agile software development is a popular topic of discussion for many businesses. Agile methodology can be defined as a software development methodology, which helps the software developers in their process. Though it is a software development methodology, but it is used not only by the software developers but by project managers, team leaders, development managers, product managers, technical writers, QA engineers and managers engaged in delivering software to their organizations. With Agile methods, a company can get the true feedback from customer end for the better improvement of the project. As such, there tends to be a lot of hype surrounding it and thus, misconceptions abound. Here are some common myths about Agile software development:
Agile MythsAgile development’s primary goal is speed, to churn out applications quickly – Speed comes secondary to quality. To continuously deliver software that provides value at regular intervals, good quality assurance practices must be part of the process.While a transformation to agile can deliver huge benefits, the reality is that the majority of transformations go through a learning curve. While people and organisations are learning, the delivery capability can actually go downwards before it makes the step-change upwards and begins to achieve the improved delivery capability
  • Agile doesn’t work for fixed deadline projects – Quite the contrary, it works best in fixed deadline projects. As long as there is an overall understanding of what “Agile” is.   Ensure that all decisions and processes adhere to or support the Agile Manifesto and at least one of the 12 Agile Principles. From a Scrum perspective, you can have a fixed duration (target date, time-boxed sprints), fixed quality (meet DoD), and fixed cost (# of Scrum Team(s) members, operational expenses, etc.).
  • Agile requires that stakeholders and developers work in a single location – Whereas, Agile emphasizes heavy stakeholder involvement throughout a development effort. As a result, many assume that team members must all work in the same location for Agile to be successful. With modern technology, this is no longer the case. Teleconferencing systems can facilitate daily meetings among far-flung workers. Likewise, screen-sharing tools often prove effective for impromptu meetings between two colleagues. Bottom line: It’s real-time communication and collaboration that matter, not where or how they occur.
  • Agile means no planning – Every project needs a plan for success. In Agile, the long-term plan is divided into different stages that are reviewed regularly. Some upfront planning is required for Agile development projects and should include details such as development principles, an estimate of the work and tasks involved, priorities, and overall budget to act as a guide for decisions during development. The key here is that it is a “guide” and open to change rather than a rigid plan. Planning continues throughout development and is the work of everyone involved.
  • Agile needs no architect or project management – Agile projects need a manager who doesn’t just tell you what to do because Agile methodologies are self-managing. However, that manager will keep track of your work to give the feedback to upper management. Agile is commonly combined with Scrum to provide the needed structure and control points in the development process. Software is complex, so you need ideas from different people in order for the project to run smoothly. The manager will help you with this.
  • Agile requires a lot of rework – Rework comes in two forms on an Agile project. You’ve got the rework of requirements – customers discovering what they really want. And you’ve got the rework of the software – development teams discover better ways to design the software. Both need to be balanced and tempered. Just as business can’t indefinitely keep changing their mind, development teams can’t forever keep redesigning the software.
  • In Agile, individual developers get to do what they want – No, developers do not get to do what they like. If this is true for you then you are doing it wrong. Agile needs well-disciplined teams. What gets done should be lead from a specific role, usually designated the customer or product owner. If developers are doing what they like then there is a good chance something is wrong with that role, the person playing it, or the authority vested in it. Agile requires the development team work together and be disciplined. What gets done and when is lead from a designated role and agreed upon by the team. It seems that the business-side sometimes feel as if developers get to do what they like because they fail to grasp the nature of agile, which is a collaborative process they involve discussion and negotiation between those who are building the system and those who requested the system.
  • Agile requires no Documentation or documentation is bad! – Agile works on comprehensive documentation as per its methodology. But if you required a document that is useful for you and another team member, then there will be no excuse for not producing them for the benefit of multiple people. So yes, you can produce them, because it will help you in the iteration. When there are distributed development teams or a high rate or turnover in teams, key knowledge needs to be documented to supplement face to face communication. Documenting key decisions and rationale also helps teams from repeating mistakes. The key to documentation is that it needs to be created when truly needed and contain details that will be used going forward.
  • Agile Only Works for Developers and Software -It is true that the Agile Manifesto describes agile in the context of software delivery, but agile can be applied successfully in business environments that are not exclusively software-related. In essence, agile is suited to any dynamic business environment that experiences variability, such as marketing or business change.
  • Scrum and Kanban are sworn enemies – Some individuals get a lot of eyeballs by saying that Scrum and Kanban are sworn enemies. Actually speaking many teams are combining ideas from the iterative methods(Scrum and XP) with ideas from Kanban.
  • Agile only works with small projects – The Reality is the Agile team model—small, cross-functional groups that collaborate throughout the development process—proves equally effective on small, point solution projects and larger multifaceted efforts to develop complex systems. The tendency of Agile teams to “divide and conquer” can be particularly beneficial on large projects: Organizing solution teams by system functionality and/or architectural components can help minimize redundancy during development. For example, a scrum of scrums meeting—in which scrum teams discuss their work, specifically areas of overlap and integration—is an important technique in scaling scrum to larger project teams.
  • Realizing the benefits of Agile only takes a couple months – New to Agile development teams often take years, not months, to fully implement Agile in an organization.
  • Claiming to be Agile When You’re Clearly Not – Simply collaborating or paying attention to quality does not mean that you’re doing Agile. If you are not able to adhere to all the principles of Agile, then you are not doing Agile.
  • Implementation of Agile is not easy – It is usually not easy to change a complex systems delivery lifecycle to a simple one. Organizations normally find it easier to make things more complex than to simplify them. Sadly, what happens in some organizations is that they try to implement an agile operating model or a single agile framework “by the book” and without understanding the transformational complexity. Therefore, they either fail to implement agile, or they do achieve some success but at significantly higher cost and pain than they would have done if they had managed the transformation more effectively.  Such organizations inevitably fail to achieve the true benefits of agile. You can theoretically learn to fly a plane by reading a book, but don’t expect one to sit next to you on your first take-off!
Conclusion: As you can see, these common myths can cause help for anyone trying to implement agile in their company. But if you recognize this by keeping the above information in mind, your chances of getting better results with agile will significantly improve.
Do let us know your comments if you did you knock into any of the myths above?

Tuesday, May 7, 2019

Blockchain and Cryptocurrency

Blockchain and Cryptocurrency

With the advent of new internet technology, Blockchain, an assured build-up has sprung up about it. This is, possibly, for the reason that it is so cool to visualize high-level use circumstances for better prospects. Over the past few years a lot have been researched about the technology and myriad tests to check its suitability for a lot of scenarios have been conducted. A lot of people have started investing in it and the process has become a lot easier with so many start-ups present across the globe. Before moving ahead, let us understand what is Blockchain?
Blockchain, a collaborative technology is one kind of scattered record, in which a lot of computers build a mounting list, or chain, of time-stamped trades, which cannot be transformed. Each and every fresh transaction is added as a block to the chain. Blockchain is fascinating for a lot of consumers for the reason that it offers a certifiable, undeniable and open record. But the question arises; do we actually want Blockchain for the cryptocurrency revolution or is there more to it other than currencies?
Blockchain technology provides a lot of new tools for validation and approval in the digital domain that rule out the necessity for a lot of integrated administrators. Consequently, it facilitates the formation of new digital interactions. Case in point, below the uproar of the cryptocurrency uprising, a silent conversation is taking place around the central theory of cryptocurrency, bitcoin that uses Blockchain technology. But, beneath the uproar of the cryptocurrency revolution, though Blockchain makes it a prodigious foundation for a cryptocurrency, but there is more to it.
The working of Blockchain and the myriad benefits explained
Nodes, a huge network of computers help in running a Blockchain. These networks of computers authenticate and record transaction information on the network by resolving difficult mathematical set of rules. These nodes comprise of a comprehensive past of transactions, as a result, if one tries to modify a record against the will too, the complete network would recognize and discard the modifications. This can be understood with the help of a diagram shown below:
Blockchain and CryptocurrencyFig 1: The working of Blockchain
Put simply, a Blockchain is a digital set of accounts that are connected together by means of cryptography. For this very reason, there is a little exposure to deception, as it eliminates the need of providing a distributed, trust less ledger system, and offering myriad benefits, such as:
  • The procedure of account handling and data transfer is pretty easy as the authentications of the transactions are in-built into a Blockchain arrangement. This eliminates the process of long approvals and daunting checks of the transactions.
  • Removal of the intermediary curtails the procedure of transactions and data transfer. Validations are inherently built into a Blockchain system, so there’s no need for extended approvals or complicated record checks across a peer-to-peer network.
  • The best part of using this arrangement it does not pull the string of your wallet, the cost of running a Blockchain is feasible.
  • What is more, accuracy is spot on as during the process the mathematical calculations get validated, hence there are minimal chances of occurrence of human fraud or error.

Myriad possibilities of Blockchain

With the entire din about Blockchain most of us have no clue what it is and in what way it works to revel in the profits that it takes along. The overview of Blockchain technology presents the prospect to transform by what means the sharing economy works. Though a lot of cryptocurrencies are there in the market, the Block chain technology behind these cryptocurrencies can be used for a horde of non-currency resolutions. From ride-sharing facilities, voting use cases to cloud storage, specialists and administrators are using this technology to develop everything.  Let us understand the broader horizon of this modest transaction ledger.
As we all know that Cryptocurrencies like Bitcoin bank on Blockchain for transactions. Though a lot many people are excited about cryptocurrencies such as: Bitcoin; the influence of Blockchain technology behind it seems more exciting and beneficial. Up till now Blockchain goes beyond cryptocurrencies and presents a lot of answers that are expected to mess up many industries with some thoughtful consequences. Further than currency, the Blockchain technology can influence transportation and contracts giving rise to diverse use cases or scenarios. These use cases streamline the processes making life much easier and improved. It definitely extracts all its difficulty from its users to accomplish mass implementation.
Put simply, in a humble abstract evaluation, Blockchain can be considered as a machine that can be used in a lot of vehicles, airplanes, pulleys and staircases. For this very reason, Blockchain companies are launching in the world over, as the use of it is not essentially limited to online currencies. It can be used in any stock link to ensure legitimacy of a particular product. Hence, it is pretty clear that the Blockchain is creating steps into diverse businesses outside of cryptocurrency.
Certainly, Cryptocurrency is not the yet to come leeway, however Blockchain is probable to be
If the commoners are displaying concern in Blockchain technology, does that mean that they should start investing in cryptocurrency? Though cryptocurrency is a unique concept, but it has its downside too. If it is not well structured it can be used for money laundering and supplementary uses that does not suit the organizations. As a result, it is not recommended to completely embrace it, from this time the financial institutions and the government are looking at parts of the Blockchain technology. Blockchain would be able to resolve this problem of forging money and bringing transparency in doing the money transactions. Blockchain definitely has a broader horizon and has a huge role to play, but then again not essentially limited to cryptocurrency. Blockchain technology has an edge, as a lot of use cases can be made, and one can learn from these uses cases or various scenarios. Despite the fact that Bitcoin encountered uncertainty from banking spheres, the fundamental Blockchain technology is proficient of transforming just about any transaction all the way through. Universally, most banks have some Blockchain project going at the moment, and it. These days, most banks consider Blockchain as an expertise edge, to be applied by the technology group. As a matter of fact, it is immensely significant to financial trade. Until the banks become conscious of that, financial institutions will go nowhere with the circulated record.

Conclusion

In point of fact, Blockchain uses distributed ledger system to link bits of data by means of cryptography; hence it reduces the costs involved and leads to quicker procedures and greater data accuracy. As compared to traditional internal investments it definitely offers higher returns for each investment, it might help in getting rid of the fake currency grey market and a parallel economy which is running. When all the transactions are going digital in this day and age, it is not infeasible to contemplate that digital currencies will be the directive of the day sometime into future. As a final point, financial firms are using it to the fullest, as it gets rid of the necessity for intermediaries in transactions which leads to quicker procedures, reduced costs, and better data precision. For this very reason, more companies, in addition to fixed consumers, are starting to select Blockchain as it is offering answers for a more safe and trustworthy communication. However, it is suggested that the threat aspects and other controlling features must be driven out before arriving at an assumption on the approval of Blockchain globally.
To sum up, though we still are not acquainted with the complete restrictions and potentials of Blockchain, we can roughly say that the use cases that have been approved after review have all been about handling and safeguarding digital associations as measure of a system of record.

Friday, May 3, 2019

What are SharePoint Hub Sites?

What are SharePoint Hub Sites?

Microsoft created hub sites as a new site template and capability set within SharePoint for Office 365. The intent behind a hub site is to help organizations add structure, aggregate news, search across sites, and organize what normally would be a disconnected ecosystem of collaboration sites. Hub sites are the newest intranet building block in Office 365. They are now available to all Office 365 customers, including enterprise, education, and government. In the new flat world of modern SharePoint, each unit of work gets a separate site collection.
SharePoint administrators determine how many hub sites can be created in your organization and who can associate sites with each hub site. Sites associated with a SharePoint hub site will have a hub site navigation bar added to the top of the site and the look of the site will be changed to match that of the hub site.

SharePoint Hub Site Features

Once a hub is created, the following features are enabled:
  • Persistent cross-site global navigation
  • News roll-ups
  • Activity and site feeds
  • A consistent logo and theme can be applied to the hub and extended across all associated sites.
  • Search is tailored
Hub sites help optimize navigation and aggregate news and activity. They don’t modify permissions across sites, you still need to have an active focus and strategy to make sure any content remains secure.

Why use them?

  • Hub sites provide a simple way to organize your collections of team sites
  • Hub sites will provide a better navigation experience for end users
  • Hub sites can improve your internal communication
  • Hub sites will help people Search for important content

Conclusion:

Microsoft SharePoint Hub Site is an excellent tool for developing sites in SharePoint intranet. It helps organizations to share, collate and retrieve information in a robust way. Built on a sturdy Microsoft technology, it is an ideal solution for businesses having a significant investment in Microsoft technologies as they can have support for their hub sites via a shared infrastructure.