Difference between revisions of "Development"

From
Jump to: navigation, search
Line 14: Line 14:
 
* [http://www.metamaven.com/6-ways-machine-learning-transforms-software-development/ 6 Ways AI Transforms Software Development | Mariya Yao - MetaMaven]
 
* [http://www.metamaven.com/6-ways-machine-learning-transforms-software-development/ 6 Ways AI Transforms Software Development | Mariya Yao - MetaMaven]
 
* [http://towardsdatascience.com/machine-learning-vs-traditional-programming-c066e39b5b17 Machine Learning vs Traditional Programming | Oleksii Kharkovyna - Towards Data Science - Medium]
 
* [http://towardsdatascience.com/machine-learning-vs-traditional-programming-c066e39b5b17 Machine Learning vs Traditional Programming | Oleksii Kharkovyna - Towards Data Science - Medium]
* [http://www.infoq.com/news/2019/04/monte-carlo-agile-estimation Web-Based Monte Carlo Simulation for Agile Estimation]
 
* [http://hackernoon.com/why-ai-ml-will-shake-software-testing-up-in-2019-b3f86a30bcfa Why AI & ML Will Shake Software Testing up in 2019 | Oleksii Kharkovyna - Medium]
 
 
* [http://qcon.ai/qconai2019/track/solving-software-engineering-problems-machine-learning Track: Solving Software Engineering Problems with Machine Learning | Cyril Magnin III - QCon.ai]
 
* [http://qcon.ai/qconai2019/track/solving-software-engineering-problems-machine-learning Track: Solving Software Engineering Problems with Machine Learning | Cyril Magnin III - QCon.ai]
 
* [[Automated Machine Learning (AML) - AutoML]]
 
* [[Automated Machine Learning (AML) - AutoML]]
Line 49: Line 47:
 
* [http://content.intland.com/blog/using-artificial-intelligence-to-boost-agile/devops-efficiency?hs_amp=true Using Artificial Intelligence to Boost Agile/DevOps Efficiency | Kristof Horvath]
 
* [http://content.intland.com/blog/using-artificial-intelligence-to-boost-agile/devops-efficiency?hs_amp=true Using Artificial Intelligence to Boost Agile/DevOps Efficiency | Kristof Horvath]
 
* [http://readwrite.com/2019/05/08/ai-based-framework-for-agile-project-management/amp/ AI-Based Framework for Agile Project Management | Stephanie Donahole - ReadWrite]
 
* [http://readwrite.com/2019/05/08/ai-based-framework-for-agile-project-management/amp/ AI-Based Framework for Agile Project Management | Stephanie Donahole - ReadWrite]
 
+
* [http://www.infoq.com/news/2019/04/monte-carlo-agile-estimation Web-Based Monte Carlo Simulation for Agile Estimation]
  
 
AI has changed software development by exposing human perception, definition, and execution of programming.  ...Future programmers won’t maintain complex repositories, analyze running times or create intricate programs. They’ll collect, sanitize, label, analyze, and visualize data feeding neural networks.  [http://dzone.com/articles/9-ways-to-implement-artificial-intelligence-and-ag 9 Ways To Implement Artificial Intelligence and Agile-Powered Management in Software Development | Chandresh Patel - DZone]   
 
AI has changed software development by exposing human perception, definition, and execution of programming.  ...Future programmers won’t maintain complex repositories, analyze running times or create intricate programs. They’ll collect, sanitize, label, analyze, and visualize data feeding neural networks.  [http://dzone.com/articles/9-ways-to-implement-artificial-intelligence-and-ag 9 Ways To Implement Artificial Intelligence and Agile-Powered Management in Software Development | Chandresh Patel - DZone]   
Line 76: Line 74:
 
<youtube>1y9UH3Jkhqw</youtube>
 
<youtube>1y9UH3Jkhqw</youtube>
 
<youtube>wYcpj5sbEXw</youtube>
 
<youtube>wYcpj5sbEXw</youtube>
 +
  
 
== AIOps ==
 
== AIOps ==
Line 85: Line 84:
 
* [http://www.splunk.com/en_us/it-operations/artificial-intelligence-aiops.html AIOps: Artificial Intelligence for IT Operations, Modernize and transform IT Operations with solutions built on the only Data-to-Everything platform | splunk>]
 
* [http://www.splunk.com/en_us/it-operations/artificial-intelligence-aiops.html AIOps: Artificial Intelligence for IT Operations, Modernize and transform IT Operations with solutions built on the only Data-to-Everything platform | splunk>]
 
* [http://www.gartner.com/smarterwithgartner/how-to-get-started-with-aiops/ How to Get Started With AIOps | Susan Moore - Gartner]
 
* [http://www.gartner.com/smarterwithgartner/how-to-get-started-with-aiops/ How to Get Started With AIOps | Susan Moore - Gartner]
 +
* [http://hackernoon.com/why-ai-ml-will-shake-software-testing-up-in-2019-b3f86a30bcfa Why AI & ML Will Shake Software Testing up in 2019 | Oleksii Kharkovyna - Medium]
 
* [[Platforms: Machine Learning as a Service (MLaaS)]]
 
* [[Platforms: Machine Learning as a Service (MLaaS)]]
  
Line 96: Line 96:
 
<youtube>MSTYOOCg4bg</youtube>
 
<youtube>MSTYOOCg4bg</youtube>
 
<youtube>_KbKjux7TCM</youtube>
 
<youtube>_KbKjux7TCM</youtube>
 +
  
 
== Software Development Life Cycle (SDLC) ==
 
== Software Development Life Cycle (SDLC) ==

Revision as of 20:22, 8 December 2019

Youtube search... ...Google search

Major differences:

  1. More emphasis on information pipeline management; data collection, preparation, feature determination, and pipeline configuration management.
  2. Developing a machine learning application is more iterative and explorative process than traditional software engineering. Learning / Testing / Validation of models is an upfront task


machine_learning_flow--4j88rajonr_s600x0_q80_noupscale.png

Developing a machine learning application is even more iterative and explorative process than software engineering. Machine learning is applied on problems that are too complicated for humans to figure out (that is why we ask a computer to find a solution for us!). Differences between machine learning and software engineering | Antti Ajanki - Futurice



Agile

Youtube search... ...Google search

AI has changed software development by exposing human perception, definition, and execution of programming. ...Future programmers won’t maintain complex repositories, analyze running times or create intricate programs. They’ll collect, sanitize, label, analyze, and visualize data feeding neural networks. 9 Ways To Implement Artificial Intelligence and Agile-Powered Management in Software Development | Chandresh Patel - DZone

...Introduce machine Learning (ML) techniques into your Software Development Life Cycle (SLDC) as follows:

1. Coding Assistants: Most of a developer’s time is spent debugging code and reading the documentation. With smart coding assistants implemented using ML, developers can get quick feedback and recommendations based on the codebase, saving a lot of time. Great examples include Java’s Codota and Python’s Kite.

2. Automatic Coding Refactoring: It is important to have clean code because it makes collaboration a lot easier. Maintenance of clean code is also orders of magnitude easier than unclean code. Here's the deal; whenever an organization scales, refactoring becomes a painful necessity. With ML, it is easy to analyze code and optimize for performance by identifying potential areas for refactoring.

3. Making Strategic Decisions: A large chunk of a developer’s time is spent debating the features and products to prioritize. An AI model trained with data from past development projects can assess how applications perform, helping business leaders and engineering teams to identify methods of minimizing risk and maximizing impact.

4. Providing Precise Estimates: The profession of software development is known for exceeding budgets and timelines. To make a good estimate, it’s important to have a deep understanding of both the context and the development team. You can train an ML model using data from past projects like user stories, cost estimates, and feature definitions. This can prove very helpful in predicting effort and budget.

5. Analytics and Error Handling: Coding assistants based on ML can identify patterns in historical data and identify common errors. If the engineer makes such an error during development, the coding assistant will flag this. And that’s not all…after deployment, ML can be used to analyze logs and flag errors that can then be fixed. This makes the software developer proactive in solving errors. Who knows? Maybe in the future ML will correct software based on errors without the need for human intervention.

6. Rapid Prototyping: Converting business requirements into technology takes months at best or years to turn into technology. Today, however, ML is reducing development time by helping individuals with less technical knowledge to develop technologies.

7. Using AI for Project Planning: The human brain is an astonishingly great knowledge powerhouse. And what’s even more surprising is that we all have different cognitive abilities from one another. No two project managers will have the exact same thoughts on the same project. Enter ML. By replicating human intelligence, ML can create various permutations of a situation similar to the human brain.

8. Risk Estimation: Making informed decisions on risk estimation in software development is complex and factors in budgeting and scheduling constraints. In the beginning, healthy completion levels appear likely for every project. But here’s the kicker, when you start the project, the external environment and project interdependencies alter the probabilistic scenarios. Our limitation as humans is limited by the capacity to store and reproduce information. ML allows you to retrieve parameterized information on demand. You can train the AI model with past data of project start and end dates. This way, it will give you a realistic timeline for the current development project.

9. Project Resource Management: Delivering a software product depends on having the right people working on the project. Again, AI goes deep into the data on the history of past projects. It can give you information in real time on which developers are engaged in other projects. This makes it easy for you to know which developers are ready for deployment. Based on the ML prediction, you can either increase or reduce the number of developers.



AIOps

Youtube search... ...Google search

Machine learning capabilities give IT operations teams contextual, actionable insights to make better decisions on the job. More importantly, AIOps is an approach that transforms how systems are automated, detecting important signals from vast amounts of data and relieving the operator from the headaches of managing according to tired, outdated runbooks or policies. In the AIOps future, the environment is continually improving. The administrator can get out of the impossible business of refactoring rules and policies that are immediately outdated in today’s modern IT environment. Now that we have AI and machine learning technologies embedded into IT operations systems, the game changes drastically. AI and machine learning-enhanced automation will bridge the gap between DevOps and IT Ops teams: helping the latter solve issues faster and more accurately to keep pace with business goals and user needs. How AIOps Helps IT Operators on the Job | Ciaran Byrne - Toolbox



Software Development Life Cycle (SDLC)

Youtube search... ...Google search

  • Machine Learning (ML) for Mission Capabilities
  • Machine Learning (ML) for Development/AIOps