20 Dec
20Dec

     - Agile Development, is fundamentally about being flexible, iterating quickly and embracing changes. Unfortunately, agile, has become a somewhat generic and vague term, much like big data. Many companies claim to follow agile practices or use words from Agile methodology to describe their process, when in fact their workflows aren't at all agile. 

     - So let's look at what agile really means and then at specific implementations. The key principles of agile development are four. 

          + First, individuals and interactions over processes and tools.

          + Second, working software over comprehensive documentation.

          + Third, customer collaboration over contract negotiation.

          + Fourth, responding to change over following a plan.

     - For agile to be truly effective, you need to embrace the Lean Principles previously discussed, particularly building a minimum viable product rather than the fully featured product. In other words, build something small as quickly as possible, learn from it and then iterate in the next cycle.

     - Short sprints of one or two weeks, or continuous deployment are ideal with agile as they let you move quickly and get feedback. If you were to try to execute an agile process with a six month sprint, you'd encounter many of the disadvantages we listed for waterfall.

     - Like how the customer's needs might change while you're building the product, and you have no mechanism to get feedback or make changes during a sprint. 

     - Agile and Lean also lead to a breadth-first approach, where each sprinter cycle will ideally produce a useful piece of software that you can use to get feedback from customers or clients.

     - In waterfall, you're much more likely to schedule milestones, so the part of the product is deemed feature complete before moving on to another part, scheduling for depth. With agile, sprints are usually focused on getting to a very minimal but functional app initially, and then adding features to each section is needed scheduling for breadth.

     - There are many benefits to agile development, you can have higher quality and fewer bugs due to this incremental testing and correction. You can validate customer interest in the production regular intervals. And you can also build the right product for the customer delivering it at the right time.

     - There are also some downsides to agile especially for product managers. Agile workflows frequently put a lot more demands on you. Sometimes even having you handle quality assurance and bug testing, in addition to everything else that you're doing. Having more milestones may often also put additional demands on you to keep validating builds with the customers.

     - You'll need to work to find the right balance of wanting feedback, and deciding which builds to validate. Making sure a customer wants something before spending a lot of time or money is certainly a big win.

     - In an agency model, clients sometimes dislike agile because they have to be more involved in the project, consistently scheduling and prioritizing.

     - And one of the biggest criticisms of agile, however, comes from developers. If they're building something new to solve a hard problem agile's heavy focus on delivering something usable within a sprint, maybe counter to thinking deeply and working to solve hard problems. 

     - Lastly, there's a temptation that the development might be reactionary instead of truly being strategic and roadmapped. Despite various criticisms, the IT Advisory Center called the Standish Group tried 50000 projects over a four year period. 

     - And they found the success rate as defined by shipping a working product was at 39% in agile development, versus 11% with waterfall. That's a huge difference, but note that even with agile 61% of projects don't have a working product by the end. So we'll take a look at two more models and how they might be integrated and implemented.

Bình luận
* Các email sẽ không được công bố trên trang web.
I BUILT MY SITE FOR FREE USING