Agile Software Development Method

by Nico / Yuwan Zhang

As a product manager or product owner , the master of agile management is inevitable  , there are many softwares and web-based systems to provide the service of agile management such as Jira , Shortcut and so on .

Achieve the value which external stakeholders focus on is depending whether the product will come to success or fail ,nowadays there are nearly 70% products failed immediately because it did not focus on the cutomers' requirements and bring the value what the external stakeholders wants .

As a product manager/owner we normally will have many detailed conversations with external stakeholders such as customers , end-users about customer experience and pain points

.After that it is our obligation to break down big ideas into manageable pieces of requirements for the team to implement them in which , one  requirement we can break down into several sprints ,because it can be more easy to be implemented by team members in accordance to KISS procedure  .

Adopt agile management in the development of information systems can relsut in high product quality , high customer satisfaction ,reduced risk ,better and faster ROI

Traditional software development methods and agile software development methods

In early 90s the software develpment method of Agile start to be introduced , adopt and inplemented in the software industry ,because TSDMs(traditional software develoment method) can not act in an agility and flexibility mode in accordance to the intense change in the market , technology ,business processes and external environment .

TSDMs are been seen as an heavyweight develoment method even though they are stable ,methodical ,straightforward at some extent, since TSDMs utilize extensive planning, codified process, rigorous reuse, heavy documentation and big design up front .

Waterfall model is one of TSDMs  ,there are 5 stages in this mode includes: planning15% , analysis15% ,design 35%, implementation 30% and maintainance 5%.

The planning phase focus on  understand why a system should be built, and how the project team will go about building it through technical, economical, and organizational feasibility analysis. The analysis phase focus on analyzing the current system, its problems, and then identifies ways to design the new system through requirements gathering. The design phase decides how the system will operate in terms of hardware, software, and network infrastructure. The implementation phase  is the actual programming. The maintenance phase on go-live, training, installation, support plan, documentation, and debugging .(Juyun Cho, Colorado State University-Pueblo,2008).

Why Agile Software Development method is most widely used method nowadays .

The reasons why nealry every software company are adopting Agile method is because it can seize the opportunities and iterate the software in agile way so that can deal with the intense change of external environment ,The principles of agile method includes :

(a)satisfy the customer through early and continuous delivery of software

(b)embrace changing requirements, even in late development cycle

(c)deliver working software frequently

(d)work daily with business people

(e)facilitate motivated people, provide them with good environment and support, and trust themassist

(f)use working software as a primary measure of progress

(g)promote sustainable development and keep sponsors, developers, and users moving at a constant pace

(h)maintain simplicity

(i)promote self-organizing teams

(j)foster inspections and adaptations.

(k)face-to-face conversation within a development team

(l)pay attention to technical excellence and good design(Juyun Cho, Colorado State University-Pueblo,2008)

Agile Development Cycle

Apply KISS(Kiss it Simple ,Sir) procedure in the development of information systems plays an significant role ,sometimes , the enermy will like to see us achieve everything in one time , however simple is ultimost sophistication , because the external environment and market shifts all the time , we achieve things step by step can help to achieve the long-term success .

The Product Backlog, is a collection of functional and non-functional requirements, which will be prioritized in accordance to the important relate to customer and business .

The Sprint Backlog, the product blacklog will be divided in to several sprint backlogs after can broke in to achievable small tasks to be assigned to the person who will work and slove on it .

At Sprint phase include Planning , Design ,Build , Test and release five stages .

Stages of Agile Management

The objective to adopt the agile management method is to shortne the development cycles and increase the frequency of releasement , in which case can enhance customer satisfaction and product quanlity and reduce risk . There are 6 stages in this method , include :

(a) Project Planning , in this step to make sure every member of agile team understand the value the product wanna to deliver , and requirements of customers and end-users .Following ,the requirements will be divided in to various sprints to accomplish it in an iteration mode .

(b) Roadmap Creation , roadmap is a list shows all the features and functions the product will finally achieve ,it is a bridge connect between the short-term efforts and the long-term goal.The iteration of roadmap need depend on the feedbacks and new needs of external stakeholders.The agile team use roadmap to make every member on the same page

(c) Release Planning , without plan the best product is nothing , release planning help team members have an overview when the versions can be released or delivered to enhance the organization performance and effeciency.

(d) Sprint Planning , to make sure every team member will be assigned the tasks before the beginning of sprint and know what and how the work will be achieved  ,sprint planning is limitted to 8 hours in which case result in transparency , productivity , effectiveness and effeciency.

(e) Daily/weekly Meeting , to help the team do the work in an effective manner , during this meeting every member needs to share what they have been done and what they will do .Effective meeting can enhance team performance .

(f) Spring Review&Retrospective , not only the product itself need iterate but also the agile team .Spring review can make sure the product always meet the customer requirements and expectations ,in addition , spring retrospective can make agile team faster , smarter ,more effective .

The most famous agile frameworks

Until now , there are many frameworks can be applied to implement agile ,such as :

(a) Kanban Framework , every work process ,activity and item will be displayed at the Kankan Board , so that every team member knows where we are and every stage of each work at any time , This framework required real-time communication .

(b) Scrum Framework , scrum help people who have different personalities , backgrounds work together ,especially help to deal with complex problems and provide high-quality product . Thus, different kind of teams can apply this scrum framework not just for software development teams .

(c) Hybrid Framework , mixed with agile methods and non-agile methods , thus hybrid can bear with the intense change of requirements of customers through deliver products in stages .In this framwork , planning design through waterfall approach .

(d) Lean Framework ,  Lean methodology is not a new concept, but its modern application to business is constantly evolving. Before Lean was known as a business methodology,Lean methodology is a way of optimizing the people, resources, effort, and energy of your organization toward creating value for the customer. It is based on two guiding tenets, continuous improvement and respect for people(Rachaelle Lynn).Lean focus more on people and products than technologies and it can bear with the changing customer requirements .

In conclusion ,Agile software development methods were developed to provide more customer satisfaction, to shorten the development life cycle, to reduce the bug rates, and to accommodate changing business requirements during the development process.(Juyun Cho, Colorado State University-Pueblo,2008)

References

Simplilearn (2020)Agile Project Management Tutorial | What Is Agile Project Management? | Simplilearn, available from https://www.youtube.com/watch?v=thsFsPnUHRA

Juyun Cho, Colorado State University-Pueblo,(2008) ,ISSUES AND CHALLENGES OF AGILE SOFTWARE DEVELOPMENT WITH SCRUM ,188-195

你可能感兴趣的:(Agile Software Development Method)